nl:: Weave:: Profiles:: SoftwareUpdate:: ImageQuery
#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>
Eine Klasse, die das Erstellen und Decodieren von Bildabfragenachrichten unterstützt.
Zusammenfassung
Der Bildabfrage-Frame hat folgende Form über die Leitung
Länge | Feldname |
1 Byte | Frame-Steuerung |
6 Byte | Produktspezifikation |
variabel | Versionsspezifikation |
2 bis 4 Byte | Liste der Integritätstypen |
2,.5 Byte | Schemaliste aktualisieren |
variabel | Sprachspezifikation (optional) |
8 Byte | Zielknoten-ID |
variabel | anbieterspezifische Daten (optional) |
Bit | Bedeutung |
0 | 1 – anbieterspezifische Daten vorhanden, 0 – nicht vorhanden |
1 | 1 – Sprachspezifikation vorhanden, 0 – nicht vorhanden |
2 | 1 – ID des Zielknotens vorhanden, 0 – nicht vorhanden |
3..7 | Reserviert |
Konstruktoren und Zerstörer |
|
---|---|
ImageQuery()
Standardkonstruktor für ImageQuery.
|
Öffentliche Attribute |
|
---|---|
integrityTypes
|
Vom Gerät unterstützte Integritätstypen.
|
localeSpec
|
Ein UTF-8-String mit variabler Länge, der die POSIX-Sprache auf dem Gerät enthält, für das die Bildabfrage durchgeführt wird.
|
packageSpec
|
Ein UTF-8-String mit variabler Länge, der einen anbieterspezifischen Paketspezifikationsstring enthält.
|
productSpec
|
Produktspezifikation, die das Gerät beschreibt, von dem die Bildabfrage durchgeführt wird.
|
targetNodeId
|
uint64_t
Eine optionale Knoten-ID des Geräts, für das die Abfrage durchgeführt wird.
|
theMetaData
|
Das anbieterspezifische Datenfeld hat eine variable Länge und belegt den Rest der Weave-Nachrichtennutzlast über die oben beschriebenen Felder hinaus.
|
updateSchemes
|
Aktualisierungsschemas (Downloadprotokolle), die vom Gerät unterstützt werden.
|
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 ImageQuery-Objekt explizit mit den angegebenen Werten.
|
operator==(const ImageQuery &) const
|
bool
Ein Gleichheitsoperator.
|
pack(PacketBuffer *)
|
Serialisiert die zugrunde liegende ImageQuery in den bereitgestellten PacketBuffer.
|
print(void)
|
void
|
Öffentliche statische Funktionen |
|
---|---|
parse(PacketBuffer *, ImageQuery &)
|
Deserialisiert die in einem PacketBuffer enthaltene Bildabfragenachricht in eine bereitgestellte ImageQuery.
|
Öffentliche Attribute
localeSpec
ReferencedString localeSpec
Ein UTF-8-String mit variabler Länge, der die POSIX-Sprache auf dem Gerät enthält, für das die Bildabfrage durchgeführt wird.
Der Inhalt des Strings muss dem POSIX-Format der Gebietsschema-ID entsprechen, wie in ISO/IEC 15897 angegeben. Beispiel: en_AU.UTF-8 für australisches Englisch.
packageSpec
ReferencedString packageSpec
Ein UTF-8-String mit variabler Länge, der einen anbieterspezifischen Paketspezifikationsstring enthält.
Der Inhalt des Felds beschreibt den gewünschten Containertyp für das Software-Image, z. B. „rpm“, „deb“, „tgz“ oder „elf“. (HINWEIS: Dieses Feld wird in Nest-Implementierungen des Protokolls nicht verwendet.)
productSpec
ProductSpec productSpec
Produktspezifikation, die das Gerät beschreibt, von dem die Bildabfrage durchgeführt wird.
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, bezieht sich die Zielknoten-ID für die Abfrage implizit auf den Knoten, der die Quelle der Bildabfragenachricht war.
Das Zielknoten-ID-Feld wird in der Regel in Instanzen verwendet, bei denen der Knoten, der die Quelle der BILDABFRAGE-Nachricht ist, als Software-Update-Proxy für einen anderen Knoten dient.
theMetaData
ReferencedTLVData theMetaData
Das anbieterspezifische Datenfeld hat eine variable Länge und belegt den Rest der Weave-Nachrichtennutzlast über die oben beschriebenen Felder hinaus.
Das Feld codiert anbieterspezifische Informationen zu dem Gerät, für das die Abfrage durchgeführt wird. Das anbieterspezifische Datenfeld ist optional. Falls vorhanden, hat das Feld eine anonyme TLV-codierte Struktur. Die in dieser Struktur dargestellten Tags sind voll qualifizierte profilspezifische Tags.
updateSchemes
UpdateSchemeList updateSchemes
Aktualisierungsschemas (Downloadprotokolle), die vom Gerät unterstützt werden.
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.
ImageQuery kann durch Aufrufen von init() oder durch Deserialisieren des Objekts aus einer Nachricht ausgefü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 ImageQuery-Objekt explizit mit den angegebenen Werten.
Details | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||||
Rückgabe |
WEAVE_NO_ERROR Bedingungslos.
|
Operator==
bool operator==( const ImageQuery & ) const
Ein 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 & )
Deserialisiert die in einem PacketBuffer enthaltene 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 enthalten zu können,
|
||||
Rückgabe |
WEAVE_ERROR_INVALID_LIST_LENGTH Wenn die Nachricht eine zu lange IntegrityTypeList oder UpdateSchemeList enthielt
|