با مجموعه‌ها، منظم بمانید ذخیره و دسته‌بندی محتوا براساس اولویت‌های شما.

nl:: بافت:: WeaveServerDelegateBase

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

یک کلاس پایه مشترک برای پیاده سازی اشیاء نمایندگی سرور Weave.

خلاصه

وراثت

زیر کلاس های مستقیم شناخته شده:
  nl::بافندگی::پروفایل::DeviceControl::DeviceControlDelegate
  nl::Weave::پروفایل::FabricProvisioning::FabricProvisioningDelegate
  nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningDelegate
  nl::Weave::پروفایل::ServiceProvisioning::ServiceProvisioningDelegate
  nl::Weave::پروفایل::TokenPairing::TokenPairingDelegate
  nl::Weave::پروفایل::فروشنده::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingDelegate

انواع محافظت شده

@69 {
kAccessControlResult_NotDetermined = 0,
kAccessControlResult_Accepted = 1,
kAccessControlResult_Rejected = 2,
kAccessControlResult_Rejected_RespSent = 3,
kAccessControlResult_Rejected_Silent = 4
}
شمارش
AccessControlResult typedef
uint8_t

توابع محافظت شده

EnforceAccessControl ( ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, AccessControlResult & result)
virtual void
روش مجازی برای تعیین خط مشی کنترل دسترسی در سطح پیام برای پیام های درخواست سرور ورودی.
WeaveServerDelegateBase (void)

انواع محافظت شده

@69

 @69

AccessControl Result

uint8_t AccessControlResult

توابع محافظت شده

EnforceAccessControl

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

روش مجازی برای تعیین خط مشی کنترل دسترسی در سطح پیام برای پیام های درخواست سرور ورودی.

این روش توسط زیرساخت سرور Weave فراخوانی می شود تا مشخص شود که آیا یک پیام درخواستی دریافتی باید به طور معمول پذیرفته و پردازش شود یا رد شود. کلاس‌های نمایندگی مرتبط با اجرای سرور Weave باید این روش را لغو کنند تا سیاست‌های کنترل دسترسی مناسب برای پروتکل‌های خود پیاده‌سازی کنند. برنامه‌ها ممکن است این روش را برای پشتیبانی از سیاست‌های سفارشی فراتر از مواردی که توسط پیاده‌سازی سرور استاندارد ارائه می‌شوند، لغو کنند.

انتظار می رود اجرای این روش بر اساس نتیجه ارزیابی سیاست کنترل دسترسی، مقدار نتیجه پذیرفته یا رد شده را برگرداند. برگرداندن نتیجه Rejected باعث می‌شود یک StatusReport حاوی وضعیت Common/AccessDenied برای درخواست‌کننده ارسال شود. روش دیگر، پیاده‌سازی روش می‌تواند پاسخ‌های خود را ارسال کند، که می‌تواند یک StatusReport یا هر نوع پیام دیگری باشد. در این حالت، متد باید یک نتیجه از Reject_RespSent را برگرداند تا نشان دهد که یک پاسخ قبلا ارسال شده است. در نهایت، پیاده سازی ها می توانند Reject_Silent را برگردانند تا نشان دهند که درخواست باید بدون ارسال پاسخ به درخواست کننده رد شود.

کلاس هایی که متد ()EnforceAccessControl را نادیده می گیرند در موارد فراخوانی برای فراخوانی متد با نام مشابه در کلاس والد فوری خود، خواه کلاس WeaveServerDelegateBase ، یا کلاسی مشتق شده از آن کلاس، مورد نیاز هستند. متدهای بازدارنده ابتدا باید مقدار نتیجه را با تعیین خط مشی کنترل دسترسی به روز کنند و سپس از کلاس پایه خود برای تعیین آن فراخوانی کنند.

جزئیات
مولفه های
[in] ec
ExchangeContext که پیام از طریق آن دریافت شده است.
[in] msgProfileId
شناسه پروفایل پیام دریافتی
[in] msgType
نوع پیام پیام دریافتی
[in] msgInfo
ساختار WeaveMessageInfo حاوی اطلاعاتی در مورد پیام دریافتی.
[in,out] result
یک مقدار شمارش شده که نتیجه ارزیابی خط مشی کنترل دسترسی را برای پیام دریافتی توصیف می کند. پس از ورود به روش، مقدار نشان دهنده نتیجه آزمایشی در نقطه فعلی در فرآیند ارزیابی است. پس از بازگشت، انتظار می رود که نتیجه ارزیابی نهایی سیاست کنترل دسترسی برای پیام را نشان دهد.

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)