nl::Weave::WeaveServerBase

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

用于实现 Weave 配置文件主动响应器(服务器)的通用基础对象,用于封装验证经过身份验证的请求和发送状态报告,并为结构体状态和交换管理器提供通用数据成员存储空间。

摘要

继承

直接已知的子类:
  nl::Weave::Profiles::DeviceControl::DeviceControlServer
  nl::Weave::Profiles::DeviceDescription::DeviceDescriptionServer
  nl::Weave::Profiles::Echo_Next::WeaveEchoServer
  nl::Weave::Profiles::FabricProvisioning::FabricProvisioningServer
  nl::Weave::Profiles::Heartbeat::WeaveHeartbeatReceiver
  nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningServer
  nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningServer
  nl::Weave::Profiles::TokenPairing::TokenPairingServer
  nl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingServer
  nl::Weave::Profiles::WeaveEchoServer

公共属性

ExchangeMgr
[只读] Exchange 管理员对象
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

[只读] Exchange 管理员对象

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
)