nl:: বুনা:: প্রোফাইল:: ডেটা ম্যানেজমেন্ট_কারেন্ট:: TraitUpdatableDataSink

সারাংশ

উত্তরাধিকার

উত্তরাধিকার সূত্রে:
  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 লেখক, এবং বুলিয়ানগুলি নির্দেশ করে যে মানটি শূন্য বা উপস্থিত নয়, বৈশিষ্ট্য উত্স থেকে ডেটা পান যা একটি বিজ্ঞপ্তি তৈরি করবে৷
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

পাবলিক ফাংশন

ক্লিয়ারআপডেটেড

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 লেখক, এবং বুলিয়ানগুলি নির্দেশ করে যে মানটি শূন্য বা উপস্থিত নয়, বৈশিষ্ট্য উত্স থেকে ডেটা পান যা একটি বিজ্ঞপ্তি তৈরি করবে৷

যদি পাথ হ্যান্ডেলটি লিফ নোড না হয়, তাহলে TDM লেখকের কাছে লেখার মান পরিচালনা করবে (যেমন পাত্র খোলা, স্ট্রাকট বাতিল করা ইত্যাদি)। যদি একটি নন-লিফ নোড শূন্য থাকে বা উপস্থিত না থাকে, TDM তার বাচ্চাদের জন্য GetData কল করবে না।

এই ফাংশনটি শুধুমাত্র সেই হ্যান্ডেলগুলির জন্য কল করা হবে যা বাতিলযোগ্য, ঐচ্ছিক, ক্ষণস্থায়ী বা পাতা। প্রত্যাশা হল যে হ্যান্ডেলগুলির সাথে যেকোন বৈশিষ্ট্য যেগুলিতে সেই বিকল্পগুলি সক্রিয় রয়েছে তা aIsNull এবং aIsPresent তৈরি করার জন্য উপযুক্ত যুক্তি প্রয়োগ করবে।

বিস্তারিত
পরামিতি
[in] aHandle
প্রশ্নে PropertyPathHandle.
[in] aTagToWrite
হ্যান্ডেলের জন্য লেখার ট্যাগ।
[in,out] aWriter
TLV উপাদান লিখতে লেখক.
[out] aIsNull
একটি হ্যান্ডেল বাতিল করা হয়? যদি হ্যাঁ, TDM একটি নাল উপাদান লিখবে। যদি aHandle একটি পাতা না হয়, TDM তার বাচ্চাদের উপর এড়িয়ে যাবে।
[out] aIsPresent
একটি হ্যান্ডেল বর্তমান? যদি না হয় এবং যদি aHandle একটি পাতা না হয়, TDM পথ এবং তার সন্তানদের উপর এড়িয়ে যাবে।
রিটার্ন মান
WEAVE_NO_ERROR
সাফল্যের উপর।
other
ডেটা পুনরুদ্ধার করতে এবং লেখকের মধ্যে লিখতে অক্ষম ছিল৷

সাবস্ক্রিপশন ক্লায়েন্ট পান

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
)

সাবস্ক্রিপশন ক্লায়েন্ট সেট করুন

virtual WEAVE_ERROR SetSubscriptionClient(
  SubscriptionClient *apSubClient
) __OVERRIDE

সেটআপডেট এনকোডার

virtual WEAVE_ERROR SetUpdateEncoder(
  UpdateEncoder *apEncoder
) __OVERRIDE

সেটআপডেটেড

WEAVE_ERROR SetUpdated(
  SubscriptionClient *apSubClient,
  PropertyPathHandle aPropertyHandle,
  bool aIsConditional
)

ঘোষণা করে যে প্রদত্ত PropertyPathHandle-এ স্থানীয় পরিবর্তন রয়েছে।

আপডেটের অনুরোধ প্রক্রিয়া না হওয়া পর্যন্ত নোটিফিকেশন ইঞ্জিন হ্যান্ডেল এবং এর বংশধরকে ওভাররাইড করবে না। অ্যাপ্লিকেশনটি আপডেট অপারেশনের ফলাফল সহ এই হ্যান্ডেলের জন্য বা এর পূর্বপুরুষদের একজনের জন্য kEvent_OnUpdateComplete কলব্যাক পাবে। পরিবর্তন শর্তসাপেক্ষ বা না হতে পারে. শর্তযুক্ত ডেটা আপডেটগুলি হারিয়ে যাবে যদি বৈশিষ্ট্যের উদাহরণের স্থানীয় অনুলিপি প্রকাশকের সাথে আর সিঙ্কে না থাকে কারণ এটি প্রকাশক নিজেই বা অন্য ক্লায়েন্ট দ্বারা পরিবর্তিত হয়েছিল৷ শর্তসাপেক্ষ এবং শর্তহীন মিউটেশন একই বৈশিষ্ট্যের উদাহরণে একই সময়ে সমর্থিত নয়।

বিস্তারিত
পরামিতি
[in] apSubClient
এই সিঙ্ক পরিচালনাকারী সাবস্ক্রিপশন ক্লায়েন্টের একটি পয়েন্টার।
[in] aPropertyHandle
এই বৈশিষ্ট্য উদাহরণের জন্য কোনো বৈধ PropertyPathHandle.
[in] aIsConditional
শর্তযুক্ত আপডেটের জন্য সত্য; অন্যথায় মিথ্যা।
রিটার্ন মান
WEAVE_NO_ERROR
যদি সম্পত্তির হ্যান্ডেলটি বৈশিষ্ট্যের মালিকের কাছে পাঠানোর জন্য সম্পত্তির সেটে সফলভাবে যোগ করা হয়।
WEAVE_ERROR_INVALID_ARGUMENT
যদি হ্যান্ডেল বা সাবস্ক্রিপশন ক্লায়েন্ট পয়েন্টারটি অবৈধ হয়।
WEAVE_ERROR_WDM_INCONSISTENT_CONDITIONALITY
যদি বৈশিষ্টের উদাহরণটি ইতিমধ্যে বিপরীত শর্ত সহ আপডেট করা হচ্ছে।
WEAVE_ERROR_WDM_LOCAL_DATA_INCONSISTENT
যদি aIsConditional সত্য হয় তবে বৈশিষ্ট্যের উদাহরণের একটি বৈধ সংস্করণ নেই।
WEAVE_ERROR_WDM_PATH_STORE_FULL
যদি পথ সংরক্ষণ করার জন্য কোন মেমরি না থাকে।
Other
ব্যর্থতার উপর নির্ভর করে WEAVE_ERROR কোড।

TraitUpdatableDataSink

 TraitUpdatableDataSink(
  const TraitSchemaEngine *aEngine
)

আনলক করুন

void Unlock(
  SubscriptionClient *apSubClient
)