nl::Weave::الملفات الشخصية::SoftwareUpdate::ImageQuery

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

فئة لدعم إنشاء رسائل طلبات البحث عن الصور وفك ترميزها.

ملخّص

يظهر إطار طلب البحث بالصورة على السلك التالي

الطول اسم الحقل
1 بايت التحكم في الإطار
6 بايت مواصفات المنتج
متغير مواصفات الإصدار
2.4 بايت قائمة أنواع السلامة
2.5.5 بايت تعديل قائمة المخططات
متغير مواصفات اللغة (اختيارية)
8 بايت رقم تعريف العقدة المستهدفة
متغير البيانات الخاصة بالمورّد (اختياري)
حيث يحتوي حقل التحكم في الإطار على حقول بت كما يلي:

ريشة المثقاب المعنى
0 1 - البيانات الخاصة بالمورّد، من 0 إلى غير موجودة
1 1 - مواصفات اللغة متوفرة، من 0 إلى غير موجودة
2 1 - معرّف العقدة المستهدَفة، 0 - غير متوفّر
3.7 تم الحجز
تظهر ImageQuery كبنية بشكل مختلف قليلاً عن التمثيل أثناء الطيران. على وجه الخصوص، يكون الإصدار والمنطقة باللغة الإنجليزية عبارة عن سلاسل c مُنتهية (على عكس (الطول والأحرف) tall) ويتم تمثيل كل من العناصر الاختيارية كمؤشرات فارغة، لذلك لا تتوفر "قيمة منطقية" للتحقق.

الماكينات والتصاميم

ImageQuery()
أداة الإنشاء التلقائية لـ ImageQuery.

السمات العلنية

integrityTypes
أنواع السلامة التي يوفّرها الجهاز
localeSpec
سلسلة UTF-8 بطول متغيّر تحتوي على لغة POSIX السارية على الجهاز الذي يتم إنشاء طلب بحث الصورة له.
packageSpec
سلسلة UTF-8 ذات طول متغير تحتوي على سلسلة مواصفات حزمة خاصة بالمورّد.
productSpec
مواصفات المنتج التي تصف الجهاز الذي يجري طلب البحث عن الصورة.
targetNodeId
uint64_t
معرّف اختياري للعقدة للجهاز الذي يتم إجراء طلب البحث له.
theMetaData
يمثّل حقل البيانات الخاصة بالمورّد متغيّرًا ويشغّل بقية حمولة رسالة Weave، بخلاف الحقول الموضّحة أعلاه.
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 *)
أنشئ تسلسل ImageQuery الأصلي في تسلسل PacketBuffer المقدَّم.
print(void)
void

الدوال الثابتة العامة

parse(PacketBuffer *, ImageQuery &)
عليك إلغاء تسلسل رسالة طلب بحث الصورة المقدَّمة في PacketBuffer في ImageQuery المقدَّم.

السمات العلنية

أنواع السلامة

IntegrityTypeList integrityTypes

أنواع السلامة التي يوفّرها الجهاز

مواصفات اللغة

ReferencedString localeSpec

سلسلة UTF-8 بطول متغيّر تحتوي على لغة POSIX السارية على الجهاز الذي يتم إنشاء طلب بحث الصورة له.

يجب أن يتوافق محتوى السلسلة مع تنسيق معرّف اللغة POSIX، كما هو محدّد في ISO/IEC 15897، مثل en_AU.UTF-8 للغة الإنجليزية الأسترالية.

مواصفات الحزمة

ReferencedString packageSpec

سلسلة UTF-8 ذات طول متغير تحتوي على سلسلة مواصفات حزمة خاصة بالمورّد.

يصف محتوى الحقل نوع الحاوية المطلوب لصورة البرنامج، مثل "rpm" و"deb" و"tgz" و"elf" وما إلى ذلك. (ملاحظة: لا يتم استخدام هذا الحقل في عمليات تنفيذ البروتوكول في Nest).

مواصفات المنتج

ProductSpec productSpec

مواصفات المنتج التي تصف الجهاز الذي يجري طلب البحث عن الصورة.

targetNodeId

uint64_t targetNodeId

معرّف اختياري للعقدة للجهاز الذي يتم إجراء طلب البحث له.

حقل معرّف العقدة المستهدفة اختياري. في حال عدم توفّر تلك العقدة، يكون معرّف العقدة المستهدفة لطلب البحث ضمنيًا هو العُقدة التي كانت مصدر رسالة طلب بحث الصورة.

يتم استخدام حقل رقم تعريف العقدة المستهدفة عادةً في الحالات التي تعمل فيها العقدة التي تكون مصدر رسالة IMAGE QUERY كخادم وكيل لتحديث البرنامج لعقدة أخرى.

البيانات الوصفية

ReferencedTLVData theMetaData

يمثّل حقل البيانات الخاصة بالمورّد متغيّرًا ويشغّل بقية حمولة رسالة Weave، بخلاف الحقول الموضّحة أعلاه.

يشفر هذا الحقل معلومات متعلقة بالمورِّد عن الجهاز الذي يتم إجراء طلب البحث له. حقل البيانات الخاص بالمورّد اختياري. إذا كان الاسم متاحًا، سيحتوي الحقل على شكل بنية مجهولة المصدر بترميز TLV. يجب أن تكون العلامات المقدّمة ضمن هذه البنية علامات مخصّصة بالكامل للملف الشخصي.

مخططات التحديث

UpdateSchemeList updateSchemes

تحديث المخطّطات (بروتوكولات التنزيل) المتوافقة مع الجهاز

إصدار

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 صراحةً باستخدام القيم المقدَّمة.

التفاصيل
المَعلمات
[in] aProductSpec
مواصفات المنتج
[in] aVersion
إصدار البرنامج المثبّت حاليًا
[in] aTypeList
أنواع السلامة التي يوفّرها البرنامج
[in] aSchemeList
مخطّطات التحديث التي يدعمها البرنامج.
[in] aPackage
مواصفات حزمة اختيارية يدعمها البرنامج.
[in] aLocale
مواصفات لغة اختيارية يطلبها العميل
[in] aTargetNodeId
رقم تعريف عقدة هدف اختياري.
[in] aMetaData
كائن تخزين بيانات اختياري اختياري من قِبل مورّد TLV.
المرتجعات
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 في ImageQuery المقدَّم.

التفاصيل
المَعلمات
[in] aBuffer
مؤشر إلى حزمة لتحليل طلب البحث منها
[in] aQuery
عنصر يتم وضع النتيجة فيه
المرتجعات
WEAVE_NO_ERROR على مستوى النجاح
المرتجعات
WEAVE_ERROR_BUFFER_TOO_SMALL إذا كانت الرسالة صغيرة جدًا بحيث لا تحتوي على جميع حقول ImageQuery
المرتجعات
WEAVE_ERROR_INVALID_LIST_LENGTH إذا كانت الرسالة تحتوي على IntegrityTypeList أو UpdateSchemeList طويل جدًا.