nl::Weave::Profiles::SoftwareUpdate::ImageQueryResponse

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

Klasa do tworzenia i dekodowania odpowiedzi na zapytania dotyczące obrazów.

Podsumowanie

Odpowiedź na zapytanie o grafikę ma postać:

Długość Nazwa pola
zmienna Identyfikator URI
zmienna Specyfikacja wersji
zmienna Specyfikacja integralności
1 bajt Zaktualizuj schemat
1 bajt Opcje aktualizacji
Pole opcji aktualizacji (opcjonalne) ma następujący format:

Końcówka Znaczenie
0..2 Priorytet aktualizacji
3..4 Zaktualizuj warunek
5 Stan raportu. Gdy zasada jest skonfigurowana, klient jest proszony o wygenerowanie opcjonalnych komunikatów DownloadNotify i UpdateNotify.
5..7 Zarezerwowano
Odpowiedź na zapytanie dotyczące obrazu jest wysyłana tylko wtedy, gdy zapytanie dotyczące obrazu zostanie prawidłowo przetworzone i spowoduje utworzenie obrazu do pobrania. Wiadomość zawiera instrukcje pobierania dla węzła, z którego zostało przesłane zapytanie. Pamiętaj, że jeśli serwer nie przetworzy zapytania o grafikę, wygeneruje stan zapytania o obraz.

Konstruktorzy i niszczyciele

ImageQueryResponse()
Domyślny konstruktor dla ImageQueryResponse.

Atrybuty publiczne

integritySpec
Pole zawierające informacje o integralności (typ i hasz) obrazu aktualizacji oprogramowania.
reportStatus
bool
Wysyła żądania, aby informować serwer o postępach aktualizacji oprogramowania za pomocą opcjonalnych komunikatów DownloadNotify i UpdateNotify.
updateCondition
Instrukcje dotyczące warunków, które należy spełnić, aby przeprowadzić aktualizację oprogramowania.
updatePriority
Instrukcje określające, kiedy urządzenie ma zaktualizować oprogramowanie.
updateScheme
uint8_t
Schemat aktualizacji używany do pobrania obrazu aktualizacji oprogramowania.
uri
Ciąg znaków UTF-8 o zmiennej długości zawierający lokalizację obrazu oprogramowania.
versionSpec
Ciąg znaków UTF-8 o zmiennej długości zawierający specyficzny dla dostawcy identyfikator wersji oprogramowania.

Funkcje publiczne

init(ReferencedString &, ReferencedString &, IntegritySpec &, uint8_t, UpdatePriority, UpdateCondition, bool)
Jawnie zainicjuj obiekt ImageQueryResponse za pomocą podanych wartości.
operator==(const ImageQueryResponse &) const
bool
Operator równości.
pack(PacketBuffer *)
Zserializuj parametr ImageQueryResponse w udostępnionym buforze pakietów.
print(void)
void

Publiczne funkcje statyczne

parse(PacketBuffer *, ImageQueryResponse &)
Deserializacja wiadomości z odpowiedzią na zapytanie o obraz dostarczaną w Buforze pakietów do podanej odpowiedzi ImageQueryResponse.

Atrybuty publiczne

integritySpec

IntegritySpec integritySpec

Pole zawierające informacje o integralności (typ i hasz) obrazu aktualizacji oprogramowania.

reportStatus

bool reportStatus

Wysyła żądania, aby informować serwer o postępach aktualizacji oprogramowania za pomocą opcjonalnych komunikatów DownloadNotify i UpdateNotify.

updateCondition

UpdateCondition updateCondition

Instrukcje dotyczące warunków, które należy spełnić, aby przeprowadzić aktualizację oprogramowania.

updatePriority

UpdatePriority updatePriority

Instrukcje określające, kiedy urządzenie ma zaktualizować oprogramowanie.

updateScheme

uint8_t updateScheme

Schemat aktualizacji używany do pobrania obrazu aktualizacji oprogramowania.

Jej wartość jest pobierana z metody UpdateSchemes.

uri

ReferencedString uri

Ciąg znaków UTF-8 o zmiennej długości zawierający lokalizację obrazu oprogramowania.

Jego zawartość musi być zgodna ze specyfikacją RFC 3986. W przypadku schematów aktualizacji odpowiadających dobrze zdefiniowanemu protokołowi internetowemu (HTTP, HTTPS, SFTP) element schematu URI MUSI być zgodny z kodowaniem kanonicznego adresu URL dla tego schematu protokołu. Długość ciągu nie może przekraczać 65 565, a ciąg musi mieścić się w jednej wiadomości Weave, która może podlegać ograniczeniom MTU.

versionSpec

ReferencedString versionSpec

Ciąg znaków UTF-8 o zmiennej długości zawierający specyficzny dla dostawcy identyfikator wersji oprogramowania.

Długość ciągu znaków nie może przekraczać 256 bajtów.

Funkcje publiczne

ImageQueryResponse

 ImageQueryResponse()

Domyślny konstruktor dla ImageQueryResponse.

Parametr ImageQueryResponse może być wypełniany za pomocą metody init() lub przez deserializację obiektu z wiadomości.

init

WEAVE_ERROR init(
  ReferencedString &,
  ReferencedString &,
  IntegritySpec &,
  uint8_t,
  UpdatePriority,
  UpdateCondition,
  bool
)

Jawnie zainicjuj obiekt ImageQueryResponse za pomocą podanych wartości.

Szczegóły
Parametry
[in] aUri
Identyfikator URI, pod którym ma zostać znaleziony nowy obraz oprogramowania układowego.
[in] aVersion
Ciąg znaków wersji obrazu.
[in] aIntegrity
Specyfikacja integralności odpowiadająca nowemu obrazowi.
[in] aScheme
Schemat aktualizacji używany podczas pobierania.
[in] aPriority
Priorytet aktualizacji powiązany z tą aktualizacją.
[in] aCondition
Warunek aktualizacji.
[in] aReportStatus
Jeśli ma wartość true (prawda), klient nie będzie raportować danych po pobraniu i zaktualizowaniu.
Zwroty
WEAVE_NO_ERROR bezwarunkowo.

operator==

bool operator==(
  const ImageQueryResponse &
) const 

Operator równości.

Szczegóły
Parametry
another
Wartość ImageQueryResponse, która ma zostać sprawdzona pod kątem tej ImageQueryResponse
Zwroty
prawda, jeśli wszystkie pola w obu obiektach są równe, lub fałsz w przeciwnym razie

paczka

WEAVE_ERROR pack(
  PacketBuffer *
)

Zserializuj parametr ImageQueryResponse w udostępnionym buforze pakietów.

Szczegóły
Parametry
[in] aBuffer
Bufor pakietów, w którym pakować odpowiedź na zapytanie
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.
WEAVE_ERROR_BUFFER_TOO_SMALL
Wartość ImageQueryResponse jest za duża, aby zmieścić się w udostępnionym buforze.

wyświetlić

void print(
  void
)

Publiczne funkcje statyczne

parse

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

Deserializacja wiadomości z odpowiedzią na zapytanie o obraz dostarczaną w Buforze pakietów do podanej odpowiedzi ImageQueryResponse.

Szczegóły
Parametry
[in] aBuffer
Wskaźnik do pakietu, z którego ma zostać przeanalizować zapytanie dotyczące obrazu.
[in] aResponse
Obiekt, w którym zostanie umieszczony wynik
Zwroty
WEAVE_NO_ERROR Po pomyślnym zakończeniu
Zwroty
WEAVE_ERROR_BUFFER_TOO_SMALL Jeśli wiadomość jest zbyt mała, aby zmieściła się we wszystkich polach ImageQuery
Zwroty
WEAVE_ERROR_blogspot_INTEGRITY_TYPE Jeśli podany typ integralności nie jest jedną z wartości określonych w polu IntegrityTypes