nl:: بافت:: WeaveServerDelegateBase

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

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

خلاصه

وراثت

زیر کلاس های مستقیم شناخته شده:
  nl::Weave::Profiles::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
}
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

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
)