nl::Weave::WeaveServerDelegateBase

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

用于实现 Weave 服务器委托对象的通用基类。

摘要

继承

直接已知的子类:
  nl::Weave::Profiles::DeviceControl::DeviceControlDelegate
  nl::Weave::Profiles::FabricProvisioning::FabricProvisioningDelegate
  nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningDelegate
  nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningDelegate
  nl::Weave::Profiles::TokenPairing::TokenPairingDelegate
  nl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingDelegate

受保护的类型

@69{
  kAccessControlResult_NotDetermined = 0,
  kAccessControlResult_Accepted = 1,
  kAccessControlResult_Rejected = 2,
  kAccessControlResult_Rejected_RespSent = 3,
  kAccessControlResult_Rejected_Silent = 4
}
枚举
AccessControlResult typedef
uint8_t

受保护的函数

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
virtual void
用于确定传入服务器请求消息的消息级访问权限控制政策的虚拟方法。
WeaveServerDelegateBase(void)

受保护的类型

69 岁

 @69

AccessControlResult

uint8_t AccessControlResult

受保护的函数

EnforceAccessControl

virtual void EnforceAccessControl(
  ExchangeContext *ec,
  uint32_t msgProfileId,
  uint8_t msgType,
  const WeaveMessageInfo *msgInfo,
  AccessControlResult & result
)

用于确定传入服务器请求消息的消息级访问权限控制政策的虚拟方法。

Weave 服务器基础架构会调用此方法,以确定是应该正常接受和处理传入的请求消息,还是拒绝传入的请求消息。与 Weave 服务器实现相关联的委托类必须替换此方法,才能为其协议实现适当的访问权限控制政策。应用可能会进一步覆盖此方法,以支持标准服务器实现所提供的政策之外的自定义政策。

根据访问权限控制政策评估结果,此方法的实现应返回“已接受”或“已拒绝”的结果值。如果返回“Rejected”(已拒绝)的结果,系统会向请求者发送包含“Common/AccessDenied”状态的 StatusReport。或者,方法实现可以选择发送自己的响应,可以是 StatusReport 或任何其他类型的消息。在这种情况下,该方法应返回 Rejected_RespSent 的结果,以表示已发送响应。最后,实现可以返回 Rejected_Silent,以指出在不向请求者发送响应的情况下应拒绝请求。

在调用情况下,必须覆盖 EnforceAccessControl() 方法的类,以便在其直接父类(无论是 WeaveServerDelegateBase 类,还是从该类派生的类)调用同名方法。覆盖方法应首先根据确定的访问控制政策来更新结果值,然后调用其基类来作出决定。

详细信息
参数
[in] ec
接收邮件的 ExchangeContext
[in] msgProfileId
所接收消息的个人资料 ID。
[in] msgType
已接收消息的消息类型。
[in] msgInfo
WeaveMessageInfo 结构,包含有关已接收消息的信息。
[in,out] result
用于描述所收到消息的访问权限控制政策评估结果的枚举值。进入该方法后,该值表示评估过程中当前点的暂定结果。返回后,结果应体现对消息的访问权限控制政策的最终评估。

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)