nl::Weave::Profiles::SoftwareUpdate::IntegritySpec

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

Bütünlük türünü ve yazılım güncelleme görüntüsünün gerçek karmasını içeren yardımcı sınıf.

Özet

Nesne, karma türünü ve yazılım güncellemesi görüntüsünün gerçek karmasını belirten IntegrityTypes alanını barındırır. Karmanın uzunluğu, karmanın türüne göre sabitlenir. Nesne, desteklenen karmalardan en büyüğünü içerecek şekilde boyutlandırılır.

Oluşturucular ve Yıkıcılar

IntegritySpec()
IntegritySpec için varsayılan oluşturucu.

Herkese açık özellikler

type
uint8_t
Karmanın türü ve IntegrityTypes'tan alınacak değer.
value[64]
uint8_t
URI alanı tarafından tanımlanan yazılım görüntüsünün bütünlük değerini içeren, değişken uzunluktaki bir bayt dizisi.

Herkese açık işlevler

init(uint8_t, uint8_t *)
IntegritySpec nesnesini, sağlanan değerlerle açık bir şekilde başlatın.
operator==(const IntegritySpec &) const
bool
Eşitlik operatörü.
pack(MessageIterator &)
IntegritySpec öğesini, sağlanan MessageIterator olarak serileştirin.

Herkese açık statik işlevler

parse(MessageIterator &, IntegritySpec &)
Nesnenin serisini, sağlanan MessageIterator ürününden sağlanan IntegritySpec değerine çıkarın.

Herkese açık özellikler

tür

uint8_t type

Karmanın türü ve IntegrityTypes'tan alınacak değer.

value

uint8_t value[64]

URI alanı tarafından tanımlanan yazılım görüntüsünün bütünlük değerini içeren, değişken uzunluktaki bir bayt dizisi.

Bütünlük değeri, bütünlük türü tarafından belirtilen bütünlük işlevi, yukarıda belirtilen URI'de erişilen yazılım güncelleme görüntüsünün içeriğine uygulanarak hesaplanır. Bütünlük spesifikasyonu, istemcinin, indirilen resmin bu yanıtta belirtilen resimle eşleştiğini onaylamasına olanak tanır.

Herkese açık işlevler

IntegritySpec

 IntegritySpec()

IntegritySpec için varsayılan oluşturucu.

Nesne, init() yöntemi ile veya bir iletide seri durumdan çıkarılarak başlatılmalıdır.

init

WEAVE_ERROR init(
  uint8_t,
  uint8_t *
)

IntegritySpec nesnesini, sağlanan değerlerle açık bir şekilde başlatın.

Ayrıntılar
Parametreler
[in] aType
IntegrityTypes'tan alınan bir bütünlük türü değeri
[in] aValue
Baytlardan oluşan paketlenmiş bir dize olarak temsil edilen, uygun uzunluktaki bir karma değeri
İadeler
WEAVE_NO_ERROR Başarıyla tamamlandı
İadeler
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Sağlanan bütünlük türü, IntegrityTypes özelliğinde belirtilen değerlerden biri değilse

operatör==

bool operator==(
  const IntegritySpec &
) const 

Eşitlik operatörü.

Ayrıntılar
Parametreler
another
Bu IntegritySpec ile ilgili kontrol için IntegritySpec
İadeler
her iki nesnedeki tüm alanlar eşitse true, değilse false

paket

WEAVE_ERROR pack(
  MessageIterator &
)

IntegritySpec öğesini, sağlanan MessageIterator olarak serileştirin.

Ayrıntılar
Parametreler
[in] i
Paketlenen mesaj üzerinde bir iteratör
Değerleri Döndür
WEAVE_NO_ERROR
Başarıya merhaba.
WEAVE_ERROR_BUFFER_TOO_SMALL
IntegritySpec iletiye sığmayacak kadar büyükse.

Herkese açık statik işlevler

parse

WEAVE_ERROR parse(
  MessageIterator &,
  IntegritySpec &
)

Nesnenin serisini, sağlanan MessageIterator ürününden sağlanan IntegritySpec değerine çıkarın.

Ayrıntılar
Parametreler
[in] i
Ayrıştırılan mesajın üzerindeki iterasyon öğesi.
[in] aSpec
Sonucu içeren bir nesneye başvuru
Değerleri Döndür
WEAVE_NO_ERROR
Başarıya merhaba.
Değerleri Döndür
WEAVE_ERROR_BUFFER_TOO_SMALL
Mesajda bütünlük türü ve ilişkili karma için yeterli bayt yoksa
İadeler
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Sağlanan bütünlük türü, IntegrityTypes özelliğinde belirtilen değerlerden biri değilse