nl::Weave::WeaveServerDelegateBase

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

يشير ذلك المصطلح إلى فئة أساسية شائعة لتنفيذ كائنات تفويض خادم Weave.

ملخّص

الاكتساب

الفئات الفرعية المعروفة المباشرة:
  nl::Weave::Profiles::DeviceControl::DeviceControl وتظهر المفوَّض:
nl::Weave::Profiles::FabricProvisioning::FabricProvisioningDelegate
  nl:Weave::Profiles::DeviceControl::DeviceControl وتظهر المفوَّض
nl::Weave::Profiles::FabricProvisioning::FabricProvisioningDelegate
  nl::Weaprovideing:ProfilesManageing:NetworkingManageing}
ممّا هو متوفّر:{ أحد رموز المزوّدين:
الفئات: إحدى هذه الخدماتnl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningDelegatenl::Weave::Profiles::TokenPairing::TokenPairingDelegatenl::Weave::Profiles::Vendor::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

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". وبدلاً من ذلك، يمكن لعمليات تنفيذ الطريقة اختيار إرسال ردودها الخاصة، والتي يمكن أن تكون تقرير الحالة أو أي نوع آخر من الرسائل. في هذه الحالة، يجب أن تعرض الطريقة نتيجة Reject_RespSent للإشارة إلى أنّه تم إرسال الرد سابقًا. وأخيرًا، يمكن أن تعرض عمليات التنفيذ Reject_Silent للإشارة إلى ضرورة رفض الطلب بدون إرسال رد إلى مقدِّم الطلب.

تكون الفئات التي تلغي طريقة EnforceAccessControl() مطلوبة في حالات الاستدعاء لاستدعاء الطريقة التي تحمل الاسم نفسه في الفئة الرئيسية المباشرة، سواءً كانت الفئة WeaveServerDelegateBase أو فئة مشتقة من تلك الفئة. يجب أن تعدِّل طرق الإلغاء قيمة النتيجة أولاً من خلال تحديد سياسة التحكّم في الوصول، ثم تستدعي فئتها الأساسية لتحديدها.

التفاصيل
المَعلمات
[in] ec
ExchangeContext الذي تم استلام الرسالة من خلاله.
[in] msgProfileId
رقم تعريف الملف الشخصي للرسالة المستلمة.
[in] msgType
نوع رسالة الرسالة المُستلَمة
[in] msgInfo
بنية WeaveMessageInfo تحتوي على معلومات حول الرسالة المُستلَمة
[in,out] result
قيمة عددية تصف نتيجة تقييم سياسة التحكم في الوصول للرسالة التي تم استلامها. عند الدخول إلى الطريقة، تمثل القيمة النتيجة المؤقتة في المرحلة الحالية من عملية التقييم. عند إرجاع الرسالة، من المتوقّع أن تمثّل التقييم النهائي لسياسة التحكّم في الوصول إلى الرسالة.

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)