Google is committed to advancing racial equity for Black communities. See how.

এনএল :: তাঁত :: প্রোফাইল :: সফ্টওয়্যার আপডেট:: ভাবমূর্তি

#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>

চিত্র ক্যোয়ারী বার্তাগুলি তৈরি এবং ডিকোডিং সমর্থন করার জন্য একটি শ্রেণি।

সারসংক্ষেপ

ইমেজ ক্যোয়ারী ফ্রেমের তারের উপরে নিম্নলিখিত ফর্ম রয়েছে

দৈর্ঘ্য ক্ষেত্র নাম
1 বাইট ফ্রেম নিয়ন্ত্রণ
6 বাইট পণ্যের বিবরণ
পরিবর্তনশীল সংস্করণ স্পেসিফিকেশন
২.৪ বাইট অখণ্ডতার ধরণের তালিকা
২.৫ বাইট স্কিম তালিকা আপডেট করুন
পরিবর্তনশীল স্থানীয় স্পেসিফিকেশন (alচ্ছিক)
8 বাইট লক্ষ্য নোড আইডি
পরিবর্তনশীল বিক্রেতার নির্দিষ্ট ডেটা (alচ্ছিক)
যেখানে ফ্রেম নিয়ন্ত্রণ ক্ষেত্রের বিট-ফিল্ডগুলি নিম্নরূপ রয়েছে:

বিট অর্থ
0 1 - বিক্রেতা-নির্দিষ্ট ডেটা উপস্থিত, 0 - উপস্থিত নেই
1 - স্থানীয় স্পেসিফিকেশন উপস্থিত, 0 - উপস্থিত নেই
1 - টার্গেট নোড আইডি উপস্থিত, 0 - উপস্থিত নেই
3.7 সংরক্ষিত
ImageQuery , একটি কাঠামো-ফ্লাইট উপস্থাপনা থেকে কিছুটা ভিন্নভাবে লেখা হিসাবে। বিশেষত, সংস্করণ এবং লোকেলগুলি নাল-টার্মিনেটেড সি-স্ট্রিংগুলি ((দৈর্ঘ্য, অক্ষর) টিউপসের বিপরীতে) এবং alচ্ছিক আইটেমগুলির উভয়ই নল পয়েন্টার হিসাবে উপস্থাপন করা হয় যাতে চেক করার জন্য আলাদা বুলিয়ান নেই।

নির্মাণকারী এবং ধ্বংসকারী

ImageQuery ()
জন্য ডিফল্ট কন্সট্রাকটর ImageQuery

জনসাধারণের গুণাবলী

integrityTypes
ডিভাইস দ্বারা সমর্থিত নিখুঁততার প্রকারগুলি।
localeSpec
ডিভাইসটির জন্য POSIX লোকালযুক্ত একটি পরিবর্তনশীল দৈর্ঘ্যের UTF-8 স্ট্রিং যার জন্য চিত্রের ক্যোয়ারী তৈরি করা হচ্ছে।
packageSpec
একটি পরিবর্তনশীল দৈর্ঘ্যের UTF-8 স্ট্রিং যা বিক্রেতার-নির্দিষ্ট প্যাকেজ নির্দিষ্টকরণের স্ট্রিং রয়েছে containing
productSpec
চিত্রের ক্যোয়ারী তৈরি করছে এমন ডিভাইসটির বিবরণে পণ্যের স্পেসিফিকেশন।
targetNodeId
uint64_t
ডিভাইসের একটি alচ্ছিক নোড আইডি যার জন্য ক্যোয়ারী তৈরি করা হচ্ছে।
theMetaData
বিক্রেতা-নির্দিষ্ট ডেটা ক্ষেত্র দৈর্ঘ্যে পরিবর্তনশীল এবং উপরে বর্ণিত ক্ষেত্রগুলি ছাড়িয়ে ওয়েইভ বার্তা পেডলোডের অবশিষ্ট অংশটি দখল করে।
updateSchemes
ডিভাইস দ্বারা সমর্থিত স্কিমগুলি আপডেট করুন (ডাউনলোড করুন প্রোটোকল)।
version
একটি পরিবর্তনশীল দৈর্ঘ্যের ইউটিএফ -8 স্ট্রিং যার মধ্যে ডিভাইসের বিক্রেতা-নির্দিষ্ট সফ্টওয়্যার সংস্করণ রয়েছে যার জন্য ক্যোয়ারী করা হচ্ছে।

পাবলিক ফাংশন

init ( ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData)
স্পষ্টভাবে আরম্ভ ImageQuery প্রদান মান বস্তু।
operator== (const ImageQuery &) const
bool
একটি সমতা অপারেটর।
pack (PacketBuffer *)
অন্তর্নিহিত ধারাবাহিকভাবে ImageQuery প্রদান PacketBuffer মধ্যে।
print (void)
void

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

parse (PacketBuffer *, ImageQuery &)
ইমেজ ক্যোয়ারী একটি প্রদত্ত মধ্যে একটি PacketBuffer দেওয়া বার্তা Deserialize ImageQuery

জনসাধারণের গুণাবলী

সততা টাইপস

IntegrityTypeList integrityTypes

ডিভাইস দ্বারা সমর্থিত নিখুঁততার প্রকারগুলি।

লোকালস্পেক

ReferencedString localeSpec

ডিভাইসটির জন্য POSIX লোকালযুক্ত একটি পরিবর্তনশীল দৈর্ঘ্যের UTF-8 স্ট্রিং যার জন্য চিত্রের ক্যোয়ারী তৈরি করা হচ্ছে।

স্ট্রিংয়ের বিষয়বস্তুগুলি অবশ্যই আইএসও / আইসিসি 15897 যেমন উল্লিখিত এনএসএইউ.ইউটিএফ -8 অস্ট্রেলিয়ান ইংরেজির জন্য পোসেক্স স্থানীয় লোকাল শনাক্তকারী বিন্যাসের সাথে সামঞ্জস্য করা উচিত।

প্যাকেজস্পেক

ReferencedString packageSpec

একটি পরিবর্তনশীল দৈর্ঘ্যের UTF-8 স্ট্রিং যা বিক্রেতার-নির্দিষ্ট প্যাকেজ নির্দিষ্টকরণের স্ট্রিং রয়েছে containing

ক্ষেত্রের বিষয়বস্তুগুলি সফ্টওয়্যার চিত্রের জন্য পছন্দসই ধারক ধরণের বর্ণনা দেয় যেমন 'আরপিএম', 'দেব', 'টিজিজেড', 'এলফ' ইত্যাদি (

productSpec

ProductSpec productSpec

চিত্রের ক্যোয়ারী তৈরি করছে এমন ডিভাইসটির বিবরণে পণ্যের স্পেসিফিকেশন।

টার্গেটনোডইড

uint64_t targetNodeId

ডিভাইসের একটি alচ্ছিক নোড আইডি যার জন্য ক্যোয়ারী তৈরি করা হচ্ছে।

লক্ষ্য নোড আইডি ক্ষেত্রটি isচ্ছিক। অনুপস্থিত থাকলে, ক্যোয়ারির জন্য লক্ষ্য নোড আইডিটি স্পষ্টতই নোড যা চিত্রের ক্যোয়ারী বার্তার উত্স ছিল।

টার্গেট নোড আইডি ক্ষেত্রটি সাধারণত এমন পরিস্থিতিতে ব্যবহৃত হয় যেখানে নোড যা ইমাম QUERY বার্তার উত্স, অন্য নোডের জন্য একটি সফ্টওয়্যার আপডেট প্রক্সি হিসাবে পরিবেশন করে।

মেটাডাটা

ReferencedTLVData theMetaData

বিক্রেতা-নির্দিষ্ট ডেটা ক্ষেত্র দৈর্ঘ্যে পরিবর্তনশীল এবং উপরে বর্ণিত ক্ষেত্রগুলি ছাড়িয়ে ওয়েইভ বার্তা পেইলোডের অবশিষ্ট অংশটি দখল করে।

ক্ষেত্রটি কোয়ালিটি তৈরি করা হচ্ছে সেই ডিভাইসটি সম্পর্কে বিক্রেতার-নির্দিষ্ট তথ্য এনকোড করে। বিক্রেতা-নির্দিষ্ট ডেটা ক্ষেত্রটি isচ্ছিক। যদি উপস্থিত থাকে তবে ক্ষেত্রটির বেনামে টিএলভি-এনকোড কাঠামোর একটি ফর্ম রয়েছে। এই কাঠামোর মধ্যে উপস্থাপিত ট্যাগগুলি সম্পূর্ণরূপে যোগ্য প্রোফাইল-নির্দিষ্ট ট্যাগ হতে হবে।

আপডেটশেমিস

UpdateSchemeList updateSchemes

ডিভাইস দ্বারা সমর্থিত স্কিমগুলি আপডেট করুন (ডাউনলোড প্রোটোকল)।

সংস্করণ

ReferencedString version

একটি পরিবর্তনশীল দৈর্ঘ্যের ইউটিএফ -8 স্ট্রিংটিতে ডিভাইসের বিক্রেতা-নির্দিষ্ট সফ্টওয়্যার সংস্করণ রয়েছে যার জন্য কোয়েরি করা হচ্ছে।

দৈর্ঘ্য 32 বা তার চেয়ে কম হওয়া উচিত।

পাবলিক ফাংশন

ভাবমূর্তি

 ImageQuery()

জন্য ডিফল্ট কন্সট্রাকটর ImageQuery

ImageQuery কল করে জনবহুল হতে পারে Init () বা একটি বার্তা থেকে অবজেক্ট deserializing দ্বারা।

এটা

WEAVE_ERROR init(
  ProductSpec & aProductSpec,
  ReferencedString & aVersion,
  IntegrityTypeList & aTypeList,
  UpdateSchemeList & aSchemeList,
  ReferencedString *aPackage,
  ReferencedString *aLocale,
  uint64_t aTargetNodeId,
  ReferencedTLVData *aMetaData
)

স্পষ্টভাবে আরম্ভ ImageQuery প্রদান মান বস্তু।

বিশদ
পরামিতি
[in] aProductSpec
পণ্যের বিবরণ.
[in] aVersion
বর্তমানে সফ্টওয়্যার ইনস্টল করা সংস্করণ।
[in] aTypeList
ক্লায়েন্ট দ্বারা সমর্থিত অখণ্ডতা প্রকারগুলি।
[in] aSchemeList
ক্লায়েন্ট দ্বারা সমর্থিত আপডেট স্কিমগুলি।
[in] aPackage
ক্লায়েন্ট দ্বারা সমর্থিত একটি alচ্ছিক প্যাকেজ নির্দিষ্ট।
[in] aLocale
ক্লায়েন্টের দ্বারা অনুরোধ করা একটি alচ্ছিক লোকেল স্পেক।
[in] aTargetNodeId
একটি alচ্ছিক লক্ষ্য নোড আইডি।
[in] aMetaData
একটি alচ্ছিক টিএলভি-এনকোডযুক্ত বিক্রেতা ডেটা ব্লব।
ফিরে আসে
WEAVE_NO_ERROR নিঃশর্তভাবে।

অপারেটর ==

bool operator==(
  const ImageQuery &
) const 

একটি সমতা অপারেটর।

বিশদ
পরামিতি
another
একটি ImageQuery এই বিরুদ্ধে চেক করতে ImageQuery
ফিরে আসে
সত্য যদি উভয় বস্তুর সমস্ত ক্ষেত্র সমান হয়, অন্যথায় মিথ্যা

প্যাক

WEAVE_ERROR pack(
  PacketBuffer *
)

অন্তর্নিহিত ধারাবাহিকভাবে ImageQuery প্রদান PacketBuffer মধ্যে।

বিশদ
পরামিতি
[in] aBuffer
কোয়েরিটি প্যাক করার জন্য একটি প্যাকেট বাফার
রিটার্ন মান
WEAVE_NO_ERROR
সাফল্যের উপর
WEAVE_ERROR_BUFFER_TOO_SMALL
তাহলে ImageQuery প্রদান বাফারে মাপসই অত্যন্ত বড়।

ছাপা

void print(
  void
)

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

পার্স করা

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQuery &
)

ইমেজ ক্যোয়ারী একটি প্রদত্ত মধ্যে একটি PacketBuffer দেওয়া বার্তা Deserialize ImageQuery

বিশদ
পরামিতি
[in] aBuffer
কোনও প্যাকেটের পয়েন্টার যা থেকে চিত্রের ক্যোয়ারীটি বিশ্লেষণ করতে
[in] aQuery
ফলাফল রাখতে হবে এমন একটি বস্তু
ফিরে আসে
সাফল্যের দিকে WEAVE_NO_ERROR
ফিরে আসে
WEAVE_ERROR_BUFFER_TOO_SMALL তাহলে বার্তাটি অতি সব ক্ষেত্র ধারণ করে ছোট ছিল ImageQuery
ফিরে আসে
WEAVE_ERROR_INVALID_LIST_LENGTH তাহলে বার্তাটিকে অন্তর্ভুক্ত IntegrityTypeList বা UpdateSchemeList যে অত্যন্ত দীর্ঘ হয়েছে