nl:: বুনা:: প্রোফাইল:: উল্লেখিতTLVData

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

একইভাবে, আমাদের টিএলভি ডেটার একটি বড় পুরানো ব্লব উপস্থাপন করতে সক্ষম হতে হবে।

সারাংশ

উত্তরাধিকার

থেকে উত্তরাধিকারসূত্রে পাওয়া যায়: 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
একটি রেফারেন্সডটিএলভিডেটা অবজেক্ট মুক্ত করুন, যা বলতে হয়, এটিকে অসংজ্ঞায়িত করুন।
init ( System::PacketBuffer *aBuffer)
একটি প্যাকেটবাফার দেওয়া রেফারেন্সডটিএলভিডেটা অবজেক্ট শুরু করুন।
init ( MessageIterator & i)
একটি MessageIterator দেওয়া একটি ReferencedTLVData অবজেক্ট শুরু করুন।
init (uint16_t aLength, uint16_t aMaxLength, uint8_t *aByteString)
একটি বাইট স্ট্রিং দেওয়া একটি ReferencedTLVObject শুরু করুন।
init (TLVWriteCallback aWriteCallback, void *anAppState)
একটি কলব্যাক ফাংশন দেওয়া একটি রেফারেন্সডটিএলভিডেটা অবজেক্ট শুরু করুন।
isEmpty (void)
bool
একটি ReferencedTLVData বস্তুর মধ্যে কিছু আছে কিনা তা পরীক্ষা করুন।
isFree (void)
bool
একটি ReferencedTLVData অবজেক্ট "ফ্রি" কিনা চেক করুন, যেমন
operator== (const ReferencedTLVData &) const
bool
সমতার জন্য অন্যের বিপরীতে একটি রেফারেন্সডটিএলভিডেটা বস্তু পরীক্ষা করুন।
pack ( System::PacketBuffer *buff)
একটি প্যাকেটবাফারে সরাসরি একটি রেফারেন্সডটিএলভিডেটা অবজেক্ট প্যাক করুন।
pack ( MessageIterator & i, uint32_t maxLen)
packedLength (void)
uint16_t
অবজেক্টটি একটি বাফারে প্যাক করা হয়েছে বলে ধরে নিয়ে ডেটা দৈর্ঘ্য ফেরত দিন।

পাবলিক স্ট্যাটিক ফাংশন

parse ( System::PacketBuffer *buff, ReferencedTLVData & aTarget)
একটি সরবরাহকৃত প্যাকেটবাফার থেকে একটি রেফারেন্সডটিএলভিডেটা অবজেক্ট পার্স করুন।
parse ( MessageIterator & i, ReferencedTLVData & aTarget)
একটি সরবরাহকৃত MessageIterator থেকে একটি ReferencedTLVData অবজেক্ট পার্স করুন।

পাবলিক প্রকার

TLVWriteCallback

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

পাবলিক বৈশিষ্ট্য

তথ্য

uint8_t * theData

দৈর্ঘ্য

uint16_t theLength

সর্বোচ্চ দৈর্ঘ্য

uint16_t theMaxLength

পাবলিক ফাংশন

উল্লেখিতTLVData

 ReferencedTLVData(
  void
)

-------------- TLV ডেটার সংজ্ঞা --------------

TLV ডেটার জন্য নো-আর্গ কনস্ট্রাক্টর। একটি বিনামূল্যে/অপ্রবর্তিত অবজেক্ট সরবরাহ করে যা দরকারী হওয়ার জন্য এখানে সংজ্ঞায়িত init() পদ্ধতিগুলির একটির অধীন হতে হবে।

বিনামূল্যে

void free(
  void
)

একটি রেফারেন্সডটিএলভিডেটা অবজেক্ট মুক্ত করুন, যা বলতে হয়, এটিকে অসংজ্ঞায়িত করুন।

init

WEAVE_ERROR init(
  System::PacketBuffer *aBuffer
)

একটি প্যাকেটবাফার দেওয়া রেফারেন্সডটিএলভিডেটা অবজেক্ট শুরু করুন।

TLV পূর্ণ একটি বাফার দেওয়া একটি ReferencedTLVData অবজেক্ট শুরু করুন। এটি অনুমান করে যে বাফারে শুধুমাত্র TLV রয়েছে।

বিস্তারিত
পরামিতি
[in] aBuffer
একটি বার্তা বাফার যেখানে TLV থাকে।
রিটার্ন মান
WEAVE_NO_ERROR
শর্তহীনভাবে

init

WEAVE_ERROR init(
  MessageIterator & i
)

একটি MessageIterator দেওয়া একটি ReferencedTLVData অবজেক্ট শুরু করুন।

একটি MessageIterator দেওয়া একটি ReferencedTLVData অবজেক্ট শুরু করুন। এই ক্ষেত্রে, TLV হল বাফারের শেষ অংশ এবং আমরা একটি বার্তা পুনরাবৃত্তিকারীতে পাস করি যা এটি নির্দেশ করে।

বিস্তারিত
পরামিতি
[in] i
একটি বার্তা পুনরাবৃত্তিকারী TLV- এর দিকে নির্দেশ করে যা বের করতে হবে।
রিটার্ন মান
WEAVE_NO_ERROR
শর্তহীনভাবে

init

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

একটি বাইট স্ট্রিং দেওয়া একটি ReferencedTLVObject শুরু করুন।

TLV ধারণকারী একটি বাইট স্ট্রিং দিয়ে ReferencedTLVData অবজেক্ট শুরু করুন। প্যাকেটরবাফার না থাকলে এই ইনিশিয়ালাইজারটিই আমরা ব্যবহার করি কারণ আমরা প্যাক এবং পাঠানোর জন্য এর মধ্যে একটি তৈরি করছি।

বিস্তারিত
পরামিতি
[in] aLength
TLV ডেটার জন্য একটি দৈর্ঘ্য
[in] aMaxLength
বাফারের মোট দৈর্ঘ্য
[in] aByteString
স্ট্রিং ডেটার একটি পয়েন্টার
রিটার্ন মান
WEAVE_NO_ERROR
শর্তহীনভাবে

init

WEAVE_ERROR init(
  TLVWriteCallback aWriteCallback,
  void *anAppState
)

একটি কলব্যাক ফাংশন দেওয়া একটি রেফারেন্সডটিএলভিডেটা অবজেক্ট শুরু করুন।

একটি রেফারেন্সডটিএলভিডেটা অবজেক্ট শুরু করুন। সুস্পষ্টভাবে ডেটা সরবরাহ করার পরিবর্তে, এই সংস্করণটি ফাংশন, কলব্যাক লিখতে এবং একটি রেফারেন্স অবজেক্ট প্রদান করে, যা একটি TLVWriter অবজেক্ট সহ এটিকে পাস করা হবে, যখন রেফারেন্স করা ডেটা প্যাক করা এবং পাঠানোর কথা। সেই কলব্যাকের স্বাক্ষর হল:

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

বিস্তারিত
পরামিতি
[in] aWriteCallback
কিছু TLV লেখার সময় হলে ফাংশনটি কল করা হবে।
[in] anAppState
একটি অ্যাপ্লিকেশন স্টেট অবজেক্ট লেখকের সাথে কলব্যাকে পাস করতে হবে।
রিটার্ন মান
WEAVE_NO_ERROR
সাফল্যের উপর।
WEAVE_ERROR_INVALID_ARGUMENT
লিখিত কলব্যাক সরবরাহ করা না হলে.

খালি

bool isEmpty(
  void
)

একটি ReferencedTLVData বস্তুর মধ্যে কিছু আছে কিনা তা পরীক্ষা করুন।

এই ধরনের একটি বস্তুর কিছু "থাকতে পারে" দুটি সম্ভাব্য উপায় আছে। হয় এটির দৈর্ঘ্য 0 থাকতে পারে বা এটিতে কোন লিখিত কলব্যাক থাকতে পারে না।

বিস্তারিত
রিটার্নস
সত্য যদি ডেটা সেটের দৈর্ঘ্য 0 থাকে বা হাতে কলব্যাক লেখা না থাকে, অন্যথায় মিথ্যা।

বিনামূল্যে

bool isFree(
  void
)

একটি ReferencedTLVData অবজেক্ট "ফ্রি" কিনা চেক করুন, যেমন

অনির্ধারিত

বিস্তারিত
রিটার্নস
বস্তুটি অনির্ধারিত হলে সত্য, অন্যথায় মিথ্যা।

অপারেটর==

bool operator==(
  const ReferencedTLVData &
) const 

সমতার জন্য অন্যের বিপরীতে একটি রেফারেন্সডটিএলভিডেটা বস্তু পরীক্ষা করুন।

মনে রাখবেন যে এটি শুধুমাত্র দুটি বস্তুর ক্ষেত্রেই বোধগম্য হয় যেগুলির মধ্যে একটি বাফার বা স্ট্রিং দ্বারা সমর্থিত প্রকৃত ডেটা রয়েছে।

বিস্তারিত
পরামিতি
[in] Another
বিরুদ্ধে চেক একটি বস্তু
রিটার্ন মান
true
বস্তু সমান।
false
বস্তুর স্ট্রিং সমান নয়।

প্যাক

WEAVE_ERROR pack(
  System::PacketBuffer *buff
)

একটি প্যাকেটবাফারে সরাসরি একটি রেফারেন্সডটিএলভিডেটা অবজেক্ট প্যাক করুন।

বিস্তারিত
পরামিতি
[in] buff
বাফার পূরণ করতে.
রিটার্নস
একটি WEAVE_ERROR অন্তর্নিহিত প্যাক কলের সাফল্যকে প্রতিফলিত করে।

প্যাক

WEAVE_ERROR pack(
  MessageIterator & i,
  uint32_t maxLen
)

প্যাক করা দৈর্ঘ্য

uint16_t packedLength(
  void
)

অবজেক্টটি একটি বাফারে প্যাক করা হয়েছে বলে ধরে নিয়ে ডেটা দৈর্ঘ্য ফেরত দিন।

বিস্তারিত
রিটার্নস
প্যাক করা ডেটার পূর্ণসংখ্যার দৈর্ঘ্য।

পাবলিক স্ট্যাটিক ফাংশন

পার্স

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

একটি সরবরাহকৃত প্যাকেটবাফার থেকে একটি রেফারেন্সডটিএলভিডেটা অবজেক্ট পার্স করুন।

একটি inet বাফারের বাইরে একটি ReferencedTLVData অবজেক্টকে পার্স করুন (এটি TLV ধারণ করে)।

বিস্তারিত
পরামিতি
[in] buff
বাফার থেকে পড়তে.
[out] aTarget
ফলাফলের সাথে "পূর্ণ" করার জন্য একটি রেফারেন্সডটিএলভিডেটা অবজেক্ট।
রিটার্নস
একটি WEAVE_ERROR অন্তর্নিহিত পার্স কলের সাফল্যকে প্রতিফলিত করে।

পার্স

WEAVE_ERROR parse(
  MessageIterator & i,
  ReferencedTLVData & aTarget
)

একটি সরবরাহকৃত MessageIterator থেকে একটি ReferencedTLVData অবজেক্ট পার্স করুন।

একটি MessageIterator অবজেক্ট থেকে একটি ReferenceTLVData অবজেক্ট পার্স করুন যা একটি বার্তার TLV অংশে নির্দেশ করছে বলে ধরে নেওয়া হয়েছে।

মনে রাখবেন যে এখানে কোন প্রকৃত "পার্সিং" করা হয় না যেহেতু TLV বাফারে রেখে দেওয়া হয় এবং মোটেও ম্যানিপুলেট করা হয় না। এই পদ্ধতিটি মূলত পরবর্তীতে ব্যবহারের জন্য ReferencedTLVData কাঠামো সেট আপ করে।

বিস্তারিত
পরামিতি
[in] i
পার্স করা বার্তার উপর একটি পুনরাবৃত্তিকারী।
[out] aTarget
পার্সিংয়ের ফলাফল রাখার জায়গা।
রিটার্ন মান
WEAVE_NO_ERROR
শর্তহীনভাবে