nl::Weave::Profiller::ReferencedTLVData

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

Benzer şekilde, büyük bir TLV veri borsasını temsil edebilmemiz gerekir.

Özet

Devralma

Şunlardan devralır: nl::Weave::Profiles::KeepedPacketBuffer

İnşaat Ustaları ve Yıkıcılar

ReferencedTLVData(void)
-------------- TLV verileri için tanımlar --------------

Herkese açık türler

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

Herkese açık özellikler

theData
uint8_t *
theLength
uint16_t
theMaxLength
uint16_t

Herkese açık işlevler

free(void)
void
Bir ReferencedTLVData nesnesi tanımlayın.
init(System::PacketBuffer *aBuffer)
Bir PacketBuffer belirtilen ReferencedTLVData nesnesini başlatın.
init(MessageIterator & i)
Bir MessageIterator verilen bir ReferencedTLVData nesnesini başlatın.
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
Bir bayt dizesi verilen ReferencedTLVObject öğesini başlatın.
init(TLVWriteCallback aWriteCallback, void *anAppState)
Geri çağırma işlevi verilen bir ReferenceerencedTLVData nesnesini başlatın.
isEmpty(void)
bool
Bir ReferencedTLVData nesnesinde içerik olup olmadığını kontrol edin.
isFree(void)
bool
Bir ReferencedTLVData nesnesinin "ücretsiz" olup olmadığını kontrol edin.
operator==(const ReferencedTLVData &) const
bool
Eşitlik için bir ReferencedTLVData nesnesini diğeriyle karşılaştırarak kontrol edin.
pack(System::PacketBuffer *buff)
Bir ReferencedTLVData nesnesini doğrudan bir PacketBuffer içinde paketleyin.
pack(MessageIterator & i, uint32_t maxLen)
packedLength(void)
uint16_t
Nesnenin arabelleğe alındığını varsayarak veri uzunluğunu döndürün.

Herkese açık statik işlevler

parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
Sağlanan bir PacketBuffer'dan bir ReferencedTLVData nesnesi ayrıştırın.
parse(MessageIterator & i, ReferencedTLVData & aTarget)
Sağlanan bir MessageIterator'dan ReferencedTLVData nesnesini ayrıştırın.

Herkese açık türler

TLVWriteCallBack

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

Herkese açık özellikler

veriler

uint8_t * theData

uzunluk

uint16_t theLength

MaksimumUzun

uint16_t theMaxLength

Herkese açık işlevler

ReferencedTLVData

 ReferencedTLVData(
  void
)

-------------- TLV verileri için tanımlar --------------

TLV verileri için bağımsız değişken oluşturucu. Yararlı olması için burada tanımlanan init() yöntemlerinden birine tabi olması gereken, ücretsiz/başlatılmamış bir nesne yayınlar.

ücretsiz

void free(
  void
)

Bir ReferencedTLVData nesnesi tanımlayın.

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

Bir PacketBuffer belirtilen ReferencedTLVData nesnesini başlatın.

Tampon TLV ile dolu bir ReferencedTLVData nesnesini başlatın. Bu işlem, yalnızca Bumper dosyasının TLV içerdiği anlamına gelir.

Ayrıntılar
Parametreler
[in] aBuffer
TLV'nin yer aldığı bir mesaj arabelleği.
Döndürülen Değerler
WEAVE_NO_ERROR
Koşulsuz olarak

init

WEAVE_ERROR init(
  MessageIterator & i
)

Bir MessageIterator verilen bir ReferencedTLVData nesnesini başlatın.

Bir MessageIterator verilen bir ReferencedTLVData nesnesini başlatın. Bu örnekte TLV, arabelleğin son kısmıdır ve bu işarete işaret eden bir ileti yineleyiciye aktarılır.

Ayrıntılar
Parametreler
[in] i
Alınacak TLV mesajına işaret eden bir mesaj yineleyici.
Döndürülen Değerler
WEAVE_NO_ERROR
Koşulsuz olarak

init

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

Bir bayt dizesi verilen ReferencedTLVObject öğesini başlatın.

ReferencedTLVData nesnesini, TLV içeren bir bayt dizesiyle başlatın. Bu başlatıcı, PacketrBuffer olmaması için kullandığımız bir pakettir. Çünkü paketlemek ve göndermek için bunlardan birini oluşturuyoruz.

Ayrıntılar
Parametreler
[in] aLength
TLV verileri için uzunluk
[in] aMaxLength
Tamponun toplam uzunluğu
[in] aByteString
Dize verilerinin işaretçisi
Döndürülen Değerler
WEAVE_NO_ERROR
Koşulsuz olarak

init

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

Geri çağırma işlevi verilen bir ReferenceerencedTLVData nesnesini başlatın.

Bir ReferencedTLVData nesnesini başlatın. Bu sürüm, verileri açık bir şekilde sağlamak yerine, başvurulan verilerin paketlenip gönderilmesi gerektiğinde işleve, yazma geri çağırmasına ve bir referans nesnesine aktarılacak ve bir TLVWriter nesnesi sağlanır. Bu geri çağırmanın imzası:

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

Ayrıntılar
Parametreler
[in] aWriteCallback
TLV yazması gerektiğinde çağrılacak işlev.
[in] anAppState
yazarla birlikte geri çağırmaya aktarılacak bir uygulama durumu nesnesi.
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı.
WEAVE_ERROR_INVALID_ARGUMENT
Geri çağırma yazma özelliği sağlanmazsa.

IsEmpty

bool isEmpty(
  void
)

Bir ReferencedTLVData nesnesinde içerik olup olmadığını kontrol edin.

Bu tür nesneler için iki olasılık vardır. Ya 0 uzunluğuna sahip olabilir VEYA geri çağırma yazamaz.

Ayrıntılar
İadeler
Veri kümesi 0 uzunluktaysa veya el yazısıyla geri çağırma yazmıyorsa yanlış, yanlışsa yanlış.

IsFree

bool isFree(
  void
)

Bir ReferencedTLVData nesnesinin "ücretsiz" olup olmadığını kontrol edin.

tanımlanmadı.

Ayrıntılar
İadeler
nesne tanımlanmamışsa true (yanlış), aksi takdirde false (yanlış) değerini alır.

operatör==

bool operator==(
  const ReferencedTLVData &
) const 

Eşitlik için bir ReferencedTLVData nesnesini diğeriyle karşılaştırarak kontrol edin.

Bunun yalnızca bir arabelleğe veya dizeyle desteklenen gerçek verilere sahip iki nesne olması durumunda mantıklı olacağını unutmayın.

Ayrıntılar
Parametreler
[in] Another
kontrol edilecek nesne
Döndürülen Değerler
true
Nesneler eşittir.
false
Nesne dizeleri eşit değil.

paket

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

Bir ReferencedTLVData nesnesini doğrudan bir PacketBuffer içinde paketleyin.

Ayrıntılar
Parametreler
[in] buff
kullanılması gerekir.
İadeler
Temel paket görüşmesinin başarısını yansıtan bir WEAVE_ERROR.

paket

WEAVE_ERROR pack(
  MessageIterator & i,
  uint32_t maxLen
)

paketlenmişUzunluk

uint16_t packedLength(
  void
)

Nesnenin arabelleğe alındığını varsayarak veri uzunluğunu döndürün.

Ayrıntılar
İadeler
paketlenen verilerin tam sayı uzunluğu.

Herkese açık statik işlevler

parse

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

Sağlanan bir PacketBuffer'dan bir ReferencedTLVData nesnesi ayrıştırın.

Bir ReferencedTLVData nesnesini rastgele bir arabellekten ayrıştırın (yalnızca TLV içerdiği varsayılır).

Ayrıntılar
Parametreler
[in] buff
okunacak arabellek.
[out] aTarget
Sonuçla birlikte doldurulacak bir ReferencedTLVData nesnesi.
İadeler
Temel ayrıştırma çağrısının başarısını yansıtan bir WEAVE_ERROR.

parse

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

Sağlanan bir MessageIterator'dan ReferencedTLVData nesnesini ayrıştırın.

Bir iletinin TLV bölümünü işaret ettiği düşünülen bir MessageIterator nesnesinden ReferenceTLVData nesnesini ayrıştırın.

TLV tamponda bırakıldığından ve üzerinde hiçbir değişiklik yapılmadığından burada gerçek bir "ayrışma" işlemi yapılmaz. Bu yöntem çoğunlukla ReferencedTLVData yapısını daha sonra kullanmak üzere ayarlar.

Ayrıntılar
Parametreler
[in] i
Ayrıştırılan iletinin üzerinde bir iterasyon uygulaması.
[out] aTarget
Ayrıştırma sonucunu koyacağınız bir yer.
Döndürülen Değerler
WEAVE_NO_ERROR
Koşulsuz olarak