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{
  kAccessControlResult_NotDetermined = 0,
  kAccessControlResult_Accepted = 1,
  kAccessControlResult_Rejected = 2,
  kAccessControlResult_Rejected_RespSent = 3,
  kAccessControlResult_Rejected_Silent = 4
}
enum
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 또는 다른 유형의 메시지)을 전송하도록 선택할 수 있습니다. 이 경우 메서드는 응답이 이미 전송되었음을 알리기 위해 Reject_RespSent의 결과를 반환해야 합니다. 마지막으로 구현에서는 Reject_Silent를 반환하여 요청자에게 응답을 보내지 않고 요청을 거부해야 함을 나타낼 수 있습니다.

호출 사례에서는 WeaveServerDelegateBase 클래스 또는 해당 클래스에서 파생된 클래스 등 직계 상위 클래스에서 이름이 비슷한 메서드를 호출하기 위해 EnforceAccessControl() 메서드를 재정의하는 클래스가 필요합니다. 재정의 메서드는 먼저 액세스 제어 정책 결정으로 결과 값을 업데이트한 다음 기본 클래스를 호출하여 확인해야 합니다.

세부정보
매개변수
[in] ec
메일이 수신된 ExchangeContext입니다.
[in] msgProfileId
수신된 메시지의 프로필 ID입니다.
[in] msgType
수신된 메시지의 메시지 유형입니다.
[in] msgInfo
수신된 메시지에 대한 정보가 포함된 WeaveMessageInfo 구조입니다.
[in,out] result
수신된 메시지의 액세스 제어 정책 평가 결과를 설명하는 열거형 값입니다. 메서드에 진입하면 이 값은 평가 프로세스의 현재 지점에서 임시 결과를 나타냅니다. 반환 시 결과는 메시지에 대한 액세스 제어 정책의 최종 평가를 나타낼 것으로 예상됩니다.

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)