nl::Weave::WeaveServerDelegateBase

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

Weave 서버 대리자 객체를 구현하기 위한 공통 기본 클래스입니다.

요약

상속

직접 알려진 서브클래스: <ph type="x-smartling-placeholder">
</ph>   nl::Weave::Profiles::DeviceControl::DeviceControlDelegate <ph type="x-smartling-placeholder">
</ph>   nl::Weave::Profiles::FabricProvisioning::FabricProvisioningDelegate <ph type="x-smartling-placeholder">
</ph>   nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningDelegate <ph type="x-smartling-placeholder">
</ph>   nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningDelegate <ph type="x-smartling-placeholder">
</ph>   nl::Weave::Profiles::TokenPairing::TokenPairingDelegate <ph type="x-smartling-placeholder">
</ph>   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
}
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 서버 구현과 관련된 위임 클래스는 이 메서드를 재정의하여 해당 프로토콜에 대한 적절한 액세스 제어 정책을 구현해야 합니다. 애플리케이션은 표준 서버 구현에서 제공하는 정책 이외의 맞춤 정책을 지원하도록 이 메서드를 재정의할 수 있습니다.

이 메서드를 구현하면 액세스 제어 정책 평가의 결과에 따라 허용됨 또는 거부됨의 결과 값이 반환됩니다. '거부됨' 결과를 반환하면 요청자에게 Common/AccessDenied 상태가 포함된 StatusReport가 전송됩니다. 또는 메서드 구현이 자체 응답(StatusReport 또는 다른 유형의 메시지)을 보내도록 선택할 수 있습니다. 이 경우 메서드는 Reject_RespSent 결과를 반환하여 응답이 이미 전송되었음을 알려야 합니다. 마지막으로 구현에서는 Reject_Silent를 반환하여 요청자에게 응답을 보내지 않고 요청을 거부해야 함을 나타낼 수 있습니다.

EnforceAccessControl() 메서드를 재정의하는 클래스는 직접 상위 클래스에서 이름이 유사한 메서드를 호출하려면 호출 사례에서 WeaveServerDelegateBase 클래스 또는 해당 클래스에서 파생된 클래스여야 합니다. 메서드를 재정의하려면 먼저 액세스 제어 정책 결정으로 결과 값을 업데이트한 다음 기본 클래스를 호출하여 판단해야 합니다.

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

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)