nl:: বুনা:: প্রোফাইল:: সফটওয়্যার আপডেট:: ImageQuery
#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>
ইমেজ ক্যোয়ারী বার্তা তৈরি এবং ডিকোডিং সমর্থন করার জন্য একটি ক্লাস।
সারাংশ
ইমেজ ক্যোয়ারী ফ্রেম তারের উপর নিম্নলিখিত ফর্ম আছে
দৈর্ঘ্য | ক্ষেত্রের নাম |
1 বাইট | ফ্রেম নিয়ন্ত্রণ |
6 বাইট | পণ্য স্পেসিফিকেশন |
পরিবর্তনশীল | সংস্করণ স্পেসিফিকেশন |
2..4 বাইট | অখণ্ডতা টাইপ তালিকা |
2..5 বাইট | আপডেট স্কিম তালিকা |
পরিবর্তনশীল | লোকেল স্পেসিফিকেশন (ঐচ্ছিক) |
8 বাইট | লক্ষ্য নোড আইডি |
পরিবর্তনশীল | বিক্রেতার নির্দিষ্ট ডেটা (ঐচ্ছিক) |
বিট | অর্থ |
0 | 1 - বিক্রেতা-নির্দিষ্ট ডেটা উপস্থিত, 0 - উপস্থিত নয়৷ |
1 | 1 - লোকেল স্পেসিফিকেশন উপস্থিত, 0 - উপস্থিত নয় |
2 | 1 - লক্ষ্য নোড আইডি উপস্থিত, 0 - উপস্থিত নয়৷ |
3..7 | সংরক্ষিত |
কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর | |
---|---|
ImageQuery () ImageQuery- এর জন্য ডিফল্ট কনস্ট্রাক্টর। |
পাবলিক বৈশিষ্ট্য | |
---|---|
integrityTypes | অখণ্ডতার প্রকারগুলি ডিভাইস দ্বারা সমর্থিত৷ |
localeSpec | একটি পরিবর্তনশীল দৈর্ঘ্য UTF-8 স্ট্রিং যার জন্য ইমেজ ক্যোয়ারী করা হচ্ছে সেই ডিভাইসে POSIX লোকেল কার্যকর। |
packageSpec | একটি পরিবর্তনশীল দৈর্ঘ্য UTF-8 স্ট্রিং যেখানে একটি বিক্রেতা-নির্দিষ্ট প্যাকেজ স্পেসিফিকেশন স্ট্রিং রয়েছে৷ |
productSpec | পণ্যের স্পেসিফিকেশন যে ডিভাইসটি ইমেজ কোয়েরি করছে তার বর্ণনা দেয়। |
targetNodeId | uint64_t যে ডিভাইসটির জন্য ক্যোয়ারী করা হচ্ছে তার একটি ঐচ্ছিক নোড আইডি। |
theMetaData | বিক্রেতা-নির্দিষ্ট ডেটা ক্ষেত্রটি দৈর্ঘ্যে পরিবর্তনশীল এবং উপরে বর্ণিত ক্ষেত্রগুলির বাইরে, ওয়েভ মেসেজ পেলোডের অবশিষ্টাংশ দখল করে। |
updateSchemes | ডিভাইস দ্বারা সমর্থিত আপডেট স্কিম (ডাউনলোড প্রোটোকল)। |
version | একটি পরিবর্তনশীল দৈর্ঘ্য UTF-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 *) | প্রদত্ত PacketBuffer-এ অন্তর্নিহিত ImageQuery-কে সিরিয়ালাইজ করুন। |
print (void) | void |
পাবলিক স্ট্যাটিক ফাংশন | |
---|---|
parse (PacketBuffer *, ImageQuery &) | প্যাকেটবাফারে প্রদত্ত ইমেজ ক্যোয়ারী বার্তাটিকে প্রদত্ত ImageQuery- এ ডিসিরিয়ালাইজ করুন। |
পাবলিক বৈশিষ্ট্য
localeSpec
ReferencedString localeSpec
একটি পরিবর্তনশীল দৈর্ঘ্য UTF-8 স্ট্রিং যার জন্য ইমেজ ক্যোয়ারী করা হচ্ছে সেই ডিভাইসে POSIX লোকেল কার্যকর।
স্ট্রিংয়ের বিষয়বস্তু অবশ্যই POSIX লোকেল শনাক্তকারী বিন্যাসের সাথে সঙ্গতিপূর্ণ হতে হবে, যেমনটি ISO/IEC 15897-এ উল্লেখ করা হয়েছে, যেমন অস্ট্রেলিয়ান ইংরেজির জন্য en_AU.UTF-8।
প্যাকেজ বিশেষ
ReferencedString packageSpec
একটি পরিবর্তনশীল দৈর্ঘ্য UTF-8 স্ট্রিং যেখানে একটি বিক্রেতা-নির্দিষ্ট প্যাকেজ স্পেসিফিকেশন স্ট্রিং রয়েছে৷
ক্ষেত্রের বিষয়বস্তু সফ্টওয়্যার চিত্রের জন্য পছন্দসই ধারক প্রকার বর্ণনা করে, যেমন 'rpm', 'deb', 'tgz', 'elf', ইত্যাদি। (দ্রষ্টব্য: এই ক্ষেত্রটি প্রোটোকলের নেস্ট বাস্তবায়নে অব্যবহৃত)
পণ্য বিশেষ
ProductSpec productSpec
পণ্যের স্পেসিফিকেশন যে ডিভাইসটি ইমেজ কোয়েরি করছে তার বর্ণনা দেয়।
targetNodeId
uint64_t targetNodeId
যে ডিভাইসটির জন্য ক্যোয়ারী করা হচ্ছে তার একটি ঐচ্ছিক নোড আইডি।
লক্ষ্য নোড আইডি ক্ষেত্র ঐচ্ছিক। অনুপস্থিত থাকলে, ক্যোয়ারীটির লক্ষ্য নোড আইডিটি অন্তর্নিহিতভাবে নোড যা ইমেজ ক্যোয়ারী বার্তার উৎস ছিল।
টার্গেট নোড আইডি ক্ষেত্রটি সাধারণত এমন পরিস্থিতিতে ব্যবহৃত হয় যেখানে IMAGE QUERY বার্তার উৎস নোডটি অন্য নোডের জন্য একটি সফ্টওয়্যার আপডেট প্রক্সি হিসাবে কাজ করছে৷
মেটাডেটা
ReferencedTLVData theMetaData
বিক্রেতা-নির্দিষ্ট ডেটা ক্ষেত্রটি দৈর্ঘ্যে পরিবর্তনশীল এবং উপরে বর্ণিত ক্ষেত্রগুলির বাইরে, ওয়েভ মেসেজ পেলোডের অবশিষ্টাংশ দখল করে।
যে ডিভাইসটির জন্য ক্যোয়ারী করা হচ্ছে সে সম্পর্কে ক্ষেত্রটি বিক্রেতা-নির্দিষ্ট তথ্য এনকোড করে। বিক্রেতা-নির্দিষ্ট ডেটা ক্ষেত্র ঐচ্ছিক। যদি উপস্থিত থাকে, ক্ষেত্রের একটি বেনামী TLV-এনকোডেড কাঠামো রয়েছে। এই কাঠামোর মধ্যে উপস্থাপিত ট্যাগগুলি সম্পূর্ণরূপে-যোগ্য প্রোফাইল-নির্দিষ্ট ট্যাগ হতে হবে।
সংস্করণ
ReferencedString version
একটি পরিবর্তনশীল দৈর্ঘ্য UTF-8 স্ট্রিং যেখানে ডিভাইসটির বিক্রেতা-নির্দিষ্ট সফ্টওয়্যার সংস্করণ রয়েছে যার জন্য অনুসন্ধান করা হচ্ছে৷
দৈর্ঘ্য 32 বা ছোট হতে হবে।
পাবলিক ফাংশন
ImageQuery
ImageQuery()
ImageQuery- এর জন্য ডিফল্ট কনস্ট্রাক্টর।
ইমেজকুয়েরি init() কল করে বা একটি বার্তা থেকে অবজেক্টটিকে ডিসিরিয়ালাইজ করে পপুলেট করা যেতে পারে।
init
WEAVE_ERROR init( ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData )
প্রদত্ত মান সহ ImageQuery অবজেক্টটিকে স্পষ্টভাবে শুরু করুন।
বিস্তারিত | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||||||||||
রিটার্নস | WEAVE_NO_ERROR শর্তহীনভাবে। |
অপারেটর==
bool operator==( const ImageQuery & ) const
একটি সমতা অপারেটর.
বিস্তারিত | |||
---|---|---|---|
পরামিতি |
| ||
রিটার্নস | সত্য যদি উভয় বস্তুর সমস্ত ক্ষেত্র সমান হয়, অন্যথায় মিথ্যা |
প্যাক
WEAVE_ERROR pack( PacketBuffer * )
প্রদত্ত PacketBuffer-এ অন্তর্নিহিত ImageQuery-কে সিরিয়ালাইজ করুন।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
| ||||
রিটার্ন মান |
|
মুদ্রণ
void print( void )
পাবলিক স্ট্যাটিক ফাংশন
পার্স
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
প্যাকেটবাফারে প্রদত্ত ইমেজ ক্যোয়ারী বার্তাটিকে প্রদত্ত ImageQuery- এ ডিসিরিয়ালাইজ করুন।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
| ||||
রিটার্নস | WEAVE_NO_ERROR সাফল্যে | ||||
রিটার্নস | WEAVE_ERROR_BUFFER_TOO_SMALL যদি ইমেজকোয়েরির সমস্ত ক্ষেত্র ধারণ করার জন্য বার্তাটি খুব ছোট হয় | ||||
রিটার্নস | WEAVE_ERROR_INVALID_LIST_LENGTH যদি বার্তাটিতে একটি IntegrityTypeList বা UpdateSchemeList থাকে যা খুব দীর্ঘ ছিল |