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 nilai benar jika server BDX diizinkan untuk memulai transfer saat ini, menampilkan nilai salah jika tidak.
Init(WeaveExchangeManager *anExchangeMgr)
Masukkan semua transfer dalam status default siap digunakan, simpan WeaveExchangeManager dan resource Weave lain yang diperlukan, lalu 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 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 tetapkan ke NULL dan tampilkan error.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Dapatkan dan siapkan BDXTransfer baru dari kumpulan transfer jika tersedia, atau tetapkan ke NULL dan tampilkan error.
Shutdown(void)
Mematikan semua transfer dan melepaskan resource Weave (saat ini menetapkan 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
Menghentikan objek transfer tertentu dan menampilkannya ke kumpulan objek.

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 sampai Anda setidaknya memanggil init().

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

Menampilkan nilai benar jika server BDX diizinkan untuk memulai transfer saat ini, menampilkan nilai salah jika tidak.

Detail
Hasil
benar jika transfer BDX diizinkan, salah jika tidak

Inisiasi

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

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

Detail
Parameter
[in] anExchangeMgr
Pengelola bursa yang akan digunakan untuk operasi transfer massal ini.
Nilai Pengembalian
WEAVE_NO_ERROR
jika berhasil
WEAVE_ERROR_INCORRECT_STATE
jika mExchangeMgr tidak 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 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 tetapkan ke NULL dan tampilkan error.

Detail
Parameter
[in] aBinding
Binding ke node yang akan digunakan untuk memulai transfer. Parameter ini digunakan untuk membuat ExchangeContext terkait untuk transfer ini.
[in] aBDXHandlers
Struktur pengendali callback BDX yang akan dipanggil selama transfer
[in] aFileDesignator
Penentu 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, NULL.
Nilai Pengembalian
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 disiapkan

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 tetapkan ke NULL dan tampilkan error.

Detail
Parameter
[in] aCon
WeaveConnection ke node yang akan digunakan untuk memulai transfer. Parameter ini digunakan untuk membuat ExchangeContext terkait untuk transfer ini.
[in] aBDXHandlers
Struktur pengendali callback BDX yang akan dipanggil selama transfer
[in] aFileDesignator
Penentu 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, NULL.
Nilai Pengembalian
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 resource Weave (saat ini menetapkan mExchangeMgr ke NULL).

Menetapkan AllowBdxTransferToRun(false) dan memutuskan 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
)

Menghentikan objek transfer tertentu dan menampilkannya ke kumpulan objek.

Tindakan ini hanya akan mengalihkan ke BDXTransfer::Shutdown()

Detail
Parameter
[in] aXfer
BDXTransfer yang akan dinonaktifkan