nl:: Weave:: Profiles:: DataManagement_Current:: TraitUpdatableDataSink
סיכום
ירושה
Inherits from:nl::Weave::Profiles::DataManagement_Current::TraitDataSink
nl::Weave::Profiles::DataManagement_Current::TraitSchemaEngine::IGetDataDelegate
בונים והורסים |
|
---|---|
TraitUpdatableDataSink(const TraitSchemaEngine *aEngine)
|
תפקידים ציבוריים |
|
---|---|
ClearUpdated(SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle)
|
|
GetData(PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent) __OVERRIDE
|
virtual WEAVE_ERROR
בהינתן כינוי לנתיב לצומת, כותב TLV ובוליאנים שמציינים אם הערך הוא null או לא, מקבלים את הנתונים ממקור התכונה שיבנה התראה.
|
GetSubscriptionClient() __OVERRIDE
|
virtual SubscriptionClient *
|
GetUpdateEncoder() __OVERRIDE
|
virtual UpdateEncoder *
|
IsUpdatableDataSink(void) __OVERRIDE
|
virtual bool
|
Lock(SubscriptionClient *apSubClient)
|
void
|
ReadData(TraitDataHandle aTraitDataHandle, PropertyPathHandle aHandle, uint64_t aTagToWrite, TLV::TLVWriter & aWriter, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom)
|
|
SetSubscriptionClient(SubscriptionClient *apSubClient) __OVERRIDE
|
virtual WEAVE_ERROR
|
SetUpdateEncoder(UpdateEncoder *apEncoder) __OVERRIDE
|
virtual WEAVE_ERROR
|
SetUpdated(SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle, bool aIsConditional)
|
הצהרה על כך שבוצעו שינויים מקומיים ב-PropertyPathHandle הנתון.
|
Unlock(SubscriptionClient *apSubClient)
|
void
|
תפקידים ציבוריים
ClearUpdated
WEAVE_ERROR ClearUpdated( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle )
GetData
virtual WEAVE_ERROR GetData( PropertyPathHandle aHandle, uint64_t aTagToWrite, nl::Weave::TLV::TLVWriter & aWriter, bool & aIsNull, bool & aIsPresent ) __OVERRIDE
בהינתן כינוי לנתיב לצומת, כותב TLV ובוליאנים שמציינים אם הערך הוא null או לא, מקבלים את הנתונים ממקור התכונה שיבנה התראה.
אם נקודת האחיזה לנתיב אינה צומת עלה, TDM יטפל בערכי כתיבה לכותב (כגון פתיחת קונטיינרים, ביטול ה-struct וכו'). אם צומת ללא עלים ריק או לא קיים, TDM לא יקרא ל-GetData עבור הצאצאים שלו.
הפונקציה הזו תופעל רק עבור נקודות אחיזה שהן null, אופציונליות, זמניות או עם עלים. הציפייה היא שבכל תכונה עם כינויים שהאפשרויות האלו מופעלות בהן תטמיע לוגיקה מתאימה לאכלוס AIsNull ו-aIspresent.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
ערכים מוחזרים |
|
GetSubscriptionClient
virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE
GetUpdateEncoder
virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE
IsUpdatableDataSink
virtual bool IsUpdatableDataSink( void ) __OVERRIDE
נעילה
void Lock( SubscriptionClient *apSubClient )
ReadData
WEAVE_ERROR ReadData( TraitDataHandle aTraitDataHandle, PropertyPathHandle aHandle, uint64_t aTagToWrite, TLV::TLVWriter & aWriter, PropertyPathHandle & aPropertyPathHandleOfDictItemToStartFrom )
SetSubscriptionClient
virtual WEAVE_ERROR SetSubscriptionClient( SubscriptionClient *apSubClient ) __OVERRIDE
SetUpdateEncoder
virtual WEAVE_ERROR SetUpdateEncoder( UpdateEncoder *apEncoder ) __OVERRIDE
SetUpdated
WEAVE_ERROR SetUpdated( SubscriptionClient *apSubClient, PropertyPathHandle aPropertyHandle, bool aIsConditional )
הצהרה על כך שבוצעו שינויים מקומיים ב-PropertyPathHandle הנתון.
ה-NotificationEngine לא יבטל את הכינוי והצאצאים שלו עד שבקשת העדכון תעובד. האפליקציה תקבל kEvent_OnUpdatecomplete קריאות חוזרות (callback) לכינוי הזה או לאחד מאבותיו עם התוצאה של פעולת העדכון. השינוי יכול להיות מותנה או לא. עדכוני נתונים מותנים יאבדו אם העותק המקומי של מופע ה-trait לא מסונכרן יותר עם זה של בעל התוכן הדיגיטלי, כי הוא השתנה על ידי בעל התוכן הדיגיטלי או על ידי לקוח אחר. אין תמיכה במוטציות מותנות ובלתי מותנות בו-זמנית באותו מופע תכונה.
פרטים | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||
ערכים מוחזרים |
|