ไม่มี:: สาน:: โปรไฟล์:: DataManagement_Current:: ลักษณะUpdatableDataSink

สรุป

มรดก

สืบทอดมาจาก:
  nl::สาน::โปรไฟล์::DataManagement_Current::TraitDataSink
  nl::สาน::โปรไฟล์::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 นักเขียนและ booleans ระบุว่ามีค่าเป็นโมฆะหรือไม่เป็นปัจจุบันได้รับข้อมูลจากแหล่งลักษณะที่จะสร้างแจ้ง
GetSubscriptionClient () __OVERRIDE
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 นักเขียนและ booleans ระบุว่ามีค่าเป็นโมฆะหรือไม่เป็นปัจจุบันได้รับข้อมูลจากแหล่งลักษณะที่จะสร้างแจ้ง

หากตัวจัดการพาธไม่ใช่โหนดปลายสุด TDM จะจัดการการเขียนค่าไปยังตัวเขียน (เช่น การเปิดคอนเทนเนอร์ การทำให้โครงสร้างเป็นโมฆะ เป็นต้น) หากโหนดที่ไม่ใช่โหนดลีฟเป็นโมฆะหรือไม่มีอยู่ TDM จะไม่เรียก GetData สำหรับโหนดลูก

ฟังก์ชันนี้จะถูกเรียกสำหรับแฮนเดิลที่เป็นค่าว่าง เป็นทางเลือก ชั่วคราว หรือลีฟเท่านั้น ความคาดหวังคือคุณลักษณะใดๆ ที่มีแฮนเดิลที่เปิดใช้งานตัวเลือกเหล่านั้น จะใช้ตรรกะที่เหมาะสมเพื่อเติม aIsNull และ aIsPresent

รายละเอียด
พารามิเตอร์
[in] aHandle
PropertyPathHandle ที่เป็นปัญหา
[in] aTagToWrite
แท็กที่จะเขียนสำหรับ aHandle
[in,out] aWriter
ผู้เขียนจะเขียน TLV องค์ประกอบ
[out] aIsNull
aHandle เป็นโมฆะหรือไม่? ถ้าใช่ TDM จะเขียนองค์ประกอบที่เป็นโมฆะ หากแฮนเดิลไม่ใช่ใบไม้ TDM จะข้ามไปที่ลูกของมัน
[out] aIsPresent
มีแฮนเดิลอยู่หรือไม่ หากไม่มี และหาก Handlele ไม่ใช่ Leaf TDM จะข้ามเส้นทางและลูกๆ ของเส้นทางนั้น
ส่งกลับค่า
WEAVE_NO_ERROR
เมื่อประสบความสำเร็จ
other
ไม่สามารถดึงข้อมูลและเขียนลงในตัวเขียนได้

GetSubscriptionClient

virtual SubscriptionClient * GetSubscriptionClient() __OVERRIDE

GetUpdateEncoder

virtual UpdateEncoder * GetUpdateEncoder() __OVERRIDE

IsUpdatableDataSink

virtual bool IsUpdatableDataSink(
  void
) __OVERRIDE

ล็อค

void Lock(
  SubscriptionClient *apSubClient
)

อ่านข้อมูล

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 สำหรับหมายเลขอ้างอิงนี้หรือสำหรับหนึ่งในบรรพบุรุษที่มีผลลัพธ์ของการดำเนินการอัปเดต การปรับเปลี่ยนอาจมีเงื่อนไขหรือไม่ก็ได้ การอัปเดตข้อมูลแบบมีเงื่อนไขจะหายไปหากสำเนาในเครื่องของอินสแตนซ์ลักษณะไม่ซิงค์กับผู้เผยแพร่อีกต่อไป เนื่องจากผู้เผยแพร่เองหรือไคลเอ็นต์อื่นกลายพันธุ์ ไม่รองรับการกลายพันธุ์แบบมีเงื่อนไขและแบบไม่มีเงื่อนไขในเวลาเดียวกันในอินสแตนซ์ลักษณะเดียวกัน

รายละเอียด
พารามิเตอร์
[in] apSubClient
ตัวชี้ไปยัง SubscriptionClient จัดการอ่างล้างจานนี้
[in] aPropertyHandle
PropertyPathHandle ที่ถูกต้องสำหรับอินสแตนซ์ Trait นี้
[in] aIsConditional
True สำหรับการอัพเดตแบบมีเงื่อนไข เท็จเป็นอย่างอื่น
ส่งกลับค่า
WEAVE_NO_ERROR
หากเพิ่มหมายเลขอ้างอิงคุณสมบัติเข้ากับชุดคุณสมบัติที่จะส่งไปยังเจ้าของคุณสมบัติสำเร็จ
WEAVE_ERROR_INVALID_ARGUMENT
ถ้าจับหรือ SubscriptionClient ชี้ไม่ถูกต้อง
WEAVE_ERROR_WDM_INCONSISTENT_CONDITIONALITY
หากอินสแตนซ์ลักษณะได้รับการอัปเดตด้วยเงื่อนไขที่ตรงกันข้าม
WEAVE_ERROR_WDM_LOCAL_DATA_INCONSISTENT
ถ้า aIsConditional เป็นจริง แต่อินสแตนซ์ของคุณสมบัติไม่มีเวอร์ชันที่ถูกต้อง
WEAVE_ERROR_WDM_PATH_STORE_FULL
หากไม่มีหน่วยความจำในการจัดเก็บเส้นทาง
Other
รหัส WEAVE_ERROR ขึ้นอยู่กับความล้มเหลว

ลักษณะUpdatableDataSink

 TraitUpdatableDataSink(
  const TraitSchemaEngine *aEngine
)

ปลดล็อค

void Unlock(
  SubscriptionClient *apSubClient
)