nl:: Weave:: WeaveServerDelegateBase
#include <src/lib/core/WeaveServerBase.h>
Weave 서버 대리자 객체를 구현하기 위한 공통 기본 클래스입니다.
요약
상속
Direct Known Subclasses:nl::Weave::Profiles::DeviceControl::DeviceControlDelegate
nl::Weave::Profiles::FabricProvisioning::FabricProvisioningDelegate
nl::Weave::Profiles:
NetworkProvisioning::Weave::ProfileProject:nl::Weave::Profile프로비저닝:nl::Weave::ProfileProvisioning1:NetworkProvisioning::Weave: {DelegateProfiles::NetworkProvisioning::Weave:1Delegate
nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningDelegatenl::Weave::Profiles::TokenPairing::TokenPairingDelegatenl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingDelegate
보호된 유형 |
|
---|---|
@69{
|
enum |
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 또는 다른 유형의 메시지)을 전송하도록 선택할 수 있습니다. 이 경우 메서드는 응답이 이미 전송되었음을 알리기 위해 Reject_RespSent의 결과를 반환해야 합니다. 마지막으로 구현에서는 Reject_Silent를 반환하여 요청자에게 응답을 보내지 않고 요청을 거부해야 함을 나타낼 수 있습니다.
호출 사례에서는 WeaveServerDelegateBase 클래스 또는 해당 클래스에서 파생된 클래스 등 직계 상위 클래스에서 이름이 비슷한 메서드를 호출하기 위해 EnforceAccessControl() 메서드를 재정의하는 클래스가 필요합니다. 재정의 메서드는 먼저 액세스 제어 정책 결정으로 결과 값을 업데이트한 다음 기본 클래스를 호출하여 확인해야 합니다.
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
WeaveServerDelegateBase
WeaveServerDelegateBase( void )