nl::Weave::Profiles::ReferencedTLVData

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

Benzer şekilde, büyük bir eski TLV veri blobunu temsil edebilmemiz gerekir.

Özet

Devralma

Devralır: nl::Weave::Profiles::RetainedPacketBuffer

Oluşturucular ve Yıkıcılar

ReferencedTLVData(void)
-------------- TLV verilerinin 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

Kamu işlevleri

free(void)
void
Bir ReferencedTLVData nesnesini serbest bırakın; diğer bir deyişle, tanımını kaldırın.
init(System::PacketBuffer *aBuffer)
Bir PacketBuffer belirtildiğinde ReferencedTLVData nesnesini başlatın.
init(MessageIterator & i)
MessageIterator ile bir ReferencedTLVData nesnesini başlatın.
init(uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
Bayt dizesiyle bir ReferencedTLVObject'i başlatın.
init(TLVWriteCallback aWriteCallback, void *anAppState)
Bir geri çağırma işlevi verilen RefererencedTLVData nesnesini başlatın.
isEmpty(void)
bool
ReferencedTLVData nesnesinin içinde herhangi bir şey olup olmadığını kontrol edin.
isFree(void)
bool
ReferencedTLVData nesnesinin "free" olup olmadığını kontrol edin (ör.
operator==(const ReferencedTLVData &) const
bool
Eşitlik açısından ReferencedTLVData nesnesini başka bir öğeyle karşılaştırarak kontrol edin.
pack(System::PacketBuffer *buff)
ReferencedTLVData nesnesini doğrudan bir PacketBuffer içine paketleyin.
pack(MessageIterator & i, uint32_t maxLen)
packedLength(void)
uint16_t
Nesnenin bir arabelleğe yerleştirilmiş olduğu varsayılarak veri uzunluğunu döndürün.

Herkese açık statik işlevler

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

Kamu işlevleri

ReferencedTLVData

 ReferencedTLVData(
  void
)

-------------- TLV verilerinin tanımları --------------

TLV verileri için bağımsız değişkensiz oluşturucu. Kullanışlı olması için burada tanımlanan init() yöntemlerinden birine tabi olması gereken serbest/başlatılmamış bir nesne sunar.

ücretsiz

void free(
  void
)

Bir ReferencedTLVData nesnesini serbest bırakın; diğer bir deyişle, tanımını kaldırın.

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

Bir PacketBuffer belirtildiğinde ReferencedTLVData nesnesini başlatın.

TLV dolu bir arabellek dahilinde bir ReferencedTLVData nesnesini başlatın. Bu, arabelleğin YALNIZCA TLV içerdiği varsayılır.

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

init

WEAVE_ERROR init(
  MessageIterator & i
)

MessageIterator ile bir ReferencedTLVData nesnesini başlatın.

MessageIterator ile bir ReferencedTLVData nesnesini başlatın. Bu durumda TLV, arabelleğin son kısmıdır ve ona işaret eden bir ileti yineleyiciyi aktarırız.

Ayrıntılar
Parametreler
[in] i
Ayıklanacak TLV'yi gösteren bir ileti yineleme aracı.
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
)

Bayt dizesiyle bir ReferencedTLVObject'i başlatın.

ReferencedTLVData nesnesini, TLV'yi içeren bir bayt dizesiyle başlatın. Bu başlatıcı, PacketrBuffer yoksa paketlemek ve göndermek için bunlardan birini oluşturduğumuz için kullanıyoruz.

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

init

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

Bir geri çağırma işlevi verilen 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. Söz konusu geri çağırmanın imzası:

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

Ayrıntılar
Parametreler
[in] aWriteCallback
TLV yazma zamanı geldiğinde çağrılacak işlevin değerini girin.
[in] anAppState
Yazarla birlikte geri çağırmaya iletilecek bir uygulama durum nesnesi.
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı olun.
WEAVE_ERROR_INVALID_ARGUMENT
Yazma geri çağırma sağlanmazsa.

isEmpty

bool isEmpty(
  void
)

ReferencedTLVData nesnesinin içinde herhangi bir şey olup olmadığını kontrol edin.

Böyle bir nesnenin bir şeye "sahip olabileceği" iki yol vardır. Uzunluğu 0 olabilir VEYA yazma geri çağırması olmayabilir.

Ayrıntılar
İadeler
Veri kümesi 0 uzunluktaysa veya elde geri çağırma yoksa doğru, aksi takdirde yanlış değerini alır.

isFree

bool isFree(
  void
)

ReferencedTLVData nesnesinin "free" olup olmadığını kontrol edin (ör.

tanımlanmadı.

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

operatör==

bool operator==(
  const ReferencedTLVData &
) const 

Eşitlik açısından ReferencedTLVData nesnesini başka bir öğeyle karşılaştırarak kontrol edin.

Bunun yalnızca, bir tampon veya dizeyle desteklenen gerçek verileri olan iki nesne söz konusu olduğunda mantıklı olduğunu unutmayın.

Ayrıntılar
Parametreler
[in] Another
karşılaştırmalı olarak
Döndürülen Değerler
true
Nesneler eşit.
false
Nesne dizeleri eşit değil.

paket

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

ReferencedTLVData nesnesini doğrudan bir PacketBuffer içine paketleyin.

Ayrıntılar
Parametreler
[in] buff
tamponu doldurmayı unutmayın.
İ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 arabelleğe yerleştirilmiş olduğu varsayılarak veri uzunluğunu döndürün.

Ayrıntılar
İadeler
paketlenmiş 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 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
tamponu kopyalayın.
[out] aTarget
ReferencedTLVData nesnesini sonuçla "doldurun".
İ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 öğesinden bir ReferencedTLVData nesnesini ayrıştırın.

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

TLV arabellekte kaldığı ve hiçbir şekilde değiştirilmediği için burada gerçek bir "ayrıştırma" işleminin yapılmadığını unutmayın. Bu yöntem esas olarak, daha sonra kullanılmak üzere ReferencedTLVData yapısını ayarlar.

Ayrıntılar
Parametreler
[in] i
Ayrıştırılan iletinin üzerindeki bir iterasyon.
[out] aTarget
Ayrıştırma sonucunun yerleştirileceği bir yer.
Döndürülen Değerler
WEAVE_NO_ERROR
Koşulsuz olarak