nl::Weave::WeaveServerBase

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

用于实现 Weave 配置文件非请求响应方(服务器)的通用基对象,该对象封装了验证已身份验证的请求和发送状态报告的功能,并为 Fabric 状态和交换管理器提供通用数据成员存储。

摘要

继承

位于已知直接已知子类的直接已知子类的直接已知子类:
nlve nlve nlve 追踪已知子类:
 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
[只读] 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
)