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 bir 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. Karma uzunluğu, karma türüne göre sabitlenir. Nesne, desteklenen karmalardan en büyük olanını barındıracak ş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ü, IntegrityTypes'dan 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 uzunlukta bayt dizisi.

Kamu işlevleri

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 öğesinde seri hale getirin.

Herkese açık statik işlevler

parse(MessageIterator &, IntegritySpec &)
Nesneyi, sağlanan MessageIterator'dan sağlanan IntegritySpec'e ve seri haline getirin.

Herkese açık özellikler

tür

uint8_t type

Karmanın türü, IntegrityTypes'dan 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 uzunlukta 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'dan erişilen yazılım güncellemesi 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ını sağlar.

Kamu işlevleri

IntegritySpec

 IntegritySpec()

IntegritySpec için varsayılan oluşturucu.

Nesne, init() yöntemiyle veya bir mesajdan 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'dan alınan bir bütünlük türü değeri
[in] aValue
Baytlardan oluşan paketlenmiş bir dize olarak gösterilen, uygun uzunluktaki bir karma değeri
İadeler
WEAVE_NO_ERROR Başarılı olursa
İadeler
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Sağlanan bütünlük türü, IntegrityTypes'da 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 karşılaştırmalı olarak kontrol edilecek bir IntegritySpec
İadeler
İki nesnedeki tüm alanlar eşitse doğru, aksi takdirde yanlış

paket

WEAVE_ERROR pack(
  MessageIterator &
)

IntegritySpec öğesini, sağlanan MessageIterator öğesinde seri hale getirin.

Ayrıntılar
Parametreler
[in] i
Paketlenen iletinin üzerindeki yineleme
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı olun.
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 &
)

Nesneyi, sağlanan MessageIterator'dan sağlanan IntegritySpec'e ve seri haline getirin.

Ayrıntılar
Parametreler
[in] i
Ayrıştırılan iletinin üzerindeki bir iterasyon.
[in] aSpec
Sonucu içerecek bir nesneye başvuru
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı olun.
Döndürülen Değerler
WEAVE_ERROR_BUFFER_TOO_SMALL
İleti, bütünlük türü ve ilişkili karma için yeterli bayt içermiyorsa
İadeler
WEAVE_ERROR_INVALID_INTEGRITY_TYPE Sağlanan bütünlük türü, IntegrityTypes'da belirtilen değerlerden biri değilse