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
トピック識別子。

関数

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

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

通常は、default を使用します。

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 つあり、この 3 つはすべて「パブリッシャー固有」の形式になっています。

プロパティ
kAnyTopicId

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

kTopicIdNotSpecified

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

kTopicIdPublisherSpecificMask

トップ CI ID を作成または分解するためのマスクとして使用されます。

WeaveTransportOption

 WeaveTransportOption

WDM 転送オプション。

これらは、WDM の相互に排他的なトランスポート オプションです。

プロパティ
kTransport_TCP

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

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

kTransport_UDP

基盤となるトランスポートは UDP 排他的です。

kTransport_WRMP

基盤となるトランスポートは UDP のみですが、「アプリケーション サポート レイヤ」の信頼性が強化されています。

Typedef

TopicIdentifier

uint64_t TopicIdentifier

トピック識別子。

トピック識別子は、2 つの関連する用途/セマンティクスを持つ 64 ビットのデータです。まず、よく知られた一連のパス(「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 リーダーへの参照。
戻り値
true iff aReader.GetTag() は、指定されたタグ番号に対して想定されるタグ形式のいずれかに一致するタグを生成します。

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 のリリース前にサービスが受け入れている非推奨のタグセットを使用して、パスをエンコードします。このバージョンは、数値インスタンス ID を受け取ります。このメソッドは、ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile) でコンテナを起動し、プロファイル ID を ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated) で挿入します。次に、インスタンス ID を ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_非推奨) に挿入します。これは、パスのエンコードについて非推奨バージョンの 1 つであり、新しい設計ではこの形式の使用は避けるべきです。

詳細
パラメータ
[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) でコンテナを起動し、プロファイル ID を ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Deprecated) で挿入します。次に、インスタンス ID を ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_非推奨) に挿入します。これは、パスのエンコードについて非推奨バージョンの 1 つであり、新しい設計ではこの形式の使用は避けるべきです。

詳細
パラメータ
[in] aWriter
パスの書き出しに使用される TLV ライターへの参照。
[in] aTag
このパスに適用される完全修飾 TLV タグへの参照。
[in] aProfileId
パスの要素が解釈されるプロファイル ID。
[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 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 が指定されていない場合、この引数は 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 がパブリッシャー固有の場合は 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
64 ビット整数への参照。データリスト要素のバージョンがある場合はそのバージョン、それ以外の場合は kVersionNotSpecified に設定されます。
戻り値
成功した場合は 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
)

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

UpdateRequest() の主な引数としてなど、WDM データリストの先頭の TLV を記述します。

詳細
パラメータ
[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 成功の場合。それ以外の場合は、WDM タグとして解釈されたときにタグが指定されたタグ番号と一致しない場合に WEAVE_ERROR_INVALID_TLV_TAG