nl:: Weave:: Profiles:: SoftwareUpdate:: ImageQuery
#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>
Eine Klasse, die das Erstellen und Decodieren von Bildanfragenachrichten unterstützt.
Zusammenfassung
Der Abfrage-Frame für das Bild hat die folgende Form über das Kabel
Länge | Feldname |
1 Byte | Frame-Control |
6 Byte | Produktspezifikation |
Variable | Versionsspezifikation |
2–4 Byte | Liste der Integritätstypen |
2,.5 Byte | Schemaliste aktualisieren |
Variable | Sprachspezifikation (optional) |
8 Byte | Zielknoten-ID |
Variable | anbieterspezifische Daten (optional) |
Bit | Bedeutung |
0 | 1 – anbieterspezifische Daten vorhanden, 0 – nicht vorhanden |
1 | 1 – Gebietsschemaangabe vorhanden, 0 – nicht vorhanden |
2 | 1 – Zielknoten-ID vorhanden, 0 – nicht vorhanden |
3..7 | Reserviert |
Konstruktoren und Zerstörer |
|
---|---|
ImageQuery()
Standardkonstruktor für ImageQuery.
|
Öffentliche Attribute |
|
---|---|
integrityTypes
|
Integritätstypen, die vom Gerät unterstützt werden
|
localeSpec
|
Ein UTF-8-String mit variabler Länge, der die POSIX-Sprache für das Gerät enthält, für das die Bildabfrage durchgeführt wird.
|
packageSpec
|
Ein UTF-8-String mit variabler Länge, der einen anbieterspezifischen String für die Paketspezifikation enthält.
|
productSpec
|
Produktspezifikation, in der das Gerät beschrieben wird, von dem die Bildanfrage stammt.
|
targetNodeId
|
uint64_t
Eine optionale Knoten-ID des Geräts, für das die Abfrage durchgeführt wird.
|
theMetaData
|
Das anbieterspezifische Datenfeld ist in der Länge variabel und belegt neben den oben beschriebenen Feldern den Rest der Weave-Nachrichtennutzlast.
|
updateSchemes
|
Vom Gerät unterstützte Updateschemas (Downloadprotokolle)
|
version
|
Ein UTF-8-String mit variabler Länge, der die anbieterspezifische Softwareversion des Geräts enthält, für das die Abfrage durchgeführt wird.
|
Öffentliche Funktionen |
|
---|---|
init(ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData)
|
Initialisieren Sie das Objekt ImageQuery explizit mit den bereitgestellten Werten.
|
operator==(const ImageQuery &) const
|
bool
Gleichheitsoperator
|
pack(PacketBuffer *)
|
Serialisiert die zugrunde liegende ImageQuery in den bereitgestellten PacketBuffer.
|
print(void)
|
void
|
Öffentliche statische Funktionen |
|
---|---|
parse(PacketBuffer *, ImageQuery &)
|
Deserialisieren Sie die in einem PacketBuffer bereitgestellten Bildabfragenachricht in eine bereitgestellte ImageQuery.
|
Öffentliche Attribute
localeSpec
ReferencedString localeSpec
Ein UTF-8-String mit variabler Länge, der die POSIX-Sprache für das Gerät enthält, für das die Bildabfrage durchgeführt wird.
Der Inhalt des Strings muss dem POSIX-Format der Sprachkennzeichnung gemäß ISO/IEC 15897 entsprechen, z.B. en_AU.UTF-8 für australisches Englisch.
packageSpec
ReferencedString packageSpec
Ein UTF-8-String mit variabler Länge, der einen anbieterspezifischen String für die Paketspezifikation enthält.
Der Inhalt des Felds beschreibt den gewünschten Containertyp für das Software-Image, z. B. „rpm“, „deb“, „tgz“, „elf“ usw. (HINWEIS: Dieses Feld wird in Nest-Implementierungen des Protokolls nicht verwendet.)
productSpec
ProductSpec productSpec
Produktspezifikation, in der das Gerät beschrieben wird, von dem die Bildanfrage stammt.
targetNodeId
uint64_t targetNodeId
Eine optionale Knoten-ID des Geräts, für das die Abfrage durchgeführt wird.
Das Feld für die Zielknoten-ID ist optional. Wenn nicht vorhanden, ist die Zielknoten-ID für die Abfrage implizit der Knoten, der die Quelle der Image-Anfragenachricht war.
Das Feld für die Zielknoten-ID wird normalerweise in Instanzen verwendet, bei denen der Knoten, der die Quelle der IMAGE QUERY-Nachricht ist, als Software-Update-Proxy für einen anderen Knoten dient.
theMetaData
ReferencedTLVData theMetaData
Das anbieterspezifische Datenfeld ist in der Länge variabel und belegt neben den oben beschriebenen Feldern den Rest der Weave-Nachrichtennutzlast.
Das Feld codiert anbieterspezifische Informationen über das Gerät, für das die Abfrage durchgeführt wird. Das anbieterspezifische Datenfeld ist optional. Falls vorhanden, weist das Feld eine Form einer anonymen TLV-codierten Struktur auf. Die in dieser Struktur dargestellten Tags müssen vollständig qualifizierte profilspezifische Tags sein.
updateSchemes
UpdateSchemeList updateSchemes
Vom Gerät unterstützte Updateschemas (Downloadprotokolle)
Version
ReferencedString version
Ein UTF-8-String mit variabler Länge, der die anbieterspezifische Softwareversion des Geräts enthält, für das die Abfrage durchgeführt wird.
Darf maximal 32 Zeichen lang sein.
Öffentliche Funktionen
ImageQuery
ImageQuery()
Standardkonstruktor für ImageQuery.
Die ImageQuery kann durch Aufrufen von init() oder durch Deserialisieren des Objekts aus einer Nachricht gefüllt werden.
init
WEAVE_ERROR init( ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData )
Initialisieren Sie das Objekt ImageQuery explizit mit den bereitgestellten Werten.
Details | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||||
Rückgabe |
WEAVE_NO_ERROR unbedingt.
|
Operator==
bool operator==( const ImageQuery & ) const
Gleichheitsoperator
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
„true“, wenn alle Felder in beiden Objekten gleich sind, andernfalls „false“
|
Packung
WEAVE_ERROR pack( PacketBuffer * )
Serialisiert die zugrunde liegende ImageQuery in den bereitgestellten PacketBuffer.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
ausgeben
void print( void )
Öffentliche statische Funktionen
parse
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
Deserialisieren Sie die in einem PacketBuffer bereitgestellten Bildabfragenachricht in eine bereitgestellte ImageQuery.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
WEAVE_NO_ERROR Bei Erfolg
|
||||
Rückgabe |
WEAVE_ERROR_BUFFER_TOO_small Wenn die Nachricht zu klein war, um alle Felder von ImageQuery zu enthalten,
|
||||
Rückgabe |
WEAVE_ERROR_INVALID_LIST_LENGTH Wenn die Nachricht eine zu lange IntegrityTypeList oder UpdateSchemeList enthält
|