nl::Weave::WeaveServerDelegateBase

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

מחלקת בסיס משותפת להטמעת אובייקטים של הקצאת גישה לשרת של Weave.

סיכום

ירושה

Direct known Subclasses:
  nl::Weave::Profiles::DeviceControl::DeviceControlDelegate
  nl::Weave::Profiles::FabricProvisioning::FabricProvisioningDelegate
  nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningDelegatenl::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
}
טיפוסים בני מנייה (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

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'. לחלופין, יישומים של שיטות יכולים לבחור לשלוח תגובות משלהם, שיכולות להיות דוח StatusReport או כל סוג אחר של הודעה. במקרה כזה, השיטה אמורה להחזיר תוצאה של Deny_RespSent כדי לאותת שכבר נשלחה תגובה. לבסוף, הטמעות יכולות להחזיר את הסטטוס Deny_Silent כדי לציין שצריך לדחות את הבקשה בלי לשלוח תגובה למגיש הבקשה.

מחלקות שמבטלות את השיטה EnforceAccessControl() נדרשות לקרוא לשיטה בעלת השם הדומה במחלקת ההורה המיידית שלהן, להיות המחלקה WeaveServerDelegateBase, או מחלקה שנגזרת מהמחלקה הזו. שיטות עקיפה צריכות לעדכן קודם את ערך התוצאה בעת קביעת מדיניות בקרת הגישה, ולאחר מכן להפעיל את מחלקת הבסיס כדי לקבוע אותה.

פרטים
פרמטרים
[in] ec
ה-ExchangeContext שבו התקבלה ההודעה.
[in] msgProfileId
מזהה הפרופיל של ההודעה שהתקבלה.
[in] msgType
סוג ההודעה שהתקבלה.
[in] msgInfo
מבנה של WeaveMessageInfo שמכיל מידע על ההודעה שהתקבלה.
[in,out] result
ערך ממוספר שמתאר את התוצאה של הערכה של מדיניות בקרת הגישה עבור ההודעה שהתקבלה. בכניסה לשיטה, הערך מייצג את התוצאה הטנטטיבית בנקודה הנוכחית של תהליך ההערכה. כשהגרסה תחזור על עצמה, התוצאה אמורה לייצג את ההערכה הסופית של מדיניות בקרת הגישה להודעה.

WeaveServerDelegateBase

 WeaveServerDelegateBase(
  void
)