nl::Weave::Profiller:BDX_Geliştirme:BdxNode

Özet

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

BdxNode(void)
Tüm üyeleri NULL olarak ayarlayan varsayılan oluşturucu.

Herkese açık işlevler

AllowBdxTransferToRun(bool aEnable)
void
BDX sunucusunu tamamen kapatıp yeniden başlatmadan etkinleştirmek/devre dışı bırakmak için kullanın.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
BDX sunucusunun şu anda aktarım başlatmasına izin veriliyorsa doğru, aksi takdirde yanlış değerini döndürür.
Init(WeaveExchangeManager *anExchangeMgr)
Tüm aktarımları, varsayılan duruma hazır hale getirin, WeaveExchangeManager ile gerekli tüm diğer Weave kaynaklarını depolayın ve allowBdxTransferToRun(true) değerini ayarlayın.
InitBdxReceive(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
IsInitialized(void)
bool
Bu BdxNode zaten başlatılmışsa true değerini döndürür.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Aktarım havuzundan yeni bir BDXTransfer (BDXTransfer) ayarlayın ve varsa ayarlayın, aksi takdirde NULL olarak ayarlayın ve bir hata döndürün.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Aktarım havuzundan yeni bir BDXTransfer (BDXTransfer) ayarlayın ve varsa ayarlayın, aksi takdirde NULL olarak ayarlayın ve bir hata döndürün.
Shutdown(void)
Tüm aktarımları kapatır ve tüm Weave kaynaklarını serbest bırakır (şu anda mExchangeMgr'i NULL olarak ayarlar).

Herkese açık statik işlevler

HandleReceiveInit(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
HandleSendInit(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
ShutdownTransfer(BDXTransfer *aXfer)
void
Belirtilen aktarım nesnesini kapatın ve havuza döndürün.

Herkese açık işlevler

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

BDX sunucusunu tamamen kapatıp yeniden başlatmadan etkinleştirmek/devre dışı bırakmak için kullanın.

Ayrıntılar
Parametreler
[in] aEnable
Etkinleştir (doğru) veya devre dışı bırak (yanlış)

ArunBdxGetInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

ArunBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

BdxNode

 BdxNode(
  void
)

Tüm üyeleri NULL olarak ayarlayan varsayılan oluşturucu.

Siz en azından init() çağrısı yapana kadar sunucuyla hiçbir şey yapmaya çalışmayın.

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

BDX sunucusunun şu anda aktarım başlatmasına izin veriliyorsa doğru, aksi takdirde yanlış değerini döndürür.

Ayrıntılar
İadeler
BDX aktarımına izin veriliyorsa true, izin verilmiyorsa false

Başlangıç

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

Tüm aktarımları, varsayılan duruma hazır hale getirin, WeaveExchangeManager ile gerekli tüm diğer Weave kaynaklarını depolayın ve allowBdxTransferToRun(true) değerini ayarlayın.

Ayrıntılar
Parametreler
[in] anExchangeMgr
Bu toplu aktarım işlemi için kullanılacak bir exchange yöneticisi.
Döndürülen Değerler
WEAVE_NO_ERROR
başarılı olursa
WEAVE_ERROR_INCORRECT_STATE
mExchangeMgr boşsa ve zaten başlatılmışsa

InitBdxGet

WEAVE_ERROR InitBdxReceive(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

İnitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

İnitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

Başlatıldı

bool IsInitialized(
  void
)

Bu BdxNode zaten başlatılmışsa true değerini döndürür.

Ayrıntılar
İadeler
Bu nesne başlatıldıysa true

YeniAktarım

WEAVE_ERROR NewTransfer(
  Binding *aBinding,
  BDXHandlers aBDXHandlers,
  ReferencedString & aFileDesignator,
  void *anAppState,
  BDXTransfer *& aXfer
)

Aktarım havuzundan yeni bir BDXTransfer (BDXTransfer) ayarlayın ve varsa ayarlayın, aksi takdirde NULL olarak ayarlayın ve bir hata döndürün.

Ayrıntılar
Parametreler
[in] aBinding
Aktarımı başlatacağımız düğüme Bağlama işlemi uygulanır. Bu aktarım için ilişkilendirilmiş bir ExchangeContext oluşturmak üzere kullanılır.
[in] aBDXHandlers
Aktarım sırasında çağrılacak BDX geri çağırma işleyicisi yapısı
[in] aFileDesignator
Aktarılacak dosyanın dosya tanımlayıcısı.
[in] anAppState
Kullanıcı uygulaması ve ilişkili geri çağırmalar tarafından kullanılmak üzere BDXTransfer'e eklenecek uygulamaya özel durum nesnesi.
[in] aXfer
Varsa yeni BDXTransfer nesnesini işaret eden, referans tarafından iletilen işaretçi, aksi takdirde BOŞ olacaktır.
Döndürülen Değerler
WEAVE_NO_ERROR
Yeni bir BDXTransfer öğesini başarıyla tespit etmemiz durumunda.
WEAVE_ERROR_NO_MEMORY
ExchangeContext oluşturulamadıysa
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Şu anda çok fazla aktarım etkinse ve aXfer NULL ise
WEAVE_ERROR_INCORRECT_STATE
ALinking hazır değilse

YeniAktarım

WEAVE_ERROR NewTransfer(
  WeaveConnection *aCon,
  BDXHandlers aBDXHandlers,
  ReferencedString & aFileDesignator,
  void *anAppState,
  BDXTransfer *& aXfer
)

Aktarım havuzundan yeni bir BDXTransfer (BDXTransfer) ayarlayın ve varsa ayarlayın, aksi takdirde NULL olarak ayarlayın ve bir hata döndürün.

Ayrıntılar
Parametreler
[in] aCon
Aktarım işlemini başlatacağımız düğüme ait WeaveConnection. Bu aktarım için ilişkilendirilmiş bir ExchangeContext oluşturmak üzere kullanılır.
[in] aBDXHandlers
Aktarım sırasında çağrılacak BDX geri çağırma işleyicisi yapısı
[in] aFileDesignator
Aktarılacak dosyanın dosya tanımlayıcısı.
[in] anAppState
Kullanıcı uygulaması ve ilişkili geri çağırmalar tarafından kullanılmak üzere BDXTransfer'e eklenecek uygulamaya özel durum nesnesi.
[in] aXfer
Varsa yeni BDXTransfer nesnesini işaret eden, referans tarafından iletilen işaretçi, aksi takdirde BOŞ olacaktır.
Döndürülen Değerler
WEAVE_NO_ERROR
Yeni bir BDXTransfer öğesini başarıyla tespit etmemiz durumunda.
WEAVE_ERROR_NO_MEMORY
ExchangeContext oluşturulamadıysa
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Şu anda çok fazla aktarım etkinse ve aXfer NULL ise
WEAVE_ERROR_INCORRECT_STATE
mExchangeMgr henüz oluşturulmadıysa veya aCon başarıyla bağlanmadıysa

Kapat

WEAVE_ERROR Shutdown(
  void
)

Tüm aktarımları kapatır ve tüm Weave kaynaklarını serbest bırakır (şu anda mExchangeMgr'i NULL olarak ayarlar).

AllowBdxTransferToRun(false) değerini belirler ve geçerli geri çağırmaların (ör. SendInitHandler) bağlantısını keser.

Ayrıntılar
İadeler
Başarıyla kapatılırsa WEAVE_NO_ERROR, AwanBdxSend/ReceiveInit hata döndürürse başka bir hata

Herkese açık statik işlevler

Herkese Açık Kullanıcı Kimliği

void HandleReceiveInit(
  ExchangeContext *anEc,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aWeaveMsgInfo,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleSendInit

void HandleSendInit(
  ExchangeContext *anEc,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aWeaveMsgInfo,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

Kapanış Transferi

void ShutdownTransfer(
  BDXTransfer *aXfer
)

Belirtilen aktarım nesnesini kapatın ve havuza döndürün.

Bunun için BDXTransfer::Shutdown() terimi kullanılır.

Ayrıntılar
Parametreler
[in] aXfer
Kapatılacak BDXTransfer