nl::Weave::Profiles::ReferencedTLVData

#include <src/lib/profiles/common/WeaveMessage.h>

同様に、TLV データの古くからある大きな塊を表現できる必要があります。

概要

継承

継承元: nl::Weave::Profiles::RetainedPacketBuffer

コンストラクタとデストラクタ

ReferencedTLVData(void)
-------------- TLV データの定義 ------------------

公開タイプ

TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState) typedef
void(*

パブリック属性

theData
uint8_t *
theLength
uint16_t
theMaxLength
uint16_t

パブリック関数

free(void)
void
ReferencedTLVData オブジェクトを解放します。つまり、定義を解除します。
init(System::PacketBuffer *aBuffer)
PacketBuffer を指定して ReferencedTLVData オブジェクトを初期化します。
init(MessageIterator & i)
MessageIterator を指定して ReferencedTLVData オブジェクトを初期化します。
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
バイト文字列が指定された ReferencedTLVObject を初期化します。
init(TLVWriteCallback aWriteCallback, void *anAppState)
コールバック関数を指定して RefererencedTLVData オブジェクトを初期化します。
isEmpty(void)
bool
ReferencedTLVData オブジェクトに含まれる要素をチェックします。
isFree(void)
bool
ReferencedTLVData オブジェクトが「free」かどうか(つまり、
operator==(const ReferencedTLVData &) const
bool
ReferencedTLVData オブジェクトが別のオブジェクトと等しいかどうかをチェックします。
pack(System::PacketBuffer *buff)
ReferencedTLVData オブジェクトを直接 PacketBuffer にパックします。
pack(MessageIterator & i, uint32_t maxLen)
packedLength(void)
uint16_t
オブジェクトがバッファにパックされていると仮定して、データの長さを返します。

静的パブリック関数

parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
指定された PacketBuffer の ReferencedTLVData オブジェクトを解析します。
parse(MessageIterator & i, ReferencedTLVData & aTarget)
指定された MessageIteratorReferencedTLVData オブジェクトを解析します。

公開タイプ

TLVWriteCallback

void(* TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState)

パブリック属性

theData

uint8_t * theData

theLength

uint16_t theLength

theMaxLength

uint16_t theMaxLength

パブリック関数

ReferencedTLVData

 ReferencedTLVData(
  void
)

-------------- TLV データの定義 ------------------

TLV データの引数のないコンストラクタ。空いているオブジェクトまたは初期化されていないオブジェクトを提供します。このオブジェクトを使用するには、ここで定義されている init() メソッドのいずれかが適用される必要があります。

無料

void free(
  void
)

ReferencedTLVData オブジェクトを解放します。つまり、定義を解除します。

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

PacketBuffer を指定して ReferencedTLVData オブジェクトを初期化します。

バッファが TLV でいっぱいになっている場合に、ReferencedTLVData オブジェクトを初期化します。これは、バッファに TLV のみが含まれていることを前提としています。

詳細
パラメータ
[in] aBuffer
TLV が存在するメッセージ バッファ。
戻り値
WEAVE_NO_ERROR
無条件

init

WEAVE_ERROR init(
  MessageIterator & i
)

MessageIterator を指定して ReferencedTLVData オブジェクトを初期化します。

MessageIterator を指定して ReferencedTLVData オブジェクトを初期化します。この場合、TLV はバッファの最後の部分であり、それを指すメッセージ イテレータを渡します。

詳細
パラメータ
[in] i
抽出する TLV を指すメッセージ イテレータ。
戻り値
WEAVE_NO_ERROR
無条件

init

WEAVE_ERROR init(
  uint16_t aLength,
  uint16_t aMaxLength,
  uint8_t *aByteString
)

バイト文字列が指定された ReferencedTLVObject を初期化します。

TLV を含むバイト文字列で ReferencedTLVData オブジェクトを初期化します。このイニシャライザは、PacketrBuffer が存在しない場合に使用するイニシャライザです。これらはパッキングして送信するために 1 つ作成しているからです。

詳細
パラメータ
[in] aLength
TLV データの長さ
[in] aMaxLength
バッファの合計長
[in] aByteString
文字列データへのポインタ。
戻り値
WEAVE_NO_ERROR
無条件

init

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

コールバック関数を指定して RefererencedTLVData オブジェクトを初期化します。

ReferencedTLVData オブジェクトを初期化します。このバージョンでは、データを明示的に指定する代わりに、関数、書き込みコールバック、参照オブジェクトを提供します。これらは、参照先のデータをパックして送信する場合に、TLVWriter オブジェクトとともに渡されます。このコールバックのシグネチャは次のようになります。

typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);

詳細
パラメータ
[in] aWriteCallback
TLV を記述するときに呼び出される関数。
[in] anAppState
ライターとともにコールバックに渡されるアプリケーション状態オブジェクト。
戻り値
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_INVALID_ARGUMENT
書き込みコールバックが指定されていない場合。

isEmpty

bool isEmpty(
  void
)

ReferencedTLVData オブジェクトに含まれる要素をチェックします。

このようなオブジェクトが「持つ」方法は 2 つあります。できます。長さが 0 であるか、書き込みコールバックがない可能性があります。

詳細
戻り値
データセットの長さが 0 であるか、書き込みコールバックがない場合は true、それ以外の場合は false です。

isFree

bool isFree(
  void
)

ReferencedTLVData オブジェクトが「free」かどうか(つまり、

未定義です。

詳細
戻り値
オブジェクトが未定義の場合は true、それ以外の場合は false です。

演算子==

bool operator==(
  const ReferencedTLVData &
) const 

ReferencedTLVData オブジェクトが別のオブジェクトと等しいかどうかをチェックします。

これは、バッファまたは文字列に基づく実際のデータを持つ 2 つのオブジェクトがある場合にのみ意味があります。

詳細
パラメータ
[in] Another
照合するオブジェクト
戻り値
true
オブジェクトは同じです。
false
オブジェクト文字列が等しくありません。

パック

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

ReferencedTLVData オブジェクトを直接 PacketBuffer にパックします。

詳細
パラメータ
[in] buff
バッファに格納します。
戻り値
基になるパックの呼び出しが成功したことを示す WEAVE_ERROR。

パック

WEAVE_ERROR pack(
  MessageIterator & i,
  uint32_t maxLen
)

packedLength

uint16_t packedLength(
  void
)

オブジェクトがバッファにパックされているものとしてデータの長さを返します。

詳細
戻り値
パックされたデータの整数の長さ。

静的パブリック関数

parse

WEAVE_ERROR parse(
  System::PacketBuffer *buff,
  ReferencedTLVData & aTarget
)

指定された PacketBuffer の ReferencedTLVData オブジェクトを解析します。

inet バッファから ReferencedTLVData オブジェクトを解析します(TLV のみが含まれている場合)。

詳細
パラメータ
[in] buff
読み取ることができます。
[out] aTarget
「fill」にする ReferencedTLVData オブジェクト。必要があります。
戻り値
基になる解析呼び出しが成功したことを示す WEAVE_ERROR。

parse

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

指定された MessageIteratorReferencedTLVData オブジェクトを解析します。

メッセージの TLV 部分を指していると想定される MessageIterator オブジェクトから ReferenceTLVData オブジェクトを解析します。

実際の「解析」はTLV はバッファに残り、まったく操作されないため、ここで行われます。このメソッドは主に、後で使用できるように ReferencedTLVData 構造をセットアップするだけです。

詳細
パラメータ
[in] i
解析されるメッセージのイテレータ。
[out] aTarget
解析結果を格納する場所。
戻り値
WEAVE_NO_ERROR
無条件