nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase

यह एक ऐब्सट्रैक्ट क्लास है.

#include <src/lib/profiles/data-management/Legacy/ProfileDatabase.h>

ऐब्सट्रैक्ट ProfileDatabase सहायक क्लास.

खास जानकारी

WDM, प्रोटोकॉल लागू करने के तरीके को डेटा मैनेजमेंट के लागू करने से अलग करता है. साथ ही, कम से कम, सैद्धांतिक तौर पर, प्रोटोकॉल लागू करने के ज़्यादातर काम को ऐप्लिकेशन डेवलपर पर छोड़ देता है. WDM में किए गए सभी दिलचस्प कॉल और ऐब्सट्रैक्ट तरीकों के बारे में बताने वाले वे सभी तरीके जिन्हें लागू करने के लिए, प्रोफ़ाइल डेवलपर की ज़रूरत होती है. इसके लिए, टीएलवी से एन्कोड किए गए पाथ की सूचियों या डेटा सूचियों को चुनें. इससे प्रोफ़ाइल डेवलपर पर बोझ पड़ता है. साथ ही, जब डेवलपर टीएलवी की पैकिंग और अनपैकिंग के लिए एक ही कोड लिखता है, तो डेवलपर को डुप्लीकेट कोड बहुत ज़्यादा बनाने पड़ते हैं. चीज़ों को और आसान बनाने के लिए, हम एक तरह की "डेटा मैनेजमेंट टूलकिट" मुहैया कराते हैं.

यह सहायक क्लास, डेटा को स्टोर करने और उसे वापस पाने की सुविधा देती है. हालांकि, इसके लिए ज़रूरी है कि कंक्रीट ProfileData सब-क्लास दी जा चुकी हो और उसे नीचे दिए गए LookupProfileData() तरीके से जोड़ा गया हो.

सार्वजनिक फ़ंक्शन

LookupDataFromProfileDescriptor(nl::Weave::TLV::TLVReader & aDescReader, ProfileData **aProfileData)
डेटाबेस में कोई ProfileData ऑब्जेक्ट ढूंढें.
LookupProfileData(nl::Weave::TLV::TLVReader & aPathReader, ProfileData **aProfileData)
डेटाबेस में कोई ProfileData ऑब्जेक्ट ढूंढें.
LookupProfileData(uint32_t aProfileId, nl::Weave::TLV::TLVReader *aInstanceIdRdr, ProfileData **aResult)=0
virtual WEAVE_ERROR
कोई ProfileData ऑब्जेक्ट खोजें.
Retrieve(ReferencedTLVData & aPathList, ReferencedTLVData & aDataList)
पाथ सूची के तौर पर दी गई डेटा सूची को वापस लाएं.
Retrieve(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVWriter & aWriter)
पाथ सूची के साथ, डेटा सूची लिखें.
Store(ReferencedTLVData & aDataList)
डेटा सूची सेव करें.

सुरक्षित किए गए फ़ंक्शन

StoreInternal(nl::Weave::TLV::TLVReader & aPathReader, uint64_t aVersion, nl::Weave::TLV::TLVReader & aDataReader)

क्लास

nl::Weave::Profiles::DataManagement_Legacy::ProfileDatabase::ProfileData

ऐब्सट्रैक्ट ProfileData सहायक इनर क्लास.

सार्वजनिक फ़ंक्शन

LookupDataFromProfileDescriptor

WEAVE_ERROR LookupDataFromProfileDescriptor(
  nl::Weave::TLV::TLVReader & aDescReader,
  ProfileData **aProfileData
)

डेटाबेस में कोई ProfileData ऑब्जेक्ट ढूंढें.

बिजली, पानी जैसी सुविधाओं का इस्तेमाल करने के इस तरीके का इस्तेमाल, किसी खास ProfileDatabase में ProfileData ऑब्जेक्ट को ढूंढने के लिए किया जाता है. यह मुख्य रूप से कंक्रीट ProfileDatabase सब-क्लास के लागू करने वाले से मिले लुकअप के तरीकों पर निर्भर करता है.

ब्यौरा
पैरामीटर
[in] aDescReader
WDM पाथ पर मौजूद टीएलवी रीडर का रेफ़रंस - मतलब, टीएलवी पाथ, जिसका पहला एलिमेंट, प्रोफ़ाइल की जानकारी है.
[out] aProfileData
ऐसा पॉइंटर, जिसका मकसद ProfileData के पसंदीदा ऑब्जेक्ट पर पॉइंटर दिखाना है.
लौटाए गए सामान
सफल होने पर WEAVE_NO_ERROR दिखाए जाते हैं, नहीं तो WEAVE_ERROR दिखाएं. यह बताता है कि मिलते-जुलते ProfileData ऑब्जेक्ट को नहीं खोजा जा सका.

LookupProfileData

WEAVE_ERROR LookupProfileData(
  nl::Weave::TLV::TLVReader & aPathReader,
  ProfileData **aProfileData
)

डेटाबेस में कोई ProfileData ऑब्जेक्ट ढूंढें.

बिजली, पानी जैसी सुविधाओं का इस्तेमाल करने के इस तरीके का इस्तेमाल, किसी खास ProfileDatabase में ProfileData ऑब्जेक्ट को ढूंढने के लिए किया जाता है. यह मुख्य रूप से कंक्रीट ProfileDatabase सब-क्लास के लागू करने वाले से मिले लुकअप के तरीकों पर निर्भर करता है.

ब्यौरा
पैरामीटर
[in] aPathReader
WDM पाथ पर मौजूद टीएलवी रीडर का रेफ़रंस - मतलब, टीएलवी पाथ, जिसका पहला एलिमेंट, प्रोफ़ाइल की जानकारी है.
[out] aProfileData
ऐसा पॉइंटर, जिसका मकसद ProfileData के पसंदीदा ऑब्जेक्ट पर पॉइंटर दिखाना है.
लौटाए गए सामान
सफल होने पर WEAVE_NO_ERROR दिखाए जाते हैं, नहीं तो WEAVE_ERROR दिखाएं. यह बताता है कि मिलते-जुलते ProfileData ऑब्जेक्ट को नहीं खोजा जा सका.

LookupProfileData

virtual WEAVE_ERROR LookupProfileData(
  uint32_t aProfileId,
  nl::Weave::TLV::TLVReader *aInstanceIdRdr,
  ProfileData **aResult
)=0

कोई ProfileData ऑब्जेक्ट खोजें.

एक प्रोफ़ाइल आईडी और TLV रीडर के तौर पर दिया गया एक (ज़रूरी नहीं) इंस्टेंस आईडी दिए गए, किसी खास ProfileData ऑब्जेक्ट को खोजें.

ब्यौरा
पैरामीटर
[in] aProfileId
पसंद की प्रोफ़ाइल का 32-बिट प्रोफ़ाइल नंबर.
[in] aInstanceIdRdr
इंस्टेंस आइडेंटिफ़ायर डेटा पर टीएलवी रीडर की जगह का पॉइंटर. अगर इंस्टेंस आइडेंटिफ़ायर नहीं दिया गया है, तो यह NULL होगा.
[out] aResult
ऐसा पॉइंटर, जिसका मकसद ProfileData के पसंदीदा ऑब्जेक्ट पर पॉइंटर दिखाना है.
लौटाए गए सामान
WEAVE_NO_ERROR सफल होने पर. अगर ऐसा नहीं है, तो WEAVE_ERROR दिखाएं. यह बताता है कि कोई ProfileData ऑब्जेक्ट ढूंढा नहीं जा सकता.

वापस पाएं

WEAVE_ERROR Retrieve(
  ReferencedTLVData & aPathList,
  ReferencedTLVData & aDataList
)

पाथ सूची के तौर पर दी गई डेटा सूची को वापस लाएं.

पाथ की सूची दिए जाने पर, पाथ की सूची में मौजूद हर पाथ के लिए, डेटा सूची के एलिमेंट वाली डेटा सूची वापस पाएं.

ब्यौरा
पैरामीटर
[in] aPathList
ReferencedTLVData ऑब्जेक्ट का रेफ़रंस, जिसमें टीएलवी से एन्कोड किए गए पाथ की सूची, वह डेटा दिखा रही है जिसे वापस लाया जाना है. इस फ़ंक्शन के चलने के दौरान इस पैरामीटर को एक जैसा रखा जाता है.
[out] aDataList
ReferencedTLVData ऑब्जेक्ट का रेफ़रंस, जिसमें वापस मिले नतीजों को लिखा जाना है. इस फ़ंक्शन के लागू होने के बाद ही, डेटा की लंबाई में बदलाव किया जाता है.
लौटाए गए सामान
WEAVE_NO_ERROR सफल होने पर. अगर ऐसा नहीं है, तो WEAVE_ERROR दिखाएं. इससे पता चलता है कि पसंद की डेटा सूची को फिर से नहीं लाया जा सका.

वापस पाएं

WEAVE_ERROR Retrieve(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVWriter & aWriter
)

पाथ सूची के साथ, डेटा सूची लिखें.

पाथ की सूची और TLV राइटर की सूची के लिए, एक डेटा सूची बनाएं. इस सूची में, पाथ लिस्ट के हर पाथ और उस पाथ के टर्मिनल वाले डेटा के लिए, डेटा की सूची के एलिमेंट शामिल करें.

ब्यौरा
पैरामीटर
[in] aPathList
ReferencedTLVData ऑब्जेक्ट का रेफ़रंस, जिसमें TLV पाथ की सूची शामिल करके डेटा को वापस लाया जाता है. इस फ़ंक्शन के चलने के दौरान इस पैरामीटर को एक जैसा रखा जाता है.
[in] aWriter
हासिल किए गए पाथ की सूची को लिखने में इस्तेमाल करने के लिए, TLV लेखक का रेफ़रंस. कोई गड़बड़ी होने पर, हो सकता है कि लेखक की अंदरूनी स्थिति को ठीक न किया जा सके.
लौटाए गए सामान
WEAVE_NO_ERROR सफल होने पर. अगर ऐसा नहीं है, तो WEAVE_ERROR दिखाएं. इससे पता चलता है कि डेटा वापस नहीं लाया जा सका या पसंदीदा डेटा सूची में कुछ शामिल नहीं किया जा सका.

स्टोर

WEAVE_ERROR Store(
  ReferencedTLVData & aDataList
)

डेटा सूची सेव करें.

यह तरीका, टीएलवी से कोड में बदली गई डेटा सूची को ध्यान में रखकर, उस सूची को पार्स करने और ProfileDatabase सब-क्लास लागू करने वाले लोगों के कंक्रीट तरीकों को कॉल करता है, ताकि रेफ़र किए गए डेटा को उसकी जगह पर रखा जा सके.

ब्यौरा
पैरामीटर
[in] aDataList
ReferencedTLVData ऑब्जेक्ट का रेफ़रंस, जिसमें टीएलवी-कोड में बदले गए फ़ॉर्म में दिलचस्पी का डेटा शामिल है.
लौटाए गए सामान
WEAVE_NO_ERROR सफल होने पर. अगर ऐसा नहीं है, तो WEAVE_ERROR दिखाएं. इससे यह पता चलता है कि पसंद का डेटा सेव नहीं किया जा सका.

सुरक्षित किए गए फ़ंक्शन

StoreInternal

WEAVE_ERROR StoreInternal(
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t aVersion,
  nl::Weave::TLV::TLVReader & aDataReader
)