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. İletişim çevirmeyi işleyen DM ProtocolEngine sınıfı 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 yalnızca 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 nesnelerinin varsayılan oluşturucusu.
~DMPublisher(void)
DMPublisher nesnelerinin yıkıcısı.

Herkese açık işlevler

CancelTransactionRequest(uint16_t aTxnId, WEAVE_ERROR aError)
Clear(void)
virtual void
DMPublisher nesnesinin dahili durumunu temizleyin.
Finalize(void)
virtual void
Çalışan bir DMPublisher'ı kapatın.
IncompleteIndication(Binding *aBinding, StatusReport & aReport)
virtual void
Bağlamanın başarısız olduğuna dair bir göstergeyi işleme.
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 isteklerine yanıt verme.
ViewResponse(ExchangeContext *aResponseCtx, StatusReport & aStatus, ReferencedTLVData *aDataList)
Görüntüleme isteğine yanıt verme.

Herkese açık işlevler

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Temizle

virtual void Clear(
  void
)

DMPublisher nesnesinin dahili durumunu temizleyin.

Bildirim işlem havuzunu ve abonelik tablosunu temizler.

DMPublisher

 DMPublisher(
  void
)

DMPublisher nesnelerinin varsayılan oluşturucusu.

Tüm dahili durumu temizler.

Sonlandır

virtual void Finalize(
  void
)

Çalışan bir DMPublisher'ı kapatın.

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

IncompleteIndication

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

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

Bir bağlama tamamlanmadığında (yani, TCP bağlaması için bağlantı kapatıldığında protokol motoru, buna bağlı olan tüm işlemlerde (ör. durum işleyicilerinin çağrılması) başarısız olmalıdır. Ayrıca, eksik gösterge, bu yöntemin eş kimliği alan alternatif biçimini uygulayan herhangi bir üst sınıf nesneye iletilir.

Ayrıntılar
Parametreler
[in] aBinding
Başarısız bağlamanın işaretçisi.
[in] aReport
Hatanın nedenini ayrıntılı olarak açıklayan StatusRapor nesnesine referans.

Init

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Bir DMPublisher nesnesini başlatın.

Bu yöntem, abonelik için olanlar da dahil olmak üzere tüm istemci istekleri aralığı için exchange yöneticisine bir işleyici yükleme şeklinde yan etkiye 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 işaret eden bir işaret.
[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ı olunduğunda. Aksi takdirde, yayıncının düzgün şekilde ayarlanamadığını gösteren bir WEAVE_ERROR döndürün.

Init

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 isteklerine yanıt verme.

Göstergede verilen exchange bağlamını kullanarak yanıtı işlendikten sonra 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 bilgileri içeren bir StatusRapor nesnesine referans.
İadeler
WEAVE_NO_ERROR: Başarılı olunduğunda. Aksi takdirde, yanıt iletisinin gönderilemediğini belirten bir WEAVE_ERROR döndürün.

ViewResponse

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

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

Göstergede verilen exchange bağlamını kullanarak yanıtı işlendikten sonra 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 bilgileri içeren bir StatusRapor nesnesine referans. İşlem başarılı olursa talepte bulunan taraf, ilgili verileri içeren bir veri listesi beklemektedir.
[in] aDataList
İlgili verileri ve bu verilerin konumunu gösteren yolları içeren TLV kodlamalı veri listesini içeren isteğe bağlı bir ReferencedTLVData nesnesine işaret eden işaret. Önceki parametrede belirtilen durumun başarılı olmadığı durumlarda bu parametrenin NULL olacağını unutmayın.
Değerleri Döndür
WEAVE_NO_ERROR
Başarıya merhaba. Aksi takdirde, yanıt iletisinin gönderilemediğini belirten bir WEAVE_ERROR döndürün.
WEAVE_ERROR_INVALID_ARGUMENT
Belirtilen parametreler tutarsızsa
WEAVE_ERROR_NO_MEMORY
Inet tamponu ayrılamadı.

~DMPublisher

virtual  ~DMPublisher(
  void
)

DMPublisher nesnelerinin yıkıcısı.

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