nl::Weave::WeaveServerDelegateBase

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

فئة أساسية مشتركة لتنفيذ كائنات تفويض خادم Weave.

ملخّص

الاكتساب

الفئات الفرعية المعروفة المباشرة:
  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

الأنواع المحمية

@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 هذه الطريقة لتنفيذ سياسات التحكم في الوصول المناسبة لبروتوكولاتها. ويمكن للتطبيقات أيضًا تجاوز هذه الطريقة لإتاحة سياسات مخصّصة غير تلك التي توفّرها عمليات تنفيذ الخادم العادي.

من المتوقّع أن تؤدي تنفيذ هذه الطريقة إلى الحصول على القيمة "مقبول" أو "مرفوضة" استنادًا إلى نتيجة تقييم سياسة التحكّم في الوصول. يؤدي عرض نتيجة "تم الرفض" إلى إرسال تقرير الحالة إلى مقدِّم الطلب والذي يحتوي على الحالة "شائع/مرفوض" وبدلاً من ذلك، يمكن لعمليات تنفيذ الطريقة أن تختار إرسال ردودها الخاصة، والتي يمكن أن تكون تقرير حالة أو أي نوع آخر من الرسائل. في هذه الحالة، يجب أن تعرض الطريقة النتيجة Reject_RespSent للإشارة إلى إرسال رد بالفعل. وأخيرًا، يمكن أن تعرض عمليات التنفيذ الحالة Reject_Silent للإشارة إلى وجوب رفض الطلب بدون إرسال رد إلى صاحب الطلب.

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

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

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)