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

Riepilogo

Costruttori e distruttori

BdxNode(void)
Costruttore predefinito che imposta tutti i membri su NULL.

Funzioni pubbliche

AllowBdxTransferToRun(bool aEnable)
void
Consente di attivare/disattivare il server BDX senza arrestarlo e riavviarlo completamente.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
Restituisce true se il server BDX può avviare un trasferimento in questo momento, false negli altri casi.
Init(WeaveExchangeManager *anExchangeMgr)
Imposta tutti i trasferimenti in uno stato predefinito pronti per l'uso, archivia WeaveExchangeManager e tutte le altre risorse Weave necessarie e imposta 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
Restituisce true se questo BdxNode è già stato inizializzato.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Scarica e configura un nuovo BDXTransfer dal pool di trasferimento, se disponibile, oppure impostalo su NULL altrimenti e restituisci un errore.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Scarica e configura un nuovo BDXTransfer dal pool di trasferimento, se disponibile, oppure impostalo su NULL altrimenti e restituisci un errore.
Shutdown(void)
Chiude tutti i trasferimenti e rilascia tutte le risorse Weave (attualmente imposta mExchangeMgr su NULL).

Funzioni statiche pubbliche

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
Arresta l'oggetto di trasferimento specificato e rimettilo nel pool.

Funzioni pubbliche

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

Consente di attivare/disattivare il server BDX senza arrestarlo e riavviarlo completamente.

Dettagli
Parametri
[in] aEnable
Attiva (vero) o disattiva (falso)

AwaitBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

AwaitBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

BdxNode

 BdxNode(
  void
)

Costruttore predefinito che imposta tutti i membri su NULL.

Non provare a fare nulla con il server finché non hai almeno chiamato init().

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

Restituisce true se il server BDX può avviare un trasferimento in questo momento, false negli altri casi.

Dettagli
Restituisce
true se il trasferimento BDX è consentito, false in caso contrario

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

Imposta tutti i trasferimenti in uno stato predefinito pronti per l'uso, archivia WeaveExchangeManager e tutte le altre risorse Weave necessarie e imposta allowBdxTransferToRun(true).

Dettagli
Parametri
[in] anExchangeMgr
Un gestore della piattaforma di scambio pubblicitario da utilizzare per questa operazione di trasferimento collettivo.
Valori restituiti
WEAVE_NO_ERROR
in caso di esito positivo
WEAVE_ERROR_INCORRECT_STATE
se mExchangeMgr non è nullo, è già inizializzato

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
)

Restituisce true se questo BdxNode è già stato inizializzato.

Dettagli
Restituisce
true se l'oggetto è stato inizializzato

NewTransfer

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

Scarica e configura un nuovo BDXTransfer dal pool di trasferimento, se disponibile, oppure impostalo su NULL altrimenti e restituisci un errore.

Dettagli
Parametri
[in] aBinding
L'associazione al nodo con cui avvieremo il trasferimento. Viene utilizzato per creare un ExchangeContext associato per questo trasferimento.
[in] aBDXHandlers
Una struttura di gestori di callback BDX da chiamare durante il trasferimento
[in] aFileDesignator
L'indicatore del file che verrà trasferito.
[in] anAppState
Un oggetto di stato specifico dell'applicazione da collegare a BDXTransfer per essere utilizzato dall'applicazione utente e dai callback associati.
[in] aXfer
Un puntatore passato per riferimento che punterà al nuovo oggetto BDXTransfer se disponibile, altrimenti NULL.
Valori restituiti
WEAVE_NO_ERROR
Se abbiamo trovato un nuovo BDXTransfer.
WEAVE_ERROR_NO_MEMORY
Se non è possibile creare ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Se al momento sono attivi troppi trasferimenti e aXfer è NULL
WEAVE_ERROR_INCORRECT_STATE
Se un'associazione non è preparata

NewTransfer

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

Scarica e configura un nuovo BDXTransfer dal pool di trasferimento, se disponibile, oppure impostalo su NULL altrimenti e restituisci un errore.

Dettagli
Parametri
[in] aCon
La WeaveConnection al nodo con cui avvieremo il trasferimento. Viene utilizzato per creare un ExchangeContext associato per questo trasferimento.
[in] aBDXHandlers
Una struttura di gestori di callback BDX da chiamare durante il trasferimento
[in] aFileDesignator
L'indicatore del file che verrà trasferito.
[in] anAppState
Un oggetto di stato specifico dell'applicazione da collegare a BDXTransfer per essere utilizzato dall'applicazione utente e dai callback associati.
[in] aXfer
Un puntatore passato per riferimento che punterà al nuovo oggetto BDXTransfer se disponibile, altrimenti NULL.
Valori restituiti
WEAVE_NO_ERROR
Se abbiamo trovato un nuovo BDXTransfer.
WEAVE_ERROR_NO_MEMORY
Se non è possibile creare ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Se al momento sono attivi troppi trasferimenti e aXfer è NULL
WEAVE_ERROR_INCORRECT_STATE
Se mExchangeMgr non è stato ancora impostato o se aCon non è stata connessa

Arresto

WEAVE_ERROR Shutdown(
  void
)

Chiude tutti i trasferimenti e rilascia tutte le risorse Weave (attualmente imposta mExchangeMgr su NULL).

Imposta allowBdxTransferToRun(false) e disconnetti tutti i callback correnti (ad esempio, SendInitGestori).

Dettagli
Restituisce
WEAVE_NO_ERROR in caso di arresto anomalo; altro errore se AwaitBdxSend/ReceiveInit restituisce un errore.

Funzioni statiche pubbliche

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
)

Arresta l'oggetto di trasferimento specificato e rimettilo nel pool.

Questo rimanda semplicemente a BDXTransfer::Shutdown()

Dettagli
Parametri
[in] aXfer
Il metodo BDXTransfer da arrestare