nl::Weave::Profiles::DataManagement_Legacy

この名前空間には、サポート終了が近づいている Weave Data Management(WDM)プロファイル用の Weave 内のすべてのインターフェースが含まれます。

概要

列挙型

@103{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
@166{
  kViewPoolSize = WEAVE_CONFIG_WDM_VIEW_POOL_SIZE,
  kSubscribePoolSize = WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE,
  kCancelSubscriptionPoolSize = WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE,
  kUpdatePoolSize = WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE,
  kNotifyPoolSize = WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE,
  kTransactionTableSize = WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE,
  kBindingTableSize = WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE,
  kNotifierTableSize = WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE,
  kSubscriptionMgrTableSize = WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE
}
enum
WDM のプールとテーブルのサイズ。
@167{
  kMsgType_ViewRequest = 0x10,
  kMsgType_ViewResponse = 0x11,
  kMsgType_SubscribeRequest = 0x12,
  kMsgType_SubscribeResponse = 0x13,
  kMsgType_CancelSubscriptionRequest = 0x14,
  kMsgType_UpdateRequest = 0x15,
  kMsgType_NotifyRequest = 0x16,
  kMsgType_ViewRequest_Deprecated = 0x00,
  kMsgType_ViewResponse_Deprecated = 0x01,
  kMsgType_SubscribeRequest_Deprecated = 0x02,
  kMsgType_SubscribeResponse_Deprecated = 0x03,
  kMsgType_CancelSubscriptionRequest_Deprecated = 0x04,
  kMsgType_UpdateRequest_Deprecated = 0x05,
  kMsgType_NotifyRequest_Deprecated = 0x06
}
enum
WDM プロファイルのメッセージ タイプ。
@168{
  kTransactionIdNotSpecified = 0,
  kResponseTimeoutNotSpecified = 0,
  kVersionNotSpecified = 0xFFFFFFFFFFFFFFFFULL,
  kInstanceIdNotSpecified = 0,
  kDefaultBindingTableIndex = 0,
  kWeaveTLVTagLen = 8,
  kWeaveTLVControlByteLen = 1
}
enum
その他の WDM 固有の定数。
@169{
  kStatus_CancelSuccess = 0x0001,
  kStatus_InvalidPath = 0x0013,
  kStatus_UnknownTopic = 0x0014,
  kStatus_IllegalReadRequest = 0x0015,
  kStatus_IllegalWriteRequest = 0x0016,
  kStatus_InvalidVersion = 0x0017,
  kStatus_UnsupportedSubscriptionMode = 0x0018
}
enum
WDM 固有のステータス コード。
@170{
  kTag_WDMPathList = 100,
  kTag_WDMPathProfile = 101,
  kTag_WDMPathProfileId = 1,
  kTag_WDMPathProfileInstance = 2,
  kTag_WDMPathProfileId_Deprecated = 102,
  kTag_WDMPathProfileInstance_Deprecated = 103,
  kTag_WDMPathArrayIndexSelector = 104,
  kTag_WDMPathArrayValueSelector = 105,
  kTag_WDMDataList = 200,
  kTag_WDMDataListElementPath = 3,
  kTag_WDMDataListElementVersion = 4,
  kTag_WDMDataListElementData = 5,
  kTag_WDMDataListElementPath_Deprecated = 201,
  kTag_WDMDataListElementVersion_Deprecated = 202,
  kTag_WDMDataListElementData_Deprecated = 203
}
enum
データ管理プロトコルのタグ。
@171{
  kTopicIdPublisherSpecificMask = 0xFFFF000000000000ULL,
  kTopicIdNotSpecified = 0x0000000000000000ULL,
  kAnyTopicId = 0xFFFFFFFFFFFFFFFFULL
}
enum
識別されたトピック ID。
WeaveTransportOption{
  kTransport_TCP = 1,
  kTransport_WRMP = 2,
  kTransport_UDP = 3
}
enum
WDM 転送オプション。

Typedef

TopicIdentifier typedef
uint64_t
トピック ID。

関数

CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
bool
読み取られる TLV 要素が期待される TLV 型であることを確認します。
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, ...)
非推奨のタグと整数のインスタンス ID を含む WDM パスをエンコードします。
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
非推奨のタグと文字列のインスタンス ID を含む WDM パスをエンコードします。
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
整数のプロファイル インスタンス ID で WDM パスをエンコードします。
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
バイト配列のインスタンス ID を使用して WDM パスをエンコードします。
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
文字列のインスタンス ID で 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
トピック ID がパブリッシャー固有かどうかを確認します。
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)
パブリッシャー固有のトピック ID をゼロから生成する。
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)
読み取られる TLV 要素が期待される TLV 型であることを検証します。
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
プロパティ
kStatus_CancelSuccess

この以前のステータス コードは、定期購入が正常に解約されたことを示します。

このステータス コードは、定期購入が正常に解約されたことを示します。

kStatus_IllegalReadRequest

この以前のステータス コードは、特定のデータアイテムの読み取りをリクエストしているノードに読み取り権限がないことを意味します。

このステータス コードは、特定のデータアイテムの読み取りをリクエストしているノードに読み取り権限がないことを意味します。

kStatus_IllegalWriteRequest

この以前のステータス コードは、特定のデータアイテムの書き込みをリクエストしているノードに、書き込みを行う権限がないことを意味します。

このステータス コードは、特定のデータ項目の書き込みをリクエストしているノードに、書き込み権限がないことを意味します。

kStatus_InvalidPath

この以前のステータス コードは、ビューまたは更新リクエスト フレームのパスリストのパスが、レスポンダのノード常駐スキーマと一致しなかったことを意味します。

このステータス コードは、ビューまたは更新リクエスト フレームのパスリストのパスが、レスポンダのノード常駐スキーマと一致しなかったことを意味します。

kStatus_InvalidVersion

この以前のステータス コードは、更新リクエストに含まれるデータのバージョンがパブリッシャーの最新バージョンと一致しなかったため、更新を適用できなかったことを意味します。

このステータス コードは、更新リクエストに含まれるデータのバージョンがパブリッシャーの最新バージョンと一致しなかったため、更新を適用できなかったことを意味します。

kStatus_UnknownTopic

この以前のステータス コードは、キャンセル リクエストまたは通知で指定されたトピック ID が、受信側ノードに現在存在するサブスクリプションのいずれとも一致しなかったことを意味します。

このステータス コードは、キャンセル リクエストまたは通知で提供されたトピック ID が、受信ノード上に現在存在するサブスクリプションのいずれとも一致しないことを意味します。

kStatus_UnsupportedSubscriptionMode

この以前のステータス コードは、リクエストした定期購入モードが移行先のデバイスでサポートされていないことを意味します。

このステータス コードは、リクエストした定期購入モードが受信デバイスでサポートされていないことを意味します。

@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 年第 1 四半期の時点で、以前のバージョンの WDM で使用されていたメッセージ・タイプは廃止され、新しいメッセージ・タイプが定義されました。これは、過去のパッキングと解析の詳細による十分な変更を反映して、クリーンなブレークを正当化します。

プロパティ
kMsgType_CancelSubscriptionRequest

定期購入の解約リクエスト メッセージ。

kMsgType_CancelSubscriptionRequest_Deprecated

廃止予定

kMsgType_NotifyRequest

通知リクエスト メッセージ。

kMsgType_NotifyRequest_Deprecated

廃止予定

kMsgType_SubscribeRequest

登録リクエスト メッセージ。

kMsgType_SubscribeRequest_Deprecated

廃止予定

kMsgType_SubscribeResponse

サブスクライブのレスポンス メッセージ。

kMsgType_SubscribeResponse_Deprecated

廃止予定

kMsgType_UpdateRequest

更新リクエスト メッセージ。

kMsgType_UpdateRequest_Deprecated

廃止予定

kMsgType_ViewRequest

リクエスト メッセージを表示します。

kMsgType_ViewRequest_Deprecated

廃止予定

kMsgType_ViewResponse

レスポンス メッセージを表示します。

kMsgType_ViewResponse_Deprecated

廃止予定

@168

 @168

その他の WDM 固有の定数。

プロパティ
kDefaultBindingTableIndex

複数のエントリを持つプロトコル エンジン バインディング テーブル内のデフォルト バインディングのインデックス。

kInstanceIdNotSpecified

プロファイル インスタンスの指定が必要な呼び出しでは、「なし」を示します。

ほとんどの場合、これは対象のエンティティにプロフィールのインスタンスが 1 つしか存在しないことを意味します。

kResponseTimeoutNotSpecified

トランザクションをリクエストするメソッドで、呼び出し元がタイムアウトの指定を拒否したことを示します。

通常は、デフォルトを使用する必要があります。

kTransactionIdNotSpecified

トランザクション ID を受け取るメソッドとデータ構造では、「なし」を示しますワイルドカード値も指定できます

kVersionNotSpecified

データ バージョンの指定が必要な呼び出しでは、「特定のバージョンなし」を示します。

kWeaveTLVControlByteLen

TLV 制御バイトの長さ。TLV で WDM 構造体をエンコードするサポート メソッドで使用されます。

kWeaveTLVTagLen

完全修飾された TLV タグの標準の長さ(バイト単位)。TLV で WDM 構造をエンコードするサポート メソッドで使用されます。

@169

 @169

WDM 固有のステータス コード。

プロパティ
kStatus_CancelSuccess

この以前のステータス コードは、定期購入が正常に解約されたことを示します。

このステータス コードは、定期購入が正常に解約されたことを示します。

kStatus_IllegalReadRequest

この以前のステータス コードは、特定のデータアイテムの読み取りをリクエストしているノードに読み取り権限がないことを意味します。

このステータス コードは、特定のデータアイテムの読み取りをリクエストしているノードに読み取り権限がないことを意味します。

kStatus_IllegalWriteRequest

この以前のステータス コードは、特定のデータアイテムの書き込みをリクエストしているノードに、書き込みを行う権限がないことを意味します。

このステータス コードは、特定のデータ項目の書き込みをリクエストしているノードに、書き込み権限がないことを意味します。

kStatus_InvalidPath

この以前のステータス コードは、ビューまたは更新リクエスト フレームのパスリストのパスが、レスポンダのノード常駐スキーマと一致しなかったことを意味します。

このステータス コードは、ビューまたは更新リクエスト フレームのパスリストのパスが、レスポンダのノード常駐スキーマと一致しなかったことを意味します。

kStatus_InvalidVersion

この以前のステータス コードは、更新リクエストに含まれるデータのバージョンがパブリッシャーの最新バージョンと一致しなかったため、更新を適用できなかったことを意味します。

このステータス コードは、更新リクエストに含まれるデータのバージョンがパブリッシャーの最新バージョンと一致しなかったため、更新を適用できなかったことを意味します。

kStatus_UnknownTopic

この以前のステータス コードは、キャンセル リクエストまたは通知で指定されたトピック ID が、受信側ノードに現在存在するサブスクリプションのいずれとも一致しなかったことを意味します。

このステータス コードは、キャンセル リクエストまたは通知で提供されたトピック ID が、受信ノード上に現在存在するサブスクリプションのいずれとも一致しないことを意味します。

kStatus_UnsupportedSubscriptionMode

この以前のステータス コードは、リクエストした定期購入モードが移行先のデバイスでサポートされていないことを意味します。

このステータス コードは、リクエストした定期購入モードが受信デバイスでサポートされていないことを意味します。

@170

 @170

データ管理プロトコルのタグ。

データ マネジメント プロトコルでは、プロファイル データの TLV 表現で使用される複数のタグを定義します。

通常どおり、新しい WDM と古い 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 パスを開始するパス プロファイル要素のプロファイル ID コンポーネントです。

タグタイプ: コンテキスト固有の要素タイプ: 整数処理: 必須

kTag_WDMPathProfileId_Deprecated

非推奨です。

タグタイプ: プロファイル固有の要素タイプ: 整数処理: 必須

kTag_WDMPathProfileInstance

この要素はプロファイル インスタンスであり、TLV パスでプロファイル ID の後に続く場合があります。

1 つのノードに特定のプロファイルの複数のインスタンスがある場合も、ない場合もあります。また、インスタンスが 1 つしかない場合は、この要素は省略できます。

タグタイプ: コンテキスト固有の要素タイプ: 任意処理: 省略可

kTag_WDMPathProfileInstance_Deprecated

非推奨です。

タグタイプ: プロファイル固有の要素タイプ: 任意処理: オプション

@171

 @171

識別されたトピック ID。

関心のあるトピック ID が 3 つあり、いずれも「パブリッシャー固有」の形式になっています。

プロパティ
kAnyTopicId

ワイルドカードのトピック ID として予約されています。

kTopicIdNotSpecified

これは、無効なトピック ID またはワイルドカードのトピック ID を表すために予約されている特別な値です。

kTopicIdPublisherSpecificMask

これは、topci ID を作成または分解するためのマスクとして使用されます。

WeaveTransportOption

 WeaveTransportOption

WDM 転送オプション。

これらは WDM の相互に排他的な転送オプションです。

プロパティ
kTransport_TCP

基盤となるトランスポートは TCP です。

バインディングは、サービス マネージャーを使用して完了するか、メッセージ レイヤを直接使用して完了できます。

kTransport_UDP

基盤となるトランスポートは UDP のみになります。

kTransport_WRMP

基盤となるトランスポートは UDP のみだが、「アプリケーション サポート レイヤ」がある信頼性が向上します。

Typedef

TopicIdentifier

uint64_t TopicIdentifier

トピック ID。

トピック識別子は 64 ビットの数値であり、2 つの関連する使用/セマンティクスがあります。まず、パスのセットの従来の省略形として使用できます。「 Google Nest 煙探知機」です。その方法で使用されるトピック ID には、プロファイル ID と同様に、異種のベンダーが自律的に選択したトピック ID 同士が競合しないようにベンダーコードを含める必要があります。

ビット 48 ~ 63 ビット 0 ~ 47
ベンダー ID トピック番号
トピック識別子の 2 つ目の使用/セマンティクスは、WDM クライアントとパブリッシャー間の動的サブスクリプションの場合に生じます。この場合、パブリッシャーは常に特定のサブスクリプションを表す一意のトピック ID を提供する必要があります。これは、サブスクリプションが要求されたのが既知のトピック ID を使用しても、任意のパスリストを使用しても、これを行うものとします。この形式のトピック識別子は、ベンダーコード 0xFFFF によって区別されます。

関連情報:
WeaveVendorIdentifiers.hpp

関数

CheckTLVType

bool CheckTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

読み取られる TLV 要素が期待される TLV 型であることを確認します。

TLV リーダーのヘッドにある要素タイプと特定の TLV 型をチェックします。

詳細
パラメータ
[in] aType
特定の要素に対してチェックされる TLVType
[in] aReader
確認対象の要素に配置された TLV リーダーへの参照
戻り値
要素の TLVType と aType が一致する場合は true を返します。
関連情報:
WeaveTLVTypes.h

CheckWDMTag

bool CheckWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

WDM 固有のタグを確認します。

.../data-management/DMConstants.h にある WDM 固有のタグの番号を、TLV リーダーのヘッドにある実際のタグと照合します。

詳細
パラメータ
[in] aTagNum
特定の TLV 要素と照合するタグ番号。
[in] aReader
チェックする要素を指す TLV リーダーへの参照。
戻り値
aReader.GetTag() が、指定されたタグ番号の想定されるタグ形式のいずれかに一致するタグを生成する場合は true。

CloseDataListElement

WEAVE_ERROR CloseDataListElement(
  nl::Weave::TLV::TLVReader & aReader
)

WDM データリスト要素の読み取りを停止します。

このメソッドは、対象の要素が WDM データリストの一部であることを前提としています。そのため、kTLVType_Array を ExitContainer() に渡します。

詳細
パラメータ
[in,out] aReader
WDM データリスト要素内にある TLV リーダー。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、コンテナを終了できないことを示す WEAVE_ERROR が返されます。

CloseList

WEAVE_ERROR CloseList(
  nl::Weave::TLV::TLVReader & aReader
)

WDM パスまたはデータリストの読み取りを停止します。

このメソッドは、対象のリストが最上位の TLV 要素であると想定するため、kTLVType_Sructure を ExitContainer() に渡します。

詳細
パラメータ
[in,out] aReader
WDM パスまたはデータリストに配置された TLV リーダー。
戻り値
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,
  ...
)

非推奨のタグと整数のインスタンス ID を含む WDM パスをエンコードします。

注: Weave リリース 2.0 より前のバージョンで受け入れられた非推奨のタグセットを使用して、パスをエンコードしてください。このバージョンのメソッドは数値のインスタンス識別子を受け取ります。 このメソッドは、ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile)を使用してコンテナを起動し、ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_の場所)を含むプロファイル ID を挿入します。その後、ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_deprecation)を使用してインスタンス ID を挿入します。これは、パスをエンコードするための非推奨バージョンの一つです。新しい設計では、この形式を使用しないようにする必要があります。

詳細
パラメータ
[in] aWriter
パスを書き出すために使用される TLV ライターへの参照。
[in] aTag
このパスに適用される完全修飾 TLV タグへの参照。
[in] aProfileId
パスの要素が解釈されるプロファイル ID。
[in] aInstanceId
使用するプロファイルのインスタンス ID への参照(省略可)。
[in] aPathLen
最初のプロファイル指定子を超えるパス要素のリストの長さ(0 の場合もあります)。
[in] ...
追加のパスタグの可変長リスト(省略可)。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、指定されたパスをフォーマットできないことを示す WEAVE_ERROR が返されます。

EncodeDeprecatedPath

WEAVE_ERROR EncodeDeprecatedPath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

非推奨のタグと文字列のインスタンス ID を含む WDM パスをエンコードします。

注: 非推奨のタグセットを使用してパスをエンコードします(DMConstants.h を参照)。このバージョンのメソッドはインスタンス ID の文字列を取ります。 このメソッドは、ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile)を使用してコンテナを起動し、ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_の場所)を含むプロファイル ID を挿入します。その後、ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_deprecation)を使用してインスタンス ID を挿入します。これは、パスをエンコードするための非推奨バージョンの一つです。新しい設計では、この形式を使用しないようにする必要があります。

詳細
パラメータ
[in] aWriter
パスを書き出すために使用される TLV ライターへの参照。
[in] aTag
このパスに適用される完全修飾 TLV タグへの参照。
[in] aProfileId
パスの要素が解釈されるプロファイル ID。
[in] aInstanceId
プロファイル インスタンス ID として使用されるオプションの文字列。インスタンス ID が指定されていない場合、この引数は NULL になります。
[in] aPathLen
最初のプロファイル指定子を超えるパス要素のリストの長さ(0 の場合もあります)。
[in] ...
追加のパスタグの可変長リスト(省略可)。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、指定されたパスをフォーマットできないことを示す WEAVE_ERROR が返されます。

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint64_t & aInstanceId,
  uint32_t aPathLen,
  ...
)

整数のプロファイル インスタンス ID で WDM パスをエンコードします。

注: データ マネジメントで使用する種類の TLV パスを記述します。特に、後続のパス要素を解釈できるようにプロファイルの指定が先頭に配置されています。 このバージョンのメソッドは、整数のプロファイル インスタンス ID を受け取ります。

このメソッドは、パスのエンコードの最新バージョンである ContextTag(kTag_WDMPathProfileInstance) を使用してインスタンス ID を挿入します。

詳細
パラメータ
[in] aWriter
パスを書き出すために使用される TLV ライターへの参照。
[in] aTag
このパスに適用される完全修飾 TLV タグへの参照。
[in] aProfileId
パスの要素が解釈されるプロファイル ID。
[in] aInstanceId
使用するプロファイルのインスタンス ID への参照(省略可)。インスタンス ID を使用しない場合は、このパラメータの値を kInstanceIdNotSpecified にする必要があります。
[in] aPathLen
最初のプロファイル指定子を超えるパス要素のリストの長さ(0 の場合もあります)。
[in] ...
追加のパスタグの可変長リスト(省略可)。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、指定されたパスをフォーマットできないことを示す WEAVE_ERROR が返されます。

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const uint32_t aInstanceIdLen,
  const uint8_t *aInstanceId,
  uint32_t aPathLen,
  ...
)

バイト配列のインスタンス ID を使用して WDM パスをエンコードします。

注: データ マネジメントで使用する種類の TLV パスを記述します。特に、後続のパス要素を解釈できるようにプロファイルの指定が先頭に配置されています。 このバージョンのメソッドは、バイト配列のプロファイル インスタンス ID と長さを受け取ります。

このメソッドは、パスのエンコードの最新バージョンである ContextTag(kTag_WDMPathProfileInstance) を使用してインスタンス ID を挿入します。

詳細
パラメータ
[in] aWriter
パスを書き出すために使用される TLV ライターへの参照。
[in] aTag
このパスに適用される完全修飾 TLV タグへの参照。
[in] aProfileId
パスの要素が解釈されるプロファイル ID。
[in] aInstanceIdLen
インスタンス ID を構成するバイト配列の長さ。ID がない場合、このパラメータの値は 0 になります。
[in] aInstanceId
プロファイル インスタンス識別子として使用されるオプションのバイト配列。インスタンス ID が指定されていない場合、この引数は NULL になります。
[in] aPathLen
最初のプロファイル指定子を超えるパス要素のリストの長さ(0 の場合もあります)。
[in] ...
追加のパスタグの可変長リスト(省略可)。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、指定されたパスをフォーマットできないことを示す WEAVE_ERROR が返されます。

EncodePath

WEAVE_ERROR EncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  const char *aInstanceId,
  uint32_t aPathLen,
  ...
)

文字列のインスタンス ID で WDM パスをエンコードします。

注: データ マネジメントで使用する種類の TLV パスを記述します。特に、後続のパス要素を解釈できるようにプロファイルの指定が先頭に配置されています。 このバージョンのメソッドは、文字列のプロファイル インスタンス ID を受け取ります。

このメソッドは、パスのエンコードの最新バージョンである ContextTag(kTag_WDMPathProfileInstance) を使用してインスタンス ID を挿入します。

詳細
パラメータ
[in] aWriter
パスを書き出すために使用される TLV ライターへの参照。
[in] aTag
このパスに適用される完全修飾 TLV タグへの参照。
[in] aProfileId
パスの要素が解釈されるプロファイル ID。
[in] aInstanceId
プロファイル インスタンス ID として使用されるオプションの文字列。インスタンス ID が指定されていない場合、この引数は NULL になります。
[in] aPathLen
最初のプロファイル指定子を超えるパス要素のリストの長さ(0 の場合もあります)。
[in] ...
追加のパスタグの可変長リスト(省略可)。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、指定されたパスをフォーマットできないことを示す WEAVE_ERROR が返されます。

EndDataListElement

WEAVE_ERROR EndDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

データリスト要素の書き込みを終了します。

WDM データリスト要素の最後に TLV を記述します。常にリストアイテムを閉じていると仮定して、これにより型 kTLVType_Array が EndContainer() 呼び出しに自動的に渡されることに注意してください。

詳細
パラメータ
[in] aWriter
アイテムの末尾の書き込みに使用する TLV ライターへの参照。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、コンテナを終了できないことを示す WEAVE_ERROR が返されます。

EndEncodePath

WEAVE_ERROR EndEncodePath(
  TLVWriter & aWriter,
  TLVType & mOuterContainer,
  WEAVE_ERROR mError
)

EndList

WEAVE_ERROR EndList(
  nl::Weave::TLV::TLVWriter & aWriter
)

パスリストまたはデータリストの作成を完了します。

WDM パスまたはデータリストの末尾には TLV を記述します。また、ライターをファイナライズします。

詳細
パラメータ
[in,out] aWriter
リストの最後の書き込みに使用する TLV ライターへの参照。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、コンテナを終了できないことを示す WEAVE_ERROR が返されます。

EndList

WEAVE_ERROR EndList(
  ReferencedTLVData & aList,
  nl::Weave::TLV::TLVWriter & aWriter
)

パスリストまたはデータリストの作成を完了します。

WDM パスまたはデータリストの末尾には TLV を記述します。また、ライターをファイナライズします。この場合、TLV の書き込み先となる ReferencedTLVData オブジェクトが渡され、書き込まれたデータの量を反映するように変更されます。

詳細
パラメータ
[in,out] aList
リストの書き込み先となる ReferenceTLVData オブジェクトへの参照。
[in] aWriter
リストの最後の書き込みに使用する TLV ライターへの参照。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、コンテナを終了できないことを示す WEAVE_ERROR が返されます。

IsPublisherSpecific

bool IsPublisherSpecific(
  const TopicIdentifier & aTopicId
)

トピック ID がパブリッシャー固有かどうかを確認します。

詳細
パラメータ
[in] aTopicId
トピック ID の OT チェック
戻り値
トピック ID がパブリッシャー固有の場合は true、それ以外の場合は false

OpenDataList

WEAVE_ERROR OpenDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVReader & aReader
)

データリストの読み取りを開始します。

新しいリーダーとデータリストが与えられると、リストの読み取りを開始し、プロセスで最初に検出されたタグと型を検証します。問題がなければ、リストコンテナに入るとリーダーが停止します。

詳細
パラメータ
[in] aDataList
ReferencedTLVData オブジェクトへの参照として渡されるデータリスト。通常のユースケースでは、受信後もリストが実際にバッファに残っていることがあります。
[out] aReader
データリストの読み取りに使用される TLV リーダーへの参照。このリーダーはリスト内の最初のアイテムの直前を向いたままになります。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、データリストを開いたり、関連するタグとタイプを検証したりすると、その失敗を示す WEAVE_ERROR が返されます。

OpenDataListElement

WEAVE_ERROR OpenDataListElement(
  nl::Weave::TLV::TLVReader & aReader,
  nl::Weave::TLV::TLVReader & aPathReader,
  uint64_t & aVersion
)

データリスト要素の読み取りを開始します。

リーダーがデータリスト要素にある場合、要素の読み取りを開始し、プロセスで最初に検出されたタグと型を検証します。すべてうまくいけば、リーダーはデータ要素データに配置され、入出力パスリーダーは対応するパスに配置されます。

詳細
パラメータ
[in] aReader
データリスト要素にある TLV リーダーへの参照。
[out] aPathReader
データリスト要素のパス コンポーネントを指す TLV リーダーへの参照。
[out] aVersion
データリスト要素のバージョン(存在する場合)または kVersionNotSpecified のいずれかに設定される 64 ビット整数への参照。
戻り値
成功した場合は WEAVE_NO_ERROR、それ以外の場合はデータリスト要素を開いて読み取りに関連する WEAVE_ERROR

OpenPathList

WEAVE_ERROR OpenPathList(
  ReferencedTLVData & aPathList,
  nl::Weave::TLV::TLVReader & aReader
)

パスリストの読み取りを開始します。

新しいリーダーとパスリストが与えられたら、リストの読み取りを開始し、プロセスで最初に検出されたタグと型を検証します。問題がなければ、リストコンテナに入るとリーダーが停止します。

詳細
パラメータ
[in] aPathList
ReferencedTLVData オブジェクトへの参照として渡されるパスリスト。通常のユースケースでは、受信後もリストが実際にバッファに残っていることがあります。
[out] aReader
パスリストの読み取りに使用される TLV リーダーへの参照。このリーダーはリストの最初のパスの直前を向いたままになります。
戻り値
成功すると WEAVE_NO_ERROR。それ以外の場合は、パスリストを開くか、関連するタグとタイプを検証できないことを示す WEAVE_ERROR

PublisherSpecificTopicId

TopicIdentifier PublisherSpecificTopicId(
  void
)

パブリッシャー固有のトピック ID をゼロから生成する。

詳細
戻り値
新しいトピック識別子です。

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *aExchangeCtx,
  StatusReport & aStatus
)

StartDataList

WEAVE_ERROR StartDataList(
  nl::Weave::TLV::TLVWriter & aWriter
)

データリストの作成を開始します。

WDM データリストの先頭には TLV を記述します。例:UpdateRequest() の主要な引数として指定します。

詳細
パラメータ
[in] aWriter
作成を開始する TLV ライターへの参照。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、コンテナを起動できないことを示す WEAVE_ERROR が返されます。

StartDataList

WEAVE_ERROR StartDataList(
  ReferencedTLVData & aDataList,
  nl::Weave::TLV::TLVWriter & aWriter
)

特定の ReferencedTLVData オブジェクトへのデータリストの書き込みを開始します。

WDM データリストの先頭には TLV を記述します。この例では、参照先の TLV データ構造にデータリストを書き出していると仮定します。ライターは初期化されていないとみなされます。つまり、指定されたオブジェクトを指すように初期化されます。

詳細
パラメータ
[out] aDataList
ライターのターゲットとなり、最終的に目的のデータが含まれる ReferencedTLVData オブジェクトへの参照。
[in] aWriter
作成を開始する TLV ライターへの参照。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、コンテナを起動できないことを示す WEAVE_ERROR が返されます。

StartDataListElement

WEAVE_ERROR StartDataListElement(
  nl::Weave::TLV::TLVWriter & aWriter
)

データリスト要素の書き込みを開始します。

WDM データリスト要素の先頭では TLV を記述します。

詳細
パラメータ
[in] aWriter
作成を開始する TLV ライターへの参照。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、コンテナを起動できないことを示す WEAVE_ERROR が返されます。

StartEncodePath

WEAVE_ERROR StartEncodePath(
  TLVWriter & aWriter,
  const uint64_t & aTag,
  uint32_t aProfileId,
  TLVType & mOuterContainer,
  TLVType & mPath
)

StartPathList

WEAVE_ERROR StartPathList(
  nl::Weave::TLV::TLVWriter & aWriter
)

パスリストの作成を開始します。

WDM パスリストの先頭には TLV を記述します(例:ViewRequest() の主要な引数として使います。

詳細
パラメータ
[in] aWriter
作成を開始する TLV ライターへの参照。
戻り値
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
)

ValidateTLVType

WEAVE_ERROR ValidateTLVType(
  nl::Weave::TLV::TLVType aType,
  nl::Weave::TLV::TLVReader & aReader
)

読み取られる TLV 要素が期待される TLV 型であることを検証します。

指定された TLV 型を TLV リーダーの先頭にある要素型と照合し、一致しない場合はエラーを返します。

詳細
パラメータ
[in] aType
特定の要素に対して検証される TLVType。
[in] aReader
検証する要素に配置されている TLV リーダーへの参照。
戻り値
一致する場合は WEAVE_NO_ERROR、一致しない場合は WEAVE_ERROR_WRONG_TLV_TYPE
関連情報:
WeaveTLVTypes.h

ValidateWDMTag

WEAVE_ERROR ValidateWDMTag(
  uint32_t aTagNum,
  nl::Weave::TLV::TLVReader & aReader
)

読み取られる TLV 要素に想定される WDM タグがあることを確認します。

詳細
パラメータ
[in] aTagNum
想定される WDM タグの 32 ビットタグ番号。
[in] aReader
検証する要素に配置された TLV リーダー。
戻り値
WEAVE_NO_ERROR: 成功時。それ以外の場合は、WEAVE_ERROR_INVALID_TLV_TAG(WDM タグとして解釈したときにタグが指定されたタグ番号と一致しない場合)。