nl::Weave::WeaveServerBase

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

אובייקט בסיס נפוץ להטמעת משיבים לא מבקשים (שרתים) בפרופיל Weave, שמכיל בתוך עצמו אימות של בקשות מאומתות ושליחת דוחות סטטוס, ומספק אחסון של חברי נתונים משותפים למצב של fabric ולמנהל החלפה.

סיכום

ירושה

ישויות משנה ידועות ישירות:
  nl::Weave::Profiles::DeviceControl::DeviceControlServer
  nl::Weave::Profiles::DeviceDescription::DeviceDescriptionServer
  nl::Weave::Profiles::Echo_Next::WeaveEchoServer
  nl::Weave::Profiles::FabricProvisioning::FabricProvisioningServer
  nl::Weave::Profiles::Heartbeat::WeaveHeartbeatReceiver
  nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningServer
  nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningServer
  nl::Weave::Profiles::TokenPairing::TokenPairingServer
  nl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingServer
  nl::Weave::Profiles::WeaveEchoServer

מאפיינים גלויים לכולם

ExchangeMgr
[לקריאה בלבד] אובייקט של מנהל Exchange
FabricState
[לקריאה בלבד] אובייקט מצב של Fabric

פונקציות סטטיות ציבוריות

SendStatusReport(ExchangeContext *ec, uint32_t statusProfileId, uint16_t statusCode, WEAVE_ERROR sysError)
שליחת דוח סטטוס Weave עם סימוני ברירת מחדל של הודעות ליוזם המודעה ב-Exchange שצוין, המכיל את קוד הסטטוס בפרופיל ובשגיאת המערכת שצוינו.
SendStatusReport(ExchangeContext *ec, uint32_t statusProfileId, uint16_t statusCode, WEAVE_ERROR sysError, uint16_t sendFlags)
שליחת דוח סטטוס של Weave עם דגלים של הודעות שסופקו למבצע ההתחלה בבורסה שצוינה, שכולל את קוד הסטטוס בפרופיל שצוין ואת שגיאת המערכת.

פונקציות מוגנות

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, WeaveServerDelegateBase *delegate)
bool
לקבוע אם צריך לאשר או להשליך הודעה נכנסת של בקשה לשרת Weave.
WeaveServerBase(void)

מאפיינים גלויים לכולם

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[לקריאה בלבד] אובייקט של מנהל Exchange

FabricState

WeaveFabricState * FabricState

[קריאה בלבד] אובייקט של מצב בד

פונקציות סטטיות ציבוריות

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *ec,
  uint32_t statusProfileId,
  uint16_t statusCode,
  WEAVE_ERROR sysError
)

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

פרטים
פרמטרים
[in] ec
מצביע אל ההקשר של ההחלפה שלגביו צריך לשלוח את דוח הסטטוס.
[in] statusProfileId
הפרופיל של קוד הסטטוס שצוין.
[in] statusCode
קוד הסטטוס שרוצים לשלוח.
[in] sysError
שגיאת המערכת שמשויכת לקוד הסטטוס או קשורה אליו.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *ec,
  uint32_t statusProfileId,
  uint16_t statusCode,
  WEAVE_ERROR sysError,
  uint16_t sendFlags
)

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

פרטים
פרמטרים
[in] ec
מצביע אל ההקשר של ההחלפה שלגביו צריך לשלוח את דוח הסטטוס.
[in] statusProfileId
הפרופיל של קוד הסטטוס שצוין.
[in] statusCode
קוד הסטטוס שרוצים לשלוח.
[in] sysError
שגיאת המערכת שמשויכת לקוד הסטטוס או בקורלציה אליו.
[in] sendFlags
דגלים שהוגדרו על ידי האפליקציה לדוח הסטטוס של Weave שנשלח.

פונקציות מוגנות

EnforceAccessControl

bool EnforceAccessControl(
  ExchangeContext *ec,
  uint32_t msgProfileId,
  uint8_t msgType,
  const WeaveMessageInfo *msgInfo,
  WeaveServerDelegateBase *delegate
)

לקבוע אם צריך לאשר או להשליך הודעה נכנסת של בקשה לשרת Weave.

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

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

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

WeaveServerBase

 WeaveServerBase(
  void
)