nl::Weave::WeaveServerDelegateBase

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

Wspólna klasa podstawowa do implementacji obiektów delegowania serwera Weave.

Podsumowanie

Dziedziczenie

Bezpośrednie znane podklasy:
  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

Typy chronione

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

Funkcje chronione

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
virtual void
Metoda wirtualna do określania zasad kontroli dostępu na poziomie wiadomości dla przychodzących wiadomości z żądaniami serwera.
WeaveServerDelegateBase(void)

Typy chronione

@69

 @69

AccessControlResult

uint8_t AccessControlResult

Funkcje chronione

EnforceAccessControl

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

Metoda wirtualna do określania zasad kontroli dostępu na poziomie wiadomości dla przychodzących wiadomości z żądaniami serwera.

Infrastruktura serwera Weave wywołuje tę metodę w celu określenia, czy wiadomość przychodzącego żądania powinna zostać zaakceptowana i przetworzona normalnie, czy też odrzucona. Klasy delegowania powiązane z implementacjami serwerów Weave muszą zastąpić tę metodę, aby zaimplementować odpowiednie zasady kontroli dostępu dla ich protokołów. Aplikacje mogą zastępować tę metodę w celu obsługi zasad niestandardowych poza tymi zapewnianymi przez standardowe implementacje serwera.

Implementacje tej metody powinny zwracać wartość „Zaakceptowano” lub „Odrzucono” w zależności od wyniku oceny zasad kontroli dostępu. Zwrócenie wyniku o stanie Odrzucono powoduje wysłanie do zgłaszającego raportu StatusReport ze stanem Powszechnie/Nie znaleziono. Metody mogą też wysyłać własne odpowiedzi, które mogą być w postaci raportu StatusReport lub dowolnym innym. W tym przypadku metoda powinna zwracać wynik Bounce_RespSent, który zasygnalizuje, że odpowiedź została już wysłana. Implementacje mogą też zwracać parametr Odrzuć_Silent, aby wskazać, że żądanie powinno zostać odrzucone bez wysyłania odpowiedzi do zgłaszającego.

Klasy, które zastępują metodę EnforceAccessControl(), są wymagane w przypadkach wywołania do wywołania metody o podobnej nazwie z bezpośredniej klasy nadrzędnej, np. klasa WeaveServerDelegateBase lub klasy pochodnej od tej klasy. Metody zastępowania powinny najpierw zaktualizować wartość wyniku, określając zasadę kontroli dostępu, a następnie wywoływać klasę bazową w celu określenia tej wartości.

Szczegóły
Parametry
[in] ec
Parametr ExchangeContext, w którym otrzymano wiadomość.
[in] msgProfileId
Identyfikator profilu odebranej wiadomości.
[in] msgType
Typ otrzymanej wiadomości.
[in] msgInfo
Struktura WeaveMessageInfo zawierająca informacje o otrzymanej wiadomości.
[in,out] result
Wartość wyliczana opisująca wynik oceny zasad kontroli dostępu dla otrzymanej wiadomości. Po wejściu do metody wartość przedstawia wstępny wynik w bieżącym punkcie procesu oceny. Zwrócony wynik powinien odzwierciedlać ostateczną ocenę zasad kontroli dostępu dla wiadomości.

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)