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

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

Klasa do obsługi tworzenia i dekodowania wiadomości z odpowiedziami na zapytanie o obraz.

Podsumowanie

Odpowiedź na zapytanie o obraz ma taki format:

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

Końcówka Znaczenie
0,.2 Zaktualizuj priorytet
3..4 Zaktualizuj stan
5 Stan raportu. Po ustawieniu klient otrzymuje żądanie wygenerowania opcjonalnych komunikatów DownloadNotify i UpdateNotify.
5..7 Zarezerwowane
Odpowiedź na zapytanie o obraz jest wysyłana tylko wtedy, gdy zapytanie o obraz zostanie przetworzone i generuje obraz do pobrania. Wiadomość stanowi instrukcje pobierania dla węzła, z którego przesłano zapytanie. Pamiętaj, że w sytuacjach, gdy serwer nie przetworzy zapytania o obraz, powinien wygenerować stan zapytania o obraz.

Konstruktory i niszczyciele

ImageQueryResponse()
Domyślny konstruktor obiektu ImageQueryResponse.

Atrybuty publiczne

integritySpec
Pole zawierające informacje o integralności (typ integralności i skrót) do obrazu aktualizacji oprogramowania.
reportStatus
bool
Żądanie informujące serwer o postępach aktualizacji oprogramowania za pomocą opcjonalnych komunikatów DownloadNotify i UpdateNotify.
updateCondition
instrukcje określające warunki, jakie należy spełnić, aby przeprowadzić aktualizację oprogramowania.
updatePriority
Instrukcje opisujące, kiedy urządzenie ma przeprowadzić aktualizację.
updateScheme
uint8_t
Schemat aktualizacji używany do pobierania 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 ImageQueryResponse w podanym buforze PacketBuffer.
print(void)
void

Publiczne funkcje statyczne

parse(PacketBuffer *, ImageQueryResponse &)
Deserializuj komunikat odpowiedzi na zapytanie o obraz podany w pakiecie PacketBuffer do podanej wartości ImageQueryResponse.

Atrybuty publiczne

integritySpec

IntegritySpec integritySpec

Pole zawierające informacje o integralności (typ integralności i skrót) do obrazu aktualizacji oprogramowania.

reportStatus

bool reportStatus

Żądanie informujące serwer o postępach aktualizacji oprogramowania za pomocą opcjonalnych komunikatów DownloadNotify i UpdateNotify.

updateCondition

UpdateCondition updateCondition

instrukcje określające warunki, jakie należy spełnić, aby przeprowadzić aktualizację oprogramowania.

updatePriority

UpdatePriority updatePriority

Instrukcje opisujące, kiedy urządzenie ma przeprowadzić aktualizację.

updateScheme

uint8_t updateScheme

Schemat aktualizacji używany do pobierania obrazu aktualizacji oprogramowania.

Jego wartość pochodzi z metody UpdateSchemes.

identyfikator URI

ReferencedString uri

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

Treść tego ciągu musi być zgodna ze specyfikacją RFC 3986. W przypadku schematów aktualizacji odpowiadających dokładnie zdefiniowanemu protokółowi internetowemu (HTTP, HTTPS, SFTP) element schematu identyfikatora URI MUSI być zgodny z kodowaniem kanonicznego adresu URL dla danego schematu protokołu. Ciąg znaków nie może mieć więcej niż 65 565 znaków, 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 obiektu ImageQueryResponse.

Pole ImageQueryResponse może zostać zapełnione metodą 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 wartość „prawda” powoduje, że klient musi wygenerować raport po pobraniu i zaktualizowaniu, w przeciwnym razie klient nie zgłosi zgłoszenia.
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 odpowiedzi ImageQueryResponse.
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 ImageQueryResponse w podanym buforze PacketBuffer.

Szczegóły
Parametry
[in] aBuffer
Bufor pakietu, w którym umieszcza się odpowiedź na zapytanie
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
WEAVE_ERROR_BUFFER_TOO_SMALL
Jeśli wartość ImageQueryResponse jest zbyt duża, aby zmieścić się w podanym buforze.

wyświetlić

void print(
  void
)

Publiczne funkcje statyczne

analizowa

WEAVE_ERROR parse(
  PacketBuffer *,
  ImageQueryResponse &
)

Deserializuj komunikat odpowiedzi na zapytanie o obraz podany w buforze PacketBuffer do podanej wartości ImageQueryResponse.

Szczegóły
Parametry
[in] aBuffer
Wskaźnik do pakietu, z którego ma być analizowany zapytanie o obraz
[in] aResponse
Obiekt, w którym należy umieścić wynik
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_INTEGRITY_TYPE Jeśli podany typ integralności nie należy do żadnej z wartości określonych w parametrach IntegrityTypes