нл:: Переплетение:: Профили:: DataManagement_Legacy
Это пространство имен включает в себя все интерфейсы внутри Weave для профиля Weave Data Management (WDM), поддержка которых скоро будет прекращена.
Краткое содержание
Определения типов | |
---|---|
TopicIdentifier | определение типаuint64_t Идентификатор темы. |
Функции | |
---|---|
CheckTLVType ( nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader) | bool |
CheckWDMTag (uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader) | bool Проверьте тег, специфичный для WDM. |
CloseDataListElement ( nl::Weave::TLV::TLVReader & aReader) | Прекратите чтение элемента списка данных WDM. |
CloseList ( nl::Weave::TLV::TLVReader & aReader) | Прекратите чтение пути или списка данных WDM. |
EncodeDeprecatedPath ( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...) | Закодируйте путь WDM с помощью устаревших тегов и целочисленного идентификатора экземпляра. |
EncodeDeprecatedPath ( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...) | Закодируйте путь WDM с помощью устаревших тегов и идентификатора экземпляра строки. |
EncodePath ( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...) | Закодируйте путь WDM с помощью целочисленного идентификатора экземпляра профиля. |
EncodePath ( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...) | Закодируйте путь WDM с помощью идентификатора экземпляра байтового массива. |
EncodePath ( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...) | Закодируйте путь WDM с помощью идентификатора экземпляра строки. |
EndDataListElement ( nl::Weave::TLV::TLVWriter & aWriter) | Завершите написание элемента списка данных. |
EndEncodePath ( TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError) | |
EndList ( nl::Weave::TLV::TLVWriter & aWriter) | Завершите написание списка путей или списка данных. |
EndList ( ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter) | Завершите написание списка путей или списка данных. |
IsPublisherSpecific (const TopicIdentifier & aTopicId) | bool Проверьте, зависит ли идентификатор темы от издателя. |
OpenDataList ( ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader) | Начните читать список данных. |
OpenDataListElement ( nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion) | Начните читать элемент списка данных. |
OpenPathList ( ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader) | Начните читать список путей. |
PublisherSpecificTopicId (void) | Создайте идентификатор темы для конкретного издателя с нуля. |
SendStatusReport ( ExchangeContext *aExchangeCtx, StatusReport & aStatus) | |
StartDataList ( nl::Weave::TLV::TLVWriter & aWriter) | Начните писать список данных. |
StartDataList ( ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter) | Начните запись списка данных в данный объект ReferencedTLVData . |
StartDataListElement ( nl::Weave::TLV::TLVWriter & aWriter) | Начните писать элемент списка данных. |
StartEncodePath ( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath) | |
StartPathList ( nl::Weave::TLV::TLVWriter & aWriter) | Начните писать список путей. |
TxnResponseHandler ( ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg) | void |
TxnTimeoutHandler ( ExchangeContext *anExchangeCtx) | void |
ValidateTLVType ( nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader) | |
ValidateWDMTag (uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader) | Убедитесь, что считываемый элемент TLV имеет ожидаемый тег WDM. |
Классы | |
---|---|
nl:: Weave:: Profiles:: DataManagement_Legacy:: Binding | Класс Binding управляет состоянием связи от имени объекта приложения с помощью Weave. |
nl:: Weave:: Profiles:: DataManagement_Legacy:: ClientDataManager | Абстрактный класс, содержащий определения методов подтверждения и индикации, необходимые клиенту WDM. |
nl:: Weave:: Profiles:: DataManagement_Legacy:: ClientNotifier | Вспомогательный класс, используемый, когда на клиенте WDM требуется поддержка подписки и уведомлений. |
nl:: Weave:: Profiles:: DataManagement_Legacy:: DMClient | Абстрактный базовый класс для клиентов WDM, специфичных для приложения. |
nl:: Weave:: Profiles:: DataManagement_Legacy:: DMPublisher | Абстрактный базовый класс для издателей WDM, ориентированных на конкретные приложения. |
nl:: Weave:: Profiles:: DataManagement_Legacy:: ProfileDatabase | Абстрактный вспомогательный класс ProfileDatabase . |
nl:: Weave:: Profiles:: DataManagement_Legacy:: ProtocolEngine | Класс механизма протокола WDM. |
nl:: Weave:: Profiles:: DataManagement_Legacy:: PublisherDataManager | Абстрактный класс, содержащий определения методов подтверждения и уведомления, необходимые издателю WDM. |
Перечисления
@103
@103
@166
@166
Размеры пула и столов WDM.
WDM определяет различные пулы и таблицы, необходимые для его работы, следующим образом.
Пулы клиентских транзакций:
- kViewPoolSize
- kSubscribePoolSize
- kCancelSubscriptionPoolSize
- kUpdatePoolSize
Пулы транзакций издателя:
- kNotifyPoolSize
Таблицы механизма протоколов:
- kTransactionTableSize
- kBindingTableSize
Таблицы, связанные с подпиской:
- kNotifierTableSize (только клиент)
- kSubscriptionMgrTableSize (только для издателя)
Обратите внимание, что это настраиваемые величины и что значения для каждой платформы отображаются в связанном файле WeaveConfig.h .
Характеристики | |
---|---|
kBindingTableSize | Это размер таблицы привязки по умолчанию в механизме протокола WDM. Это значение можно настроить с помощью WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE . |
kCancelSubscriptionPoolSize | Это размер по умолчанию пула транзакций запроса на отмену подписки для клиента WDM. Это значение можно настроить с помощью WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE . |
kNotifierTableSize | Это размер таблицы уведомлений по умолчанию для клиентов WDM. Это значение можно настроить с помощью WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE . |
kNotifyPoolSize | Это размер по умолчанию пула транзакций запросов уведомлений для издателя WDM. Это значение можно настроить с помощью WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE . |
kSubscribePoolSize | Это размер по умолчанию пула транзакций запроса на подписку для клиента WDM. Это значение можно настроить с помощью WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE . |
kSubscriptionMgrTableSize | Это размер таблицы подписки по умолчанию для издателей WDM. Это значение можно настроить с помощью WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE . |
kTransactionTableSize | Это размер таблицы транзакций по умолчанию в механизме протокола WDM. Это значение можно настроить с помощью WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE . |
kUpdatePoolSize | Это размер по умолчанию пула транзакций запросов на обновление для клиента WDM. Это значение можно настроить с помощью WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE . |
kViewPoolSize | Это размер по умолчанию пула транзакций запросов на просмотр для клиента WDM. Это значение можно настроить с помощью WEAVE_CONFIG_WDM_VIEW_POOL_SIZE . |
@167
@167
Типы сообщений профиля WDM.
Эти значения указаны в спецификации управления данными.
ПРИМЕЧАНИЕ!! По состоянию на первый квартал 2015 года типы сообщений, использовавшиеся в предыдущих версиях WDM, устарели, и были определены новые типы сообщений, что отражает достаточный сдвиг в прошлых деталях упаковки и анализа, чтобы оправдать полный разрыв.
@168
@168
Разные константы, специфичные для WDM.
Характеристики | |
---|---|
kDefaultBindingTableIndex | Индекс привязки по умолчанию в таблице привязок механизма протокола, содержащей более одной записи. |
kInstanceIdNotSpecified | В вызовах, требующих указания экземпляра профиля, указывается «нет». Чаще всего это означает, что на рассматриваемом объекте присутствует только один экземпляр профиля. |
kResponseTimeoutNotSpecified | В методах, запрашивающих транзакцию, указывает, что вызывающая сторона отказалась указать тайм-аут. Обычно это означает, что следует использовать значение по умолчанию. |
kTransactionIdNotSpecified | В методах и структурах данных, которые принимают идентификатор транзакции, указывается «нет» или значение подстановочного знака. |
kVersionNotSpecified | В вызовах, требующих указания версии данных, указывается «нет конкретной версии». |
kWeaveTLVControlByteLen | Длина управляющего байта TLV , используемого в методах поддержки, кодирующих структуры WDM в TLV . |
kWeaveTLVTagLen | Стандартная длина в байтах полного тега TLV , используемая в методах поддержки, которые кодируют структуры WDM в TLV . |
@169
@169
Коды состояния, специфичные для WDM.
@170
@170
Теги протокола управления данными.
Протокол управления данными определяет ряд тегов, которые будут использоваться в TLV- представлении данных профиля.
Как обычно, существуют проблемы совместимости между новым и старым WDM. в старые добрые времена все эти теги применялись как специфичные для профиля, что было пустой тратой места. теперь мы используем контекстные теги там, где это возможно, но нам нужно сохранить старые (и иметь механизм кодирования путей с ними), где это возможно.
Тег kTag_WDMDataListElementData не использовался в предыдущих выпусках и полностью игнорировался кодом, поэтому нам не нужно предоставлять устаревшую версию.
Характеристики | |
---|---|
kTag_WDMDataList | Элемент представляет собой список структур, содержащих путь, необязательную версию и элементы данных. Тип тега: специфичный для профиля. Тип элемента: Массив. Расположение: Верхний уровень. |
kTag_WDMDataListElementData | Элемент представляет данные, на которые указывает заданный путь и которые имеют заданную версию. Тип тега: Зависит от контекста. Тип элемента: Любой. Расположение: Обязательно. |
kTag_WDMDataListElementData_Deprecated | Устарело. Тип тега: Зависит от контекста. Тип элемента: Любой. Расположение: Обязательно. |
kTag_WDMDataListElementPath | Этот элемент является компонентом пути элемента списка данных. Тип тега: Зависит от контекста. Тип элемента: Путь. Расположение: Обязательно. |
kTag_WDMDataListElementPath_Deprecated | Устарело. Тип тега: специфичный для профиля. Тип элемента: Путь. Расположение: Обязательно. |
kTag_WDMDataListElementVersion | Этот элемент является компонентом версии элемента списка данных. Тип тега: Зависит от контекста. Тип элемента: Целое число. Расположение: Обязательно. |
kTag_WDMDataListElementVersion_Deprecated | Устарело. Тип тега: специфичный для профиля. Тип элемента: целое число. Расположение: обязательно. |
kTag_WDMPathArrayIndexSelector | Элемент пути соответствует массиву в схеме, а содержащийся в нем целочисленный элемент должен использоваться в качестве индекса в этом массиве. Тип тега: Специфический для профиля. Тип элемента: Целочисленный. Расположение: Необязательно. |
kTag_WDMPathArrayValueSelector | Элемент пути соответствует массиву в схеме, а инкапсулированный элемент должен использоваться в качестве селектора записей. Тип тега: Специфический для профиля. Тип элемента: Структура. Расположение: Необязательно. |
kTag_WDMPathList | Этот элемент представляет собой список путей TLV . Тип тега: специфичный для профиля. Тип элемента: Массив. Расположение: Верхний уровень. |
kTag_WDMPathProfile | Элемент представляет собой структуру, которая используется для начала пути и содержит информацию профиля, в свете которой должны интерпретироваться теги в пути. Тип тега: Специфический для профиля. Тип элемента: Структура. Расположение: Обязательно. |
kTag_WDMPathProfileId | Этот элемент представляет собой компонент идентификатора профиля элемента профиля пути, который начинает путь TLV . Тип тега: Зависит от контекста. Тип элемента: Целое число. Расположение: Обязательно. |
kTag_WDMPathProfileId_Deprecated | Устарело. Тип тега: специфичный для профиля. Тип элемента: целое число. Расположение: обязательно. |
kTag_WDMPathProfileInstance | Этот элемент представляет собой экземпляр профиля, который может следовать за идентификатором профиля в пути TLV . Обратите внимание, что узел может иметь или не иметь несколько экземпляров определенного профиля, а в случае, если он только один, этот элемент можно опустить. Тип тега: Зависит от контекста. Тип элемента: Любой. Расположение: Необязательно. |
kTag_WDMPathProfileInstance_Deprecated | Устарело. Тип тега: специфичный для профиля. Тип элемента: любой. Расположение: необязательно. |
@171
@171
Отличающиеся идентификаторы тем.
Существует три различных идентификатора интересующей темы, все три из которых имеют формат «зависит от издателя».
Вариант WeaveTransport
WeaveTransportOption
Варианты транспортировки WDM.
Это взаимоисключающие варианты транспортировки для WDM.
Определения типов
Идентификатор темы
uint64_t TopicIdentifier
Идентификатор темы.
Идентификаторы тем представляют собой 64-битные величины с двумя связанными использованиями/семантикой. Прежде всего, их можно использовать как условное обозначение хорошо известного набора путей, например «детектор дыма Nest». Идентификаторы тем, используемые таким образом, должны, как и идентификаторы профилей, содержать код поставщика, который предотвращает конфликт идентификаторов тем, выбранных автономно разными поставщиками, следующим образом:
бит 48–63 | бит 0–47 |
Идентификатор поставщика | Номер темы |
WeaveVendorIdentifiers.hpp
Функции
ПроверитьTLVType
bool CheckTLVType( nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader )
Убедитесь, что считываемый элемент TLV имеет ожидаемый тип TLV .
Проверьте данный тип TLV по типу элемента в начале считывателя TLV .
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | true, если TLVType элемента и aType совпадают. |
WeaveTLVTypes.h
ПроверитьWDMTag
bool CheckWDMTag( uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader )
Проверьте тег, специфичный для WDM.
Проверьте номер тега, специфичного для WDM, из .../data-management/DMConstants.h, по фактическому тегу в начале устройства чтения TLV .
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | true, если aReader.GetTag() создает тег, соответствующий одной из ожидаемых форм тега для данного номера тега. |
ЗакрытьDataListElement
WEAVE_ERROR CloseDataListElement( nl::Weave::TLV::TLVReader & aReader )
Прекратите чтение элемента списка данных WDM.
Этот метод предполагает, что рассматриваемый элемент является частью списка данных WDM, и поэтому передает kTLVType_Array в ExitContainer().
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR , отражающий невозможность выхода из контейнера. |
ЗакрытьСписок
WEAVE_ERROR CloseList( nl::Weave::TLV::TLVReader & aReader )
Прекратите чтение пути или списка данных WDM.
Этот метод предполагает, что рассматриваемый список является самым верхним элементом TLV , и поэтому передает kTLVType_Sructure в ExitContainer().
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR , отражающий невозможность выхода из контейнера. |
EncodeDeprecatedPath
WEAVE_ERROR EncodeDeprecatedPath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ... )
Закодируйте путь WDM с помощью устаревших тегов и целочисленного идентификатора экземпляра.
Примечание. Закодируйте путь, используя устаревший набор тегов, принятый службой до версии Weave 2.0. Эта версия метода принимает числовой идентификатор экземпляра. Этот метод запускает контейнер с ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile), а затем вставляет идентификатор профиля с ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated). Затем он вставляет идентификатор экземпляра с помощью ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated). Это одна из устаревших версий кодирования пути, и в новых проектах следует избегать использования этого формата.
Подробности | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||
Возврат | WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR , отражающий невозможность форматирования данного пути. |
EncodeDeprecatedPath
WEAVE_ERROR EncodeDeprecatedPath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ... )
Закодируйте путь WDM с помощью устаревших тегов и идентификатора экземпляра строки.
Примечание. Закодируйте путь, используя устаревший набор тегов (см. DMConstants.h). Эта версия метода принимает строку идентификатора экземпляра. Этот метод запускает контейнер с ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile), а затем вставляет идентификатор профиля с ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated). Затем он вставляет идентификатор экземпляра с помощью ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Deprecated). Это одна из устаревших версий кодирования пути, и в новых проектах следует избегать использования этого формата.
Подробности | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||
Возврат | WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR , отражающий невозможность форматирования данного пути. |
Кодироватьпуть
WEAVE_ERROR EncodePath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ... )
Закодируйте путь WDM с помощью целочисленного идентификатора экземпляра профиля.
Примечание. Запишите путь TLV , используемый в управлении данными, где, в частности, в начале имеется обозначение профиля, позволяющее интерпретировать последующие элементы пути. Эта версия метода принимает целочисленный идентификатор экземпляра профиля.
Этот метод вставляет идентификатор экземпляра с помощью ContextTag(kTag_WDMPathProfileInstance), который является последней версией кодирования пути.
Подробности | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||
Возврат | WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR , отражающий невозможность форматирования данного пути. |
Кодироватьпуть
WEAVE_ERROR EncodePath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ... )
Закодируйте путь WDM с помощью идентификатора экземпляра байтового массива.
Примечание. Напишите путь TLV , используемый в управлении данными, где, в частности, в начале имеется обозначение профиля, позволяющее интерпретировать последующие элементы пути. Эта версия метода принимает идентификатор экземпляра профиля байтового массива вместе с длиной.
Этот метод вставляет идентификатор экземпляра, используя ContextTag(kTag_WDMPathProfileInstance), который является последней версией для кодирования пути.
Подробности | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||||
Возврат | WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR , отражающий невозможность форматирования данного пути. |
Кодироватьпуть
WEAVE_ERROR EncodePath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ... )
Закодируйте путь WDM с помощью идентификатора экземпляра строки.
Примечание. Напишите путь TLV , используемый в управлении данными, где, в частности, в начале имеется обозначение профиля, позволяющее интерпретировать последующие элементы пути. Эта версия метода принимает идентификатор экземпляра строкового профиля.
Этот метод вставляет идентификатор экземпляра, используя ContextTag(kTag_WDMPathProfileInstance), который является последней версией для кодирования пути.
Подробности | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||
Возврат | WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR , отражающий невозможность форматирования данного пути. |
EndDataListElement
WEAVE_ERROR EndDataListElement( nl::Weave::TLV::TLVWriter & aWriter )
Завершите написание элемента списка данных.
Запишите TLV для конца элемента списка данных WDM. Обратите внимание: это автоматически передает тип kTLVType_Array в вызов EndContainer(), предполагая, что мы всегда закрываем элемент списка.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR , отражающий невозможность завершения контейнера. |
Конденкодепас
WEAVE_ERROR EndEncodePath( TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError )
Конечный список
WEAVE_ERROR EndList( nl::Weave::TLV::TLVWriter & aWriter )
Завершите написание списка путей или списка данных.
Запишите TLV для конца пути WDM или списка данных. Также доработайте писателя.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR , отражающий невозможность завершения контейнера. |
Конечный список
WEAVE_ERROR EndList( ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter )
Завершите написание списка путей или списка данных.
Запишите TLV для конца пути WDM или списка данных. Также доработайте писателя. В этом случае объект ReferencedTLVData , в который записывается TLV , передается и изменяется в соответствии с объемом записанных данных.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR , отражающий невозможность завершения контейнера. |
IsPublisherSpecific
bool IsPublisherSpecific( const TopicIdentifier & aTopicId )
Проверьте, зависит ли идентификатор темы от издателя.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | true, если идентификатор темы зависит от издателя, в противном случае — false |
Опендаталист
WEAVE_ERROR OpenDataList( ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader )
Начните читать список данных.
Получив новое средство чтения и список данных, начните читать список и проверьте теги и типы, первоначально встречающиеся в процессе. Если все идет хорошо, программа чтения останавливается после входа в контейнер списка.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR , отражающий сбой при открытии списка данных и/или проверке соответствующих тегов и типов. |
Опендаталистэлемент
WEAVE_ERROR OpenDataListElement( nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion )
Начните читать элемент списка данных.
Учитывая, что считыватель расположен в элементе списка данных, начните читать элемент и проверьте теги и типы, первоначально встречающиеся в процессе. Если все идет хорошо, считыватель оказывается на данных элемента данных, а считыватель пути ввода/вывода располагается на соответствующем пути.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возврат | WEAVE_NO_ERROR в случае успеха или WEAVE_ERROR, связанный с открытием и чтением элемента списка данных. |
ОпенПатЛист
WEAVE_ERROR OpenPathList( ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader )
Начните читать список путей.
Получив новое средство чтения и список путей, начните читать список и проверьте теги и типы, первоначально встречающиеся в процессе. Если все идет хорошо, программа чтения останавливается после входа в контейнер списка.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | WEAVE_NO_ERROR в случае успеха; в противном случае WEAVE_ERROR отражает сбой при открытии списка путей и/или проверке соответствующих тегов и типов. |
Идентификатор конкретной темы издателя
TopicIdentifier PublisherSpecificTopicId( void )
Создайте идентификатор темы для конкретного издателя с нуля.
Подробности | |
---|---|
Возврат | новый идентификатор темы. |
Отправитьстатусрепорт
WEAVE_ERROR SendStatusReport( ExchangeContext *aExchangeCtx, StatusReport & aStatus )
Стартдаталист
WEAVE_ERROR StartDataList( nl::Weave::TLV::TLVWriter & aWriter )
Начните писать список данных.
Запишите TLV для начала списка данных WDM, например, в качестве основного аргумента UpdateRequest().
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR , отражающий невозможность запуска контейнера. |
Стартдаталист
WEAVE_ERROR StartDataList( ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter )
Начните запись списка данных в данный объект ReferencedTLVData .
Запишите TLV для начала списка данных WDM. В этом случае мы предполагаем, что записываем список данных в связанную структуру данных TLV . Предполагается, что модуль записи не инициализирован или, в любом случае, будет инициализирован для указания на данный объект.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR , отражающий невозможность запуска контейнера. |
Стартдаталистэлемент
WEAVE_ERROR StartDataListElement( nl::Weave::TLV::TLVWriter & aWriter )
Начните писать элемент списка данных.
Запишите TLV для начала элемента списка данных WDM.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR , отражающий невозможность запуска контейнера. |
Старткодепуть
WEAVE_ERROR StartEncodePath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath )
СтартПатЛист
WEAVE_ERROR StartPathList( nl::Weave::TLV::TLVWriter & aWriter )
Начните писать список путей.
Запишите TLV для начала списка путей WDM, например, в качестве основного аргумента ViewRequest().
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | WEAVE_NO_ERROR В случае успеха. В противном случае верните WEAVE_ERROR , отражающий невозможность запуска контейнера. |
TxnResponseHandler
void TxnResponseHandler( ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg )
Обработчик TxnTimeoutHandler
void TxnTimeoutHandler( ExchangeContext *anExchangeCtx )
Проверить типTLV
WEAVE_ERROR ValidateTLVType( nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader )
Убедитесь, что считываемый элемент TLV имеет ожидаемый тип TLV .
Сверьте данный тип TLV с типом элемента в начале устройства чтения TLV и верните ошибку, если совпадений нет.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | WEAVE_NO_ERROR, если есть совпадение, или WEAVE_ERROR_WRONG_TLV_TYPE , если нет. |
WeaveTLVTypes.h
ПроверитьWDMTag
WEAVE_ERROR ValidateWDMTag( uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader )
Убедитесь, что считываемый элемент TLV имеет ожидаемый тег WDM.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | WEAVE_NO_ERROR В случае успеха. В противном случае WEAVE_ERROR_INVALID_TLV_TAG , если тег не соответствует заданному номеру тега при интерпретации как тег WDM. |