nl::Weave::Profiller: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, diyalog hazırlama diyaloglarını içeren 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

İnşaat Ustaları ve Yıkıcılar

DMPublisher(void)
DMPublisher nesneleri için varsayılan oluşturucu.
~DMPublisher(void)
DMPublisher nesneleri için yıkıcı.

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östergesi kullanın.
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.

Herkese açık işlevler

İptal İsteğini İptal Et

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Sil

virtual void Clear(
  void
)

DMPublisher nesnesinin dahili durumunu temizleyin.

Bilgilendirme amaçlı işlem havuzunu ve abonelik tablosunu temizler.

DMYayıncı

 DMPublisher(
  void
)

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

Tüm dahili durumları temizler.

Sonlandır

virtual void Finalize(
  void
)

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

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

Eksik Gösterge

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

Bağlamanın başarısız olduğuna dair bir göstergesi kullanın.

Bir bağlama eksik olduğunda, yani bağlantı bir TCP bağlantısı için kapatıldığında, protokol motorunun ona bağlı tüm işlemlerde (durum işleyicilerini çağırma dahil) başarısız olması gerekir. Ayrıca, eksik gösterge, bu yöntemin eş kimliğini alan üst sınıf nesnesine aktarılır.

Ayrıntılar
Parametreler
[in] aBinding
Başarısız bağlama işleminin işaretçisi.
[in] aReport
Başarısız olma nedenini ayrıntılı olarak açıklayan bir StatusReport nesnesine referans.

Başlangıç

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr,
  uint32_t aResponseTimeout
)

Bir DMPublisher nesnesini başlatın.

Bu yöntem, exchange'e abone olanlar da dahil olmak üzere istemci isteklerinin tamamı için bir işleyici yüklemenin yan etkisidir.

Ayrıntılar
Parametreler
[in] aExchangeMgr
Yayıncının katılmak istediği tüm exchange'lerde kullanmak için WeaveExchangeManager nesnesinin işaretçisi.
[in] aResponseTimeout
Milisaniye cinsinden yanıt zaman aşımı (yani bir yanıt için maksimum bekleme süresi).
İadeler
WEAVE_NO_ERROR (Başarılı) Aksi takdirde, yayıncının düzgün şekilde ayarlanamadığını yansıtan bir WEAVE_ERROR hatası döndürün.

Başlangıç

virtual WEAVE_ERROR Init(
  WeaveExchangeManager *aExchangeMgr
)

OnMsgReceived

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

GüncellemeYanıtı

WEAVE_ERROR UpdateResponse(
  ExchangeContext *aResponseCtx,
  StatusReport & aStatus
)

Güncelleme isteğine yanıt verme.

Bildirimde belirtilen exchange bağlamını kullanarak, işleme alındıktan sonra güncelleme isteğine yanıt gönderin.

Ayrıntılar
Parametreler
[in] aResponseCtx
İsteğin alındığı exchange bağlamına yönelik bir işaretçi.
[in] aStatus
İsteğin durumu hakkında bilgi içeren bir StatusReport nesnesine referans.
İadeler
WEAVE_NO_ERROR (Başarılı) Aksi takdirde, yanıt mesajının gönderilememesiyle ilgili bir WEAVE_ERROR hatası döndürün.

Görüntüleme yanıtı

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

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

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

Ayrıntılar
Parametreler
[in] aResponseCtx
İsteğin alındığı exchange bağlamına yönelik bir işaretçi.
[in] aStatus
İsteğin durumu hakkında bilgi içeren bir StatusReport nesnesine referans. Böyle bir durumda, talep eden kişi ilgili verileri içeren bir veri listesi bekler.
[in] aDataList
İlgilendiğiniz verileri ve bu verilerin yapısını gösteren yolları içeren, TLV kodlamalı bir veri listesi içeren isteğe bağlı ReferencedTLVData nesnesinin işaretçisi. Önceki parametrede gösterilen durumun başarılı olmadığı durumlarda bu parametrenin BOŞ olacağını unutmayın.
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı. Aksi takdirde, yanıt mesajı gönderilemediğini belirten WEAVE_ERROR hatasını döndürün.
WEAVE_ERROR_INVALID_ARGUMENT
Sağlanan parametreler tutarsızsa
WEAVE_ERROR_NO_MEMORY
Inet arabelleği ayrılamazsa.

~DMYayıncı

virtual  ~DMPublisher(
  void
)

DMPublisher nesneleri için yıkıcı.

Tüm dahili durumu temizler ve mevcut olduğu durumlarda işleyiciyi exchange yöneticisinden kaldırır.