nl::Weave::WeaveServerBase

#include <src/lib/core/WeaveServerBase.h>

一个通用的基本对象,用于实现 Weave 配置文件免请求响应程序(服务器),用于封装验证过的请求和发送状态报告,并为结构状态和广告交易平台管理器提供通用的数据成员存储空间。

摘要

继承

Direct Known Subclasses:
nl::Weave::Profiles::DeviceControl::DeviceControlServernl::Weave::Profiles::DeviceDescription::DeviceDescriptionServernl::Weave::Profiles::Echo_Next::WeaveEchoServernl::Weave::Profiles::FabricProvisioning::FabricProvisioningServernl::Weave::Profiles::Heartbeat::WeaveHeartbeatReceivernl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningServernl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningServernl::Weave::Profiles::TokenPairing::TokenPairingServernl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingServernl::Weave::Profiles::WeaveEchoServer

公共属性

ExchangeMgr
[只读] 广告交易平台管理员对象
FabricState
[只读] Fabric 状态对象

公共静态函数

SendStatusReport(ExchangeContext *ec, uint32_t statusProfileId, uint16_t statusCode, WEAVE_ERROR sysError)
向指定广告交易平台上的发起者发送带有默认消息标记的 Weave 状态报告,其中包含指定个人资料中的状态代码和系统错误。
SendStatusReport(ExchangeContext *ec, uint32_t statusProfileId, uint16_t statusCode, WEAVE_ERROR sysError, uint16_t sendFlags)
向指定广告交易平台上的发起者发送带有所提供消息标记的 Weave 状态报告,其中包含指定个人资料中的状态代码和系统错误。

受保护的函数

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, WeaveServerDelegateBase *delegate)
bool
确定是应该接受还是舍弃发送给 Weave 服务器的传入请求消息。
WeaveServerBase(void)

公共属性

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[只读] 广告交易平台管理员对象

FabricState

WeaveFabricState * FabricState

[只读] Fabric 状态对象

公共静态函数

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *ec,
  uint32_t statusProfileId,
  uint16_t statusCode,
  WEAVE_ERROR sysError
)

向指定广告交易平台上的发起者发送带有默认消息标记的 Weave 状态报告,其中包含指定个人资料中的状态代码和系统错误。

具体说明
参数
[in] ec
指向用于发送状态报告的广告交易平台上下文的指针。
[in] statusProfileId
指定状态代码对应的配置文件。
[in] statusCode
要发送的状态代码。
[in] sysError
与状态代码关联或关联的系统错误。

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *ec,
  uint32_t statusProfileId,
  uint16_t statusCode,
  WEAVE_ERROR sysError,
  uint16_t sendFlags
)

向指定广告交易平台上的发起者发送带有所提供消息标记的 Weave 状态报告,其中包含指定个人资料中的状态代码和系统错误。

具体说明
参数
[in] ec
指向用于发送状态报告的广告交易平台上下文的指针。
[in] statusProfileId
指定状态代码对应的配置文件。
[in] statusCode
要发送的状态代码。
[in] sysError
与状态代码关联或关联的系统错误。
[in] sendFlags
由应用为要发送的 Weave 状态报告设置的标志。

受保护的函数

EnforceAccessControl

bool EnforceAccessControl(
  ExchangeContext *ec,
  uint32_t msgProfileId,
  uint8_t msgType,
  const WeaveMessageInfo *msgInfo,
  WeaveServerDelegateBase *delegate
)

确定是应该接受还是舍弃发送给 Weave 服务器的传入请求消息。

此方法旨在供 Weave 服务器实现用于为传入请求消息实现可扩展的访问控制政策。依赖委托对象的服务器实现应在消息处理过程中尽早调用此方法,以确定是否应继续处理消息。

此方法会对提供的委托调用虚拟 WeaveServerDelegateBase::EnforceAccessControl() 方法,以评估消息的访问控制策略。Weave 服务器委托类以及从标准服务器类派生的应用专用委托应覆盖虚拟方法,以强制执行特定的访问控制政策。

具体说明
参数
[in] ec
接收邮件的 ExchangeContext
[in] msgProfileId
所收到消息的个人资料 ID。
[in] msgType
所收到消息的消息类型。
[in] msgInfo
WeaveMessageInfo 结构,包含有关所收到消息的信息。
[in] delegate
应用提供的委托对象,可用于覆盖默认消息访问控制政策。
返回值
true
是否应正常接受和处理消息。
false
如果消息处理应停止,且消息应被舍弃。

WeaveServerBase

 WeaveServerBase(
  void
)