nl::Weave::Profiles::ReferencedTLVData

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

同様に、TLV データの大きな古い blob を表す必要があります。

概要

継承

継承元: 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 オブジェクトが「無料」かどうかを確認します。つまり、
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)
指定された MessageIterator から ReferencedTLVData オブジェクトを解析します。

パブリック タイプ

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 はバッファの最後の部分であり、TLV を指すメッセージ イテレータを渡します。

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

init

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

バイト文字列を指定して、ReferencedTLVObject を初期化します。

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

詳細
パラメータ
[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 オブジェクトが「無料」かどうかを確認します。つまり、

未定義。

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

演算子==

bool operator==(
  const ReferencedTLVData &
) const 

ReferencedTLVData オブジェクトと別のオブジェクトが等しいことを確認します。

これは、バッファまたは文字列でバックアップされた実際のデータを持つ 2 つのオブジェクトの場合にのみ意味があることに注意してください。

詳細
パラメータ
[in] Another
比較するオブジェクト
戻り値
true
オブジェクトが等しい。
false
オブジェクトの文字列が等しくない。

パック

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

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

詳細
パラメータ
[in] buff
指定します。
戻り値
基になる pack 呼び出しが成功したことを示す 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
結果で「入力」する ReferencedTLVData オブジェクト。
戻り値
基盤となる解析呼び出しが成功したことを表す WEAVE_ERROR。

parse

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

指定された MessageIterator から ReferencedTLVData オブジェクトを解析します。

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

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

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