nl:: بافت:: پروفایل ها:: DataManagement_Legacy:: پایگاه داده پروفایل

این یک کلاس انتزاعی است.

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

کلاس کمکی ProfileDatabase انتزاعی.

خلاصه

WDM پیاده‌سازی پروتکل را از پیاده‌سازی مدیریت داده جدا می‌کند و حداقل در اصل، بیشتر موارد دوم را به توسعه‌دهنده برنامه واگذار می‌کند. همه فراخوانی‌های جالب در WDM و همه روش‌های انتزاعی که توسعه‌دهنده نمایه برای پیاده‌سازی لازم است، فهرست‌های مسیر یا فهرست داده‌های کدگذاری‌شده با TLV را انتخاب می‌کنند. این کار بر دوش توسعه دهندگان پروفایل سنگینی می کند و در عمل باعث تکرار کدهای زیادی می شود زیرا توسعه دهنده پس از توسعه دهنده همان کد را برای بسته بندی و باز کردن TLV و غیره می نویسد. برای اینکه کمی کارها را آسان کنیم، نوعی "مجموعه ابزار مدیریت داده" را ارائه می دهیم.

این کلاس کمکی برای ذخیره و بازیابی داده‌ها پشتیبانی می‌کند، مشروط بر اینکه زیر کلاس‌های بتنی 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 را در پایگاه داده پیدا کنید.

این روش کاربردی برای یافتن اشیاء ProfileData در یک ProfileDatabase خاص استفاده می شود. این تا حد زیادی به روش های جستجوی ارائه شده توسط پیاده کننده زیر کلاس ProfileDatabase بستگی دارد.

جزئیات
پارامترها
[in] aDescReader
ارجاع به یک خواننده TLV که در یک مسیر WDM قرار گرفته است - یعنی یک مسیر TLV که به عنوان اولین عنصر خود، یک توصیف نمایه دارد.
[out] aProfileData
یک اشاره گر، برای برگرداندن یک اشاره گر به شیء مورد نظر ProfileData .
برمی گرداند
WEAVE_NO_ERROR در صورت موفقیت، در غیر این صورت یک WEAVE_ERROR که نشان دهنده شکست در جستجوی یک شی ProfileData منطبق است را برگردانید.

LookupProfileData

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

یک شی ProfileData را در پایگاه داده پیدا کنید.

این روش کاربردی برای یافتن اشیاء ProfileData در یک ProfileDatabase خاص استفاده می شود. این تا حد زیادی به روش های جستجوی ارائه شده توسط پیاده کننده زیر کلاس ProfileDatabase بستگی دارد.

جزئیات
پارامترها
[in] aPathReader
ارجاع به یک خواننده TLV که در یک مسیر WDM قرار گرفته است - یعنی یک مسیر TLV که به عنوان اولین عنصر خود، یک توصیف نمایه دارد.
[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 را جستجو کنید.

یک شیء ProfileData خاص را با یک شناسه نمایه و یک شناسه نمونه (اختیاری)< ارائه شده به عنوان یک خواننده TLV جستجو کنید.

جزئیات
پارامترها
[in] aProfileId
شماره نمایه 32 بیتی نمایه مورد علاقه.
[in] aInstanceIdRdr
یک اشاره گر به یک خواننده TLV که در داده های شناسه نمونه قرار دارد. اگر شناسه نمونه ارائه نشده باشد، باید NULL باشد.
[out] aResult
یک اشاره گر، برای برگرداندن یک اشاره گر به شیء مورد نظر ProfileData .
برمی گرداند
WEAVE_NO_ERROR در موفقیت. در غیر این صورت یک WEAVE_ERROR نشان دهنده ناتوانی در یافتن یک شی ProfileData برگردانید.

بازیابی

WEAVE_ERROR Retrieve(
  ReferencedTLVData & aPathList,
  ReferencedTLVData & aDataList
)

بازیابی یک لیست داده با یک لیست مسیر.

با توجه به لیستی از مسیرها، یک لیست داده حاوی عناصر لیست داده برای هر مسیر در لیست مسیر داده هایی که پایانه آن مسیر است، بازیابی کنید.

جزئیات
پارامترها
[in] aPathList
یک ارجاع به یک شی ReferencedTLVData که حاوی لیستی از مسیرهای رمزگذاری شده با TLV است که داده هایی را برای بازیابی نشان می دهد. این پارامتر در طول اجرای این تابع ثابت نگه داشته می شود.
[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
)

ذخیره یک لیست داده

با توجه به یک لیست داده کدگذاری شده با TLV، این روش از طریق فرآیند تجزیه آن لیست و فراخوانی متدهای مشخص ارائه شده توسط پیاده‌کننده‌های زیرکلاس ProfileDatabase برای قرار دادن داده‌های ارجاع‌شده در جایی که تعلق دارد، می‌گذرد.

جزئیات
پارامترها
[in] aDataList
ارجاع به یک شی ReferencedTLVData حاوی داده های مورد علاقه به شکل کدگذاری شده با TLV.
برمی گرداند
WEAVE_NO_ERROR در موفقیت. در غیر این صورت یک WEAVE_ERROR که نشان دهنده شکست در ذخیره داده های مورد نظر است را برگردانید.

توابع محافظت شده

فروشگاه داخلی

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