nl::Weave::Profiles::BDX_Development::BdxNode

Ringkasan

Konstruktor dan Destruktor

BdxNode(void)
Konstruktor default yang menetapkan semua anggota ke NULL.

Fungsi publik

AllowBdxTransferToRun(bool aEnable)
void
Gunakan untuk mengaktifkan/menonaktifkan server BDX tanpa mematikan dan memulai ulang sepenuhnya.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
Menampilkan true (benar) jika server BDX diizinkan untuk memulai transfer saat ini, false (salah) jika tidak.
Init(WeaveExchangeManager *anExchangeMgr)
Tempatkan semua transfer dalam status default siap digunakan, simpan WeaveExchangeManager dan resource Weave lain yang diperlukan, dan tetapkan allowBdxTransferToRun(true).
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
Menampilkan true (benar) jika BdxNode ini telah diinisialisasi.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Dapatkan dan siapkan BDXTransfer baru dari kumpulan transfer jika tersedia, atau setel ke NULL jika tidak, lalu tampilkan error.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Dapatkan dan siapkan BDXTransfer baru dari kumpulan transfer jika tersedia, atau setel ke NULL jika tidak, lalu tampilkan error.
Shutdown(void)
Mematikan semua transfer dan melepaskan sumber daya Weave (saat ini menyetel mExchangeMgr ke NULL).

Fungsi statis publik

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
Matikan objek transfer tertentu dan mengembalikannya ke kumpulan.

Fungsi publik

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

Gunakan untuk mengaktifkan/menonaktifkan server BDX tanpa mematikan dan memulai ulang sepenuhnya.

Detail
Parameter
[in] aEnable
Aktifkan (benar) atau nonaktifkan (salah)

AwaitBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

AwaitBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

BdxNode

 BdxNode(
  void
)

Konstruktor default yang menetapkan semua anggota ke NULL.

Jangan mencoba melakukan apa pun dengan server hingga Anda setidaknya memanggil init().

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

Menampilkan true (benar) jika server BDX diizinkan untuk memulai transfer saat ini, false (salah) jika tidak.

Detail
Hasil
true jika transfer BDX diizinkan, false jika tidak

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

Tempatkan semua transfer dalam status default siap digunakan, simpan WeaveExchangeManager dan resource Weave lain yang diperlukan, dan tetapkan allowBdxTransferToRun(true).

Detail
Parameter
[in] anExchangeMgr
Pengelola bursa yang akan digunakan untuk operasi transfer massal ini.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
jika berhasil
WEAVE_ERROR_INCORRECT_STATE
jika mExchangeMgr bukan null, sudah diinisialisasi

InitBdxReceive

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

InitBdxSend

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

InitBdxSend

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

IsInitialized

bool IsInitialized(
  void
)

Menampilkan true (benar) jika BdxNode ini telah diinisialisasi.

Detail
Hasil
true jika objek ini telah diinisialisasi

NewTransfer

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

Dapatkan dan siapkan BDXTransfer baru dari kumpulan transfer jika tersedia, atau setel ke NULL jika tidak, lalu tampilkan error.

Detail
Parameter
[in] aBinding
Binding ke node yang akan digunakan untuk memulai transfer. Fungsi ini digunakan untuk membuat ExchangeContext terkait untuk transfer ini.
[in] aBDXHandlers
Struktur handler callback BDX yang akan dipanggil selama transfer
[in] aFileDesignator
Penunjuk file untuk file yang akan ditransfer.
[in] anAppState
Objek status khusus aplikasi yang akan dilampirkan ke BDXTransfer untuk digunakan oleh aplikasi pengguna dan callback terkait.
[in] aXfer
Pointer yang diteruskan oleh referensi yang akan mengarah ke objek BDXTransfer baru jika tersedia, jika tidak ada NULL.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika kami berhasil menemukan BDXTransfer baru.
WEAVE_ERROR_NO_MEMORY
Jika tidak dapat membuat ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Jika terlalu banyak transfer yang saat ini aktif dan aXfer adalah NULL
WEAVE_ERROR_INCORRECT_STATE
Jika aBinding tidak siap

NewTransfer

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

Dapatkan dan siapkan BDXTransfer baru dari kumpulan transfer jika tersedia, atau setel ke NULL jika tidak, lalu tampilkan error.

Detail
Parameter
[in] aCon
WeaveConnection ke node yang akan digunakan untuk memulai transfer. Fungsi ini digunakan untuk membuat ExchangeContext terkait untuk transfer ini.
[in] aBDXHandlers
Struktur handler callback BDX yang akan dipanggil selama transfer
[in] aFileDesignator
Penunjuk file untuk file yang akan ditransfer.
[in] anAppState
Objek status khusus aplikasi yang akan dilampirkan ke BDXTransfer untuk digunakan oleh aplikasi pengguna dan callback terkait.
[in] aXfer
Pointer referensi yang diteruskan yang akan mengarah ke objek BDXTransfer baru jika tersedia, jika tidak ada NULL.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika kami berhasil menemukan BDXTransfer baru.
WEAVE_ERROR_NO_MEMORY
Jika tidak dapat membuat ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Jika terlalu banyak transfer yang saat ini aktif dan aXfer adalah NULL
WEAVE_ERROR_INCORRECT_STATE
Jika mExchangeMgr belum ditetapkan atau jika aCon tidak berhasil terhubung

Nonaktif

WEAVE_ERROR Shutdown(
  void
)

Mematikan semua transfer dan melepaskan sumber daya Weave (saat ini menyetel mExchangeMgr ke NULL).

Menetapkan AllowBdxTransferToRun(false) dan memutuskan semua callback saat ini (misalnya, SendInitHandler).

Detail
Hasil
WEAVE_NO_ERROR jika berhasil dinonaktifkan, error lain jika AwaitBdxSend/ReceiveInit menampilkan error

Fungsi statis publik

HandleReceiveInit

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
)

ShutdownTransfer

void ShutdownTransfer(
  BDXTransfer *aXfer
)

Matikan objek transfer tertentu dan mengembalikannya ke kumpulan.

Tindakan ini hanya mengalihkan ke BDXTransfer::Shutdown()

Detail
Parameter
[in] aXfer
BDXTransfer yang akan dinonaktifkan