nl:: Weave:: Profiles:: SoftwareUpdate:: ImageQuery
#include <src/lib/profiles/software-update/SoftwareUpdateProfile.h>
Klasa obsługująca tworzenie i dekodowanie wiadomości z zapytaniami o obrazy.
Podsumowanie
Ramka zapytania o obraz ma taką postać na przewodzie
Długość | Nazwa pola |
1 bajt | sterowanie klatką |
6 bajtów | specyfikacja produktu |
zmienna | specyfikacja wersji |
2,4 bajta | lista typów integralności |
2,,5 bajta | zaktualizuj listę schematów |
zmienna | specyfikacja języka (opcjonalnie) |
8 bajtów | identyfikator węzła docelowego |
zmienna | dane konkretnego dostawcy (opcjonalnie) |
Końcówka | Znaczenie |
0 | 1 – występują dane konkretnego dostawcy, 0 – brak |
1 | 1 – istnieje specyfikacja języka, 0 – brak |
2 | 1 – identyfikator węzła docelowego występuje, 0 – brak |
3..7 | Zarezerwowane |
Konstruktory i niszczyciele |
|
---|---|
ImageQuery()
Domyślny konstruktor dla ImageQuery.
|
Atrybuty publiczne |
|
---|---|
integrityTypes
|
Typy integralności obsługiwane przez urządzenie.
|
localeSpec
|
Ciąg znaków UTF-8 o zmiennej długości zawierający język POSIX, który obowiązuje na urządzeniu, którego dotyczy zapytanie o obraz.
|
packageSpec
|
Ciąg znaków UTF-8 o zmiennej długości zawierający ciąg specyfikacji pakietu konkretnego dostawcy.
|
productSpec
|
Specyfikacja produktu opisująca urządzenie, które wysyła zapytanie o zdjęcie.
|
targetNodeId
|
uint64_t
Opcjonalny identyfikator węzła urządzenia, dla którego wysyłane jest zapytanie.
|
theMetaData
|
Pole danych specyficzne dla dostawcy ma zmienną długością i zajmuje pozostałą część ładunku wiadomości Weave, poza polami opisanymi powyżej.
|
updateSchemes
|
Aktualizuj schematy (protokoły pobierania) obsługiwane przez urządzenie.
|
version
|
Ciąg znaków UTF-8 o zmiennej długości zawierający określoną przez dostawcę wersję oprogramowania urządzenia, dla którego wysyłane jest zapytanie.
|
Funkcje publiczne |
|
---|---|
init(ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData)
|
Jawnie zainicjuj obiekt ImageQuery za pomocą podanych wartości.
|
operator==(const ImageQuery &) const
|
bool
Operator równości.
|
pack(PacketBuffer *)
|
Zserializuj bazowe zapytanie ImageQuery w podanym pakiecie PacketBuffer.
|
print(void)
|
void
|
Publiczne funkcje statyczne |
|
---|---|
parse(PacketBuffer *, ImageQuery &)
|
Deserializuj wiadomość z zapytaniem o obraz podaną w PaceBuffer w przesłanym obiekcie ImageQuery.
|
Atrybuty publiczne
localeSpec
ReferencedString localeSpec
Ciąg znaków UTF-8 o zmiennej długości zawierający język POSIX, który obowiązuje na urządzeniu, którego dotyczy zapytanie o obraz.
Zawartość ciągu musi być zgodna z formatem identyfikatora języka POSIX, określonym w normie ISO/IEC 15897, np. en_AU.UTF-8 dla australijskiego angielskiego.
packageSpec
ReferencedString packageSpec
Ciąg znaków UTF-8 o zmiennej długości zawierający ciąg specyfikacji pakietu konkretnego dostawcy.
Zawartość pola opisuje odpowiedni typ kontenera na obraz oprogramowania, np. „rpm”, „deb”, „tgz”, „elf” itp. (UWAGA: to pole nie jest używane w implementacjach protokołu Nest).
productSpec
ProductSpec productSpec
Specyfikacja produktu opisująca urządzenie, które wysyła zapytanie o zdjęcie.
targetNodeId
uint64_t targetNodeId
Opcjonalny identyfikator węzła urządzenia, dla którego wysyłane jest zapytanie.
Pole identyfikatora węzła docelowego jest opcjonalne. Jeśli identyfikator węzła docelowego dla zapytania nie jest podany, domyślnie jest to węzeł, który był źródłem komunikatu z zapytaniem o obraz.
Pole identyfikatora węzła docelowego jest zwykle używane w instancjach, w których węzeł, który jest źródłem komunikatu IMAGE QUERY, służy jako serwer proxy aktualizacji oprogramowania innego węzła.
theMetaData
ReferencedTLVData theMetaData
Pole danych specyficzne dla dostawcy ma zmienną długością i zajmuje pozostałą część ładunku wiadomości Weave, poza polami opisanymi powyżej.
Pole koduje specyficzne dla dostawcy informacje o urządzeniu, dla którego wysyłane jest zapytanie. Pole danych specyficzne dla dostawcy jest opcjonalne. Jeśli pole występuje, ma postać anonimowej struktury zakodowanej w formacie TLV. Tagi wyświetlane w ramach tej struktury powinny być w pełni kwalifikowanymi tagami związanymi z profilem.
updateSchemes
UpdateSchemeList updateSchemes
Aktualizuj schematy (protokoły pobierania) obsługiwane przez urządzenie.
wersja
ReferencedString version
Ciąg znaków UTF-8 o zmiennej długości zawierający określoną przez dostawcę wersję oprogramowania urządzenia, dla którego wysyłane jest zapytanie.
Rozmiar nie może przekraczać 32 znaków.
Funkcje publiczne
ImageQuery
ImageQuery()
Domyślny konstruktor dla ImageQuery.
Pole ImageQuery może zostać wypełnione przez wywołanie init() lub deserializacja obiektu z wiadomości.
init
WEAVE_ERROR init( ProductSpec & aProductSpec, ReferencedString & aVersion, IntegrityTypeList & aTypeList, UpdateSchemeList & aSchemeList, ReferencedString *aPackage, ReferencedString *aLocale, uint64_t aTargetNodeId, ReferencedTLVData *aMetaData )
Jawnie zainicjuj obiekt ImageQuery za pomocą podanych wartości.
Szczegóły | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||||
Zwroty |
WEAVE_NO_ERROR Bezwarunkowo.
|
operator==
bool operator==( const ImageQuery & ) const
Operator równości.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
true (prawda), jeśli wszystkie pola w obu obiektach są równe. W przeciwnym razie ma wartość false (fałsz)
|
paczka
WEAVE_ERROR pack( PacketBuffer * )
Zserializuj bazowe zapytanie ImageQuery w podanym pakiecie PacketBuffer.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
wyświetlić
void print( void )
Publiczne funkcje statyczne
analizowa
WEAVE_ERROR parse( PacketBuffer *, ImageQuery & )
Deserializuj wiadomość z zapytaniem o obraz podaną w PaceBuffer w przesłanym obiekcie ImageQuery.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu
|
||||
Zwroty |
WEAVE_ERROR_BUFFER_TOO_SMALL Jeśli wiadomość jest zbyt mała, aby pomieścić wszystkie pola zapytania ImageQuery
|
||||
Zwroty |
WEAVE_ERROR_INVALID_LIST_LENGTH Jeśli wiadomość zawierała zbyt długa listę typu IntegrityTypeList lub UpdateSchemeList
|