nl::Weave::Profiles::ReferencedTLVData

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

Benzer şekilde, TLV verilerinden oluşan büyük bir eski blob'u da temsil etmemiz gerekir.

Özet

Devralma

Devralındığı kaynak: nl::Weave::Profiles::RetainedPacketBuffer

Oluşturucular ve Yıkıcılar

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

Herkese açık türler

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

Herkese açık özellikler

theData
uint8_t *
theLength
uint16_t
theMaxLength
uint16_t

Herkese açık işlevler

free(void)
void
Bir ReferencedTLVData nesnesini serbest bırakın; yani tanımını kaldırın.
init(System::PacketBuffer *aBuffer)
PaketetBuffer'dan ReferencedTLVData nesnesini başlatın.
init(MessageIterator & i)
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 RefererencedTLVData nesnesini başlatın.
isEmpty(void)
bool
ReferencedTLVData nesnesinde herhangi bir şey olup olmadığını kontrol edin.
isFree(void)
bool
ReferencedTLVData nesnesinin "ücretsiz" olup olmadığını (ör.
operator==(const ReferencedTLVData &) const
bool
Eşitlik için ReferencedTLVData nesnesini başka bir nesneyle karşılaştırarak kontrol edin.
pack(System::PacketBuffer *buff)
ReferencedTLVData nesnesini doğrudan PaketetBuffer'a paketleyin.
pack(MessageIterator & i, uint32_t maxLen)
packedLength(void)
uint16_t
Nesnenin bir arabelleğe yerleştirilmiş olduğunu varsayarak veri uzunluğunu döndürür.

Herkese açık statik işlevler

parse(System::PacketBuffer *buff, ReferencedTLVData & aTarget)
Sağlanan PacketBuffer'dan ReferencedTLVData nesnesini ayrıştırın.
parse(MessageIterator & i, ReferencedTLVData & aTarget)
Sağlanan 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

theData

uint8_t * theData

theLength

uint16_t theLength

theMaxLength

uint16_t theMaxLength

Herkese açık işlevler

ReferencedTLVData

 ReferencedTLVData(
  void
)

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

TLV verilerinin bağımsız değişkensiz oluşturucusu. Yararlı olması için burada tanımlanan init() yöntemlerinden birine tabi tutulması gereken ücretsiz/başlatılmamış bir nesne sunar.

ücretsiz

void free(
  void
)

Bir ReferencedTLVData nesnesini serbest bırakın; yani tanımını kaldırın.

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

PaketetBuffer'dan ReferencedTLVData nesnesini başlatın.

TLV ile dolu bir arabellek verildiğinde ReferencedTLVData nesnesini başlatın. Burada, arabelleğin YALNIZCA TLV içerdiği varsayılır.

Ayrıntılar
Parametreler
[in] aBuffer
TLV'nin bulunduğu ileti arabelleği.
Değerleri Döndür
WEAVE_NO_ERROR
Koşulsuz olarak

init

WEAVE_ERROR init(
  MessageIterator & i
)

MessageIterator verilen bir ReferencedTLVData nesnesini başlatın.

MessageIterator verilen bir ReferencedTLVData nesnesini başlatın. Bu durumda, TLV arabelleğin son kısmıdır ve ona işaret eden bir mesaj yinelemesini geçiririz.

Ayrıntılar
Parametreler
[in] i
Çıkarılacak TLV'yi işaret eden bir ileti yinelemesi.
Değerleri Döndür
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 yoksa paketleyip göndermek için bunlardan birini oluşturuyoruz.

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

init

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

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

Bir ReferencedTLVData nesnesini başlatın. Bu sürüm, verileri açık bir şekilde sağlamak yerine işlev, yazma geri çağırması ve başvurulan verilerin paketlenmesi ve gönderilmesi gerektiğinde bir TLVWriter nesnesiyle birlikte kendisine aktarılacak bir referans nesnesi sağlar. Geri çağırma işleminin imzası:

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

Ayrıntılar
Parametreler
[in] aWriteCallback
TLV yazma zamanı geldiğinde çağrılacak işleve sahiptir.
[in] anAppState
yazarla birlikte geri çağırmaya aktarılacak bir uygulama durumu nesnesi.
Değerleri Döndür
WEAVE_NO_ERROR
Başarıya merhaba.
WEAVE_ERROR_INVALID_ARGUMENT
Yazma geri çağırması sağlanmazsa.

Boş

bool isEmpty(
  void
)

ReferencedTLVData nesnesinde herhangi bir şey olup olmadığını kontrol edin.

Böyle bir nesnenin "sahip olabileceği" iki yol vardır bir şey yok. URL uzunluğu 0 olabilir VEYA geri çağırma işlevi olmamalıdır.

Ayrıntılar
İadeler
veri kümesinin uzunluğu 0 ise veya elinizde yazma geri çağırması yoksa true, aksi takdirde false (yanlış) değerini alır.

isFree

bool isFree(
  void
)

ReferencedTLVData nesnesinin "ücretsiz" olup olmadığını (ör.

tanımlanmadı.

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

operatör==

bool operator==(
  const ReferencedTLVData &
) const 

Eşitlik için ReferencedTLVData nesnesini başka bir nesneyle karşılaştırarak kontrol edin.

Bunun yalnızca, bir tampon veya dize tarafından desteklenen ve gerçek veriler içeren iki nesne söz konusu olduğunda gerçekten anlamlı olduğunu unutmayın.

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

paket

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

ReferencedTLVData nesnesini doğrudan PaketetBuffer'a paketleyin.

Ayrıntılar
Parametreler
[in] buff
arabelleğe alınır.
İadeler
temel paket çağrısının başarısını yansıtan bir WEAVE_ERROR.

paket

WEAVE_ERROR pack(
  MessageIterator & i,
  uint32_t maxLen
)

packedLength

uint16_t packedLength(
  void
)

Nesnenin bir tampon içine yerleştirildiği varsayılarak veri uzunluğunu döndürün.

Ayrıntılar
İadeler
paketlenmiş verilerin tam sayı uzunluğudur.

Herkese açık statik işlevler

parse

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

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

Bir ReferencedTLVData nesnesini inet arabelleğinden ayrıştırın (yalnızca TLV içerdiği varsayılır).

Ayrıntılar
Parametreler
[in] buff
arabellekte sorun olabilir.
[out] aTarget
"doldurulacak" bir ReferencedTLVData nesnesi yardımcı olur.
İ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 MessageIterator'dan ReferencedTLVData nesnesini ayrıştırın.

İletinin TLV bölümünü işaret ettiği kabul edilen bir MessageIterator nesnesinden ReferenceTLVData nesnesini ayrıştırın.

Gerçek bir "ayrıştırma" işleminin olmadığını unutmayın. TLV tamponda bırakıldığı ve hiçbir şekilde değiştirilmediğinden burada yapılır. Bu yöntem temel olarak ReferencedTLVData yapısını daha sonra kullanılmak üzere oluşturur.

Ayrıntılar
Parametreler
[in] i
Ayrıştırılan mesajın üzerindeki iterasyon öğesi.
[out] aTarget
Ayrıştırma sonucunu koyabileceğiniz bir yer.
Değerleri Döndür
WEAVE_NO_ERROR
Koşulsuz olarak