нл:: Переплетение:: Профили:: 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
)