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
}
טיפוסים בני מנייה (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 חייבים לבטל את השיטה הזו כדי להטמיע כללי מדיניות מתאימים של בקרת גישה לפרוטוקולים שלהם. אפליקציות עשויות לבטל עוד יותר את השיטה הזו כדי לתמוך במדיניות מותאמת אישית מעבר לאלו שמסופקים על ידי הטמעות שרת סטנדרטיות.

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