nl::Weave::Profiller::DataManagement_Current::CommandGönderen

#include <src/lib/profiles/data-management/Current/CommandSender.h>

Özet

Not: Bu sınıf, komutların gönderilmesiyle ilgili protokol ayrıntılarını içerir ve uygulamalarla ilgili mekanizmaları basitleştirir. Uygulama, komutun yükünü ve komut başlığının içeriğini ve komutun davranışını değiştiren isteğe bağlı bir bağımsız değişken grubunu içeren bir PaketetBuffer sağlar. Komut sarmalayıcının bu şekilde kullanılmasında asıl olarak güvenlik doğrulaması ve veri serileştirme/serileştirme konularındaki karmaşıklık/esneklik nedeniyle bu sınır özellikle sınırlandırılmıştır.

Komut doğrulamasıyla ilgili ayrıntılar henüz TBD değil

Bu sınıf, ilişkili bir TraitDataSink içindeki verinin, komutun yan etkisine (komut yanıtında sağlanan sürüme göre) bağlı olup olmadığını belirlememize de yardımcı olur. Uygulama, söz konusu nesnenin depolama alanının yönetilmesinden sorumludur.

Örgü Bağlama

Bu sınıfın bir nesnesi, Komut göndermek için kullanılacak varsayılan Bağlama işlevi görecek bir Weave Bağlama ile başlatılabilir. Kullanıcı, her SendSend() çağrısına bir Bağlama sağlayabilir. Bu durumda, varsayılan Bağlama geçersiz kılınır. Varsayılan bir Bağlama sağlamanız gerekmez ancak CommandGönderen'e sağlanan tüm bağlantılar zaten başlatılmalıdır.

Etkinlik Geri Çağırması

Komut gönderildikten sonra gerçekleşen etkinlikler hakkında bilgilendirilmek isteyen kullanıcılar bu tür bir işlevi tanımlamalıdır (aşağıdaki "API Etkinlikleri" bölümüne bakın). Komut gönderildikten sonra kullanıcı ne yaptığını önemsmiyorsa BOŞ olabilir.

API Etkinlikleri

Aşağıdaki komutlar, Command gönderdikten sonra olası sonuçlardır:

İletişim Hatası

Command komutu oluşturulurken veya gönderilirken ya da yanıt beklenirken bir hata oluştu. Yanıt beklenirken meydana gelebilecek hatalara örnek olarak anahtar hataları veya bağlantının beklenmedik şekilde kapatılması verilebilir. Hata nedeni, EventCallback işleyicisine ait InEventParam bağımsız değişkeninde yer alacaktır.

Devam Eden Alındı

Alıcı, Command komutunun alındığı ancak henüz tamamlanmadığını belirten bir 'devam ediyor'; mesajı gönderebilir. İşlem tamamlandığında alıcı bir Yanıt veya Durum Raporu gönderir. Gönderilen 'devam ediyor' mesajı gerekli değil.

Durum Raporu Alındı

Durum Raporu'nun alınması, Komut işlenirken bir hata olduğu anlamına gelir. StatusReport'a InEventParam aracılığıyla erişilebilir.

Yanıt Alındı

Yanıt almanız, Command alıcısının Command komutunu başarıyla işlediği anlamına gelir. Yanıt bir yük içeriyor olabilir veya içeremez. Çökme, paket arabelleğini korumak isterse ExchangeContext::AddRef() parametresini çağırarak ref sayısını artırabilir.

Herkese açık türler

EventCallback)(void *const aAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutEventParam) Tür
void(*
EventType enum

Herkese açık özellikler

mAppState = NULL
void *
mSyncronizedTraitState = NULL

Herkese açık statik işlevler

DefaultEventHandler(void *aAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
void

Herkese açık işlevler

Close(bool aAbortNow)
void
Init(nl::Weave::Binding *aBinding, const EventCallback aEventCallback, void *const aAppState)
SendCommand(nl::Weave::PacketBuffer *aPayload, nl::Weave::Binding *aBinding, ResourceIdentifier & aResourceId, uint32_t aProfileId, uint32_t aCommandType)
SendCommand(nl::Weave::PacketBuffer *aPayload, nl::Weave::Binding *aBinding, SendParams & aSendParams)
SetSynchronizedTraitState(SynchronizedTraitState *aTraitState)
void

Struct

nl::Weave::Profiles::DataManagement_Current::CommandSender::InEventParam

Özel komutun alıcısı tarafından gönderene döndürülen veriler.

nl::Weave::Profiles::DataManagement_Current::CommandSender::OutEventParam

Veriler bir EventCallback işlevinden CommandSender nesnesine geri döndürüldü.

nl::Weave::Profiles::DataManagement_Current::CommandSender::SendParams

SendCommand() öğesine aktarılacak bağımsız değişkenleri içerir.

nl::Weave::Profiles::DataManagement_Current::CommandSender::SynchronizedTraitState

Herkese açık türler

Etkinlik Geri Çağırması

void(* EventCallback)(void *const aAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutEventParam)

Etkinlik Türü

 EventType

Herkese açık özellikler

mobil uygulama durumu

void * mAppState = NULL

mSyncronizedTraitState

SynchronizedTraitState * mSyncronizedTraitState = NULL

Herkese açık statik işlevler

VarsayılanEtkinlikHandler

void DefaultEventHandler(
  void *aAppState,
  EventType aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

Herkese açık işlevler

Kapat

void Close(
  bool aAbortNow
)

Başlangıç

WEAVE_ERROR Init(
  nl::Weave::Binding *aBinding,
  const EventCallback aEventCallback,
  void *const aAppState
)

SendCommand

WEAVE_ERROR SendCommand(
  nl::Weave::PacketBuffer *aPayload,
  nl::Weave::Binding *aBinding,
  ResourceIdentifier & aResourceId,
  uint32_t aProfileId,
  uint32_t aCommandType
)

SendCommand

WEAVE_ERROR SendCommand(
  nl::Weave::PacketBuffer *aPayload,
  nl::Weave::Binding *aBinding,
  SendParams & aSendParams
)

SetSynchronizedTraitState

void SetSynchronizedTraitState(
  SynchronizedTraitState *aTraitState
)