nl::Weave::WeaveServerDelegateBase

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

Weave sunucusu yetki verme nesnelerini uygulamak için ortak bir temel sınıf.

Özet

Devralma

Doğrudan Bilinen Alt Sınıflar:
  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

Korumalı türler

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

Korunan işlevler

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
virtual void
Gelen sunucu isteği mesajları için mesaj düzeyinde erişim denetimi politikasını belirlemek için sanal yöntem.
WeaveServerDelegateBase(void)

Korumalı türler

@69

 @69

AccessControlResult

uint8_t AccessControlResult

Korunan işlevler

EnforceAccessControl

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

Gelen sunucu isteği mesajları için mesaj düzeyinde erişim denetimi politikasını belirlemek için sanal yöntem.

Bu yöntem, gelen istek mesajının normal şekilde kabul edilip işlenmesinin ya da reddedilmesinin mi gerektiğini belirlemek için Weave sunucu altyapısı tarafından çağrılır. Weave sunucusu uygulamalarıyla ilişkili yetki verilmiş sınıfların, protokollerine uygun erişim denetimi politikaları uygulamak için bu yöntemi geçersiz kılması gerekir. Uygulamalar, standart sunucu uygulamalarının sağladığı politikaların ötesinde özel politikaları desteklemek için bu yöntemi geçersiz kılabilir.

Bu yöntemin uygulamalarının, erişim denetimi politikası değerlendirmesinin sonucuna göre Kabul Edildi veya Reddedildi sonucunu döndürmesi beklenir. Reddedildi sonucunun döndürülmesi, istekte bulunan kişiye Common/AccessDenied durumunu içeren bir StatusRapor gönderilmesine neden olur. Alternatif olarak, yöntem uygulamaları kendi yanıtlarını göndermeyi seçebilir; bu yanıtlar bir Durum Raporu veya başka türde bir mesaj olabilir. Bu durumda, yöntem bir yanıtın zaten gönderildiğini belirtmek için Decline_RespSent sonucunu döndürmelidir. Son olarak, uygulamalar, isteği gönderen kişiye yanıt gönderilmeden isteğin reddedilmesi gerektiğini belirtmek için Reddedilen_Silent özelliğini döndürebilir.

Çağrı durumlarında, WeaveServerDelegateBase sınıfı veya söz konusu sınıftan türetilen bir sınıf gibi benzer adlı yöntemi çağırmak için, çağrı durumlarında EnforceAccessControl() yöntemini geçersiz kılan sınıflar gereklidir. Geçersiz kılma yöntemleri, önce sonuç değerini erişim denetimi politikasını belirlemeleriyle güncellemeli, ardından kararını vermek için temel sınıflarını çağırmalıdır.

Ayrıntılar
Parametreler
[in] ec
İletinin alındığı ExchangeContext.
[in] msgProfileId
Alınan mesajın profil kimliği.
[in] msgType
Alınan mesajın türü.
[in] msgInfo
Alınan iletiyle ilgili bilgileri içeren WeaveMessageInfo yapısı.
[in,out] result
Alınan iletinin erişim denetimi politikası değerlendirmesinin sonucunu açıklayan numaralandırılmış değer. Yönteme girilen değer, değerlendirme sürecinin mevcut noktasında belirsiz olan sonucu temsil eder. Geri gönderilen sonucun mesaj için erişim denetimi politikasının nihai değerlendirmesini temsil etmesi beklenir.

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)