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)
|
typedefvoid(*
|
パブリック属性 |
|
---|---|
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)
|
指定された 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 )
init
WEAVE_ERROR init( System::PacketBuffer *aBuffer )
PacketBuffer を指定して ReferencedTLVData オブジェクトを初期化します。
バッファが TLV でいっぱいになっている場合に、ReferencedTLVData オブジェクトを初期化します。これは、バッファに TLV のみが含まれていることを前提としています。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
|
init
WEAVE_ERROR init( MessageIterator & i )
MessageIterator を指定して ReferencedTLVData オブジェクトを初期化します。
MessageIterator を指定して ReferencedTLVData オブジェクトを初期化します。この場合、TLV はバッファの最後の部分であり、それを指すメッセージ イテレータを渡します。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
|
init
WEAVE_ERROR init( uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString )
バイト文字列が指定された ReferencedTLVObject を初期化します。
TLV を含むバイト文字列で ReferencedTLVData オブジェクトを初期化します。このイニシャライザは、PacketrBuffer が存在しない場合に使用するイニシャライザです。これらはパッキングして送信するために 1 つ作成しているからです。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
|
init
WEAVE_ERROR init( TLVWriteCallback aWriteCallback, void *anAppState )
コールバック関数を指定して RefererencedTLVData オブジェクトを初期化します。
ReferencedTLVData オブジェクトを初期化します。このバージョンでは、データを明示的に指定する代わりに、関数、書き込みコールバック、参照オブジェクトを提供します。これらは、参照先のデータをパックして送信する場合に、TLVWriter オブジェクトとともに渡されます。このコールバックのシグネチャは次のようになります。
typedef void (*TLVWriteCallback)(TLV::TLVWriter &aWriter, void *aAppState);
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
isEmpty
bool isEmpty( void )
ReferencedTLVData オブジェクトに含まれる要素をチェックします。
このようなオブジェクトが「持つ」方法は 2 つあります。できます。長さが 0 であるか、書き込みコールバックがない可能性があります。
詳細 | |
---|---|
戻り値 |
データセットの長さが 0 であるか、書き込みコールバックがない場合は true、それ以外の場合は false です。
|
isFree
bool isFree( void )
演算子==
bool operator==( const ReferencedTLVData & ) const
ReferencedTLVData オブジェクトが別のオブジェクトと等しいかどうかをチェックします。
これは、バッファまたは文字列に基づく実際のデータを持つ 2 つのオブジェクトがある場合にのみ意味があります。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|
パック
WEAVE_ERROR pack( System::PacketBuffer *buff )
ReferencedTLVData オブジェクトを直接 PacketBuffer にパックします。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
基になるパックの呼び出しが成功したことを示す 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 のみが含まれている場合)。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
基になる解析呼び出しが成功したことを示す WEAVE_ERROR。
|
parse
WEAVE_ERROR parse( MessageIterator & i, ReferencedTLVData & aTarget )
指定された MessageIterator の ReferencedTLVData オブジェクトを解析します。
メッセージの TLV 部分を指していると想定される MessageIterator オブジェクトから ReferenceTLVData オブジェクトを解析します。
実際の「解析」はTLV はバッファに残り、まったく操作されないため、ここで行われます。このメソッドは主に、後で使用できるように ReferencedTLVData 構造をセットアップするだけです。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
|