nl::Weave::Profiles::DataManagement_Legacy::DMPublisher

#include <src/lib/profiles/data-management/Legacy/DMPublisher.h>

Uygulamaya özel WDM yayıncıları için soyut temel sınıf.

Özet

DMPublisher, standart WDM yayıncı temel sınıfıdır. Bu, iletişimleri çeviren DM ProtocolEngine sınıfının ve tamamen soyut PublisherDataManager sınıfının bir karışımıdır. Abonelik ve bildirim desteği isteğe bağlıdır ve giriş içermeyen bir abonelik tablosu yapılandırılarak engellenebilir.

Devralma

Devralındığı kaynak:
  nl::Weave::Profiles::DataManagement_Legacy::ProtocolEngine
  nl::Weave::Profiles::DataManagement_Legacy::PublisherDataManager

Oluşturucular ve Yıkıcılar

DMPublisher(void)
DMPublisher nesneleri için varsayılan oluşturucu.
~DMPublisher(void)
DMPublisher nesnelerine ilişkin toplayıcı.

Kamu işlevleri

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
DMPublisher nesnesinin dahili durumunu temizleyin.
Finalize(void)
virtual void
Çalıştırılan bir DMPublisher'yı kapatın.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Bir bağlamanın başarısız olduğuna dair bir göstergeyi işleyin.
Init(WeaveExchangeManager *aExchangeMgr, uint32_t aResponseTimeout)
virtual WEAVE_ERROR
Bir DMPublisher nesnesini başlatın.
Init(WeaveExchangeManager *aExchangeMgr)
virtual WEAVE_ERROR
OnMsgReceived(ExchangeContext *aResponseCtx, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
void
UpdateResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus)
Güncelleme isteğine yanıt verme.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
Görüntüleme isteğine yanıt verin.

Kamu işlevleri

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Temizle

virtual void Clear(
  void
)

DMPublisher nesnesinin dahili durumunu temizleyin.

Bildirim işlemi havuzunu ve abonelik tablosunu temizler.

DMPublisher

 DMPublisher(
  void
)

DMPublisher nesneleri için varsayılan oluşturucu.

Tüm dahili durumları temizler.

Sonlandır

virtual void Finalize(
  void
)

Çalıştırılan bir DMPublisher'yı kapatın.

Tüm çalışma durumunu temizler ve çalışıyorsa işleyiciyi kapatır.

IncompleteIndication

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

Bir bağlamanın başarısız olduğuna dair bir göstergeyi işleyin.

Bir bağlama tamamlanmadığında (ör. TCP bağlaması için bağlantı kapatıldığında), protokol motorunun, durum işleyicilerinin çağrılması da dahil olmak üzere buna bağımlı tüm işlemlerde başarısız olması gerekir. Ayrıca, tamamlanmamış gösterge, bu yöntemin eş kimliği alan alternatif biçimini uygulayan tüm üst sınıf nesnelere aktarılır.

Ayrıntılar
Parametreler
[in] aBinding
Başarısız bağlamaya işaretçi.
[in] aReport
Hatanın nedenini ayrıntılı bir şekilde açıklayan bir StatusReport nesnesine referans.

Başlat

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Bir DMPublisher nesnesini başlatın.

Bu yöntem, muhtemelen abonelikle ilgili olanlar da dahil olmak üzere tüm istemci istekleri için Exchange yöneticisine bir işleyici yükleme yan etkisine sahiptir.

Ayrıntılar
Parametreler
[in] aExchangeMgr
Yayıncının katılmak istediği tüm exchange'ler için kullanılacak WeaveExchangeManager nesnesine yönelik işaretçi.
[in] aResponseTimeout
Milisaniye cinsinden yanıt zaman aşımı, yani bir yanıt için beklenecek maksimum süre.
İadeler
WEAVE_NO_ERROR Başarılı olursa. Aksi takdirde, yayıncıyı doğru bir şekilde ayarlama hatasını yansıtan bir WEAVE_ERROR döndürün.

Başlat

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

void OnMsgReceived(
  ExchangeContext *aResponseCtx,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aMsg
)

UpdateResponse

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

Güncelleme isteğine yanıt verme.

İşlendikten sonra, göstergede belirtilen exchange bağlamını kullanarak yanıtı bir güncelleme isteğine gönderin.

Ayrıntılar
Parametreler
[in] aResponseCtx
İsteğin alındığı exchange bağlamına işaret eden bir işaretçi.
[in] aStatus
İsteğin durumuyla ilgili bilgiler içeren StatusReport nesnesine referans.
İadeler
WEAVE_NO_ERROR Başarılı olursa. Aksi takdirde, yanıt mesajının gönderilemediğini belirten bir WEAVE_ERROR döndürür.

ViewResponse

WEAVE_ERROR ViewResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus,
  ReferencedTLVData *aDataList
)

Görüntüleme isteğine yanıt verebilirsiniz.

İşlendikten sonra, göstergede belirtilen exchange bağlamını kullanarak yanıtı görüntüleme isteğine gönderin.

Ayrıntılar
Parametreler
[in] aResponseCtx
İsteğin alındığı exchange bağlamına işaret eden bir işaretçi.
[in] aStatus
İsteğin durumuyla ilgili bilgiler içeren StatusReport nesnesine referans. Bu işlemin başarılı olduğu durumda talepte bulunan kişi, ilgili verileri içeren bir veri listesi bekler.
[in] aDataList
İlgilenilen verileri ve bu verilerin yapılışını gösteren yolları içeren TLV kodlamalı veri listesini içeren isteğe bağlı bir ReferencedTLVData nesnesine yönelik işaretçi. Önceki parametrede verilen durumun başarılı olmadığı durumlarda bu parametrenin NULL olacağını unutmayın.
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı olun. Aksi takdirde, yanıt mesajının gönderilemediğini belirten bir WEAVE_ERROR döndürün.
WEAVE_ERROR_INVALID_ARGUMENT
Verilen parametreler tutarsızsa
WEAVE_ERROR_NO_MEMORY
Inet arabelleği ayrılıp ayrılmadığı.

~DMYayıncısı

virtual  ~DMPublisher(
  void
)

DMPublisher nesnelerine ilişkin toplayıcı.

Tüm dahili durumu temizler ve varsa işleyiciyi exchange yöneticisinden kaldırır.