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{
|
枚举 |
AccessControlResult
|
typedefuint8_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 类,还是从该类派生的类)调用同名方法。覆盖方法应首先根据确定的访问控制政策来更新结果值,然后调用其基类来作出决定。
详细信息 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
参数 |
|
WeaveServerDelegateBase
WeaveServerDelegateBase( void )