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 è autorizzato ad avviare un trasferimento in questo momento, false negli altri casi.
Init(WeaveExchangeManager *anExchangeMgr)
Imposta tutti i trasferimenti in uno stato predefinito pronto per l'uso, archivia WeaveExchangeManager e tutte le altre risorse Weave necessarie, quindi 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 in caso contrario 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 in caso contrario e restituisci un errore.
Shutdown(void)
Arresta tutti i trasferimenti e rilascia eventuali 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 restituirlo al pool.

Funzioni pubbliche

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

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

Dettagli
Parametri
[in] aEnable
Abilita (true) o disabilita (false)

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 prima di aver chiamato almeno init().

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

Restituisce true se il server BDX è autorizzato ad avviare un trasferimento in questo momento, false negli altri casi.

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

Inizia

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

Imposta tutti i trasferimenti in uno stato predefinito pronto per l'uso, archivia WeaveExchangeManager e tutte le altre risorse Weave necessarie, quindi 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 è null, 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 questo 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 in caso contrario e restituisci un errore.

Dettagli
Parametri
[in] aBinding
L'associazione al nodo con cui avvierà il trasferimento. Viene utilizzato per creare un ExchangeContext associato a questo trasferimento.
[in] aBDXHandlers
Struttura dei gestori di callback BDX da chiamare durante il trasferimento
[in] aFileDesignator
L'identificatore del file che verrà trasferito.
[in] anAppState
Un oggetto di stato specifico dell'applicazione da associare a BDXTransfer per l'utilizzo da parte dell'applicazione utente e dei 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 correttamente un nuovo BDXTransfer.
WEAVE_ERROR_NO_MEMORY
Se non riesci a creare ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Se sono attualmente attivi troppi trasferimenti e aXfer è NULL
WEAVE_ERROR_INCORRECT_STATE
Se aBinding non è preparato

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 in caso contrario e restituisci un errore.

Dettagli
Parametri
[in] aCon
La WeaveConnection al nodo con cui avvieremo il trasferimento. Viene utilizzato per creare un ExchangeContext associato a questo trasferimento.
[in] aBDXHandlers
Struttura dei gestori di callback BDX da chiamare durante il trasferimento
[in] aFileDesignator
L'identificatore del file che verrà trasferito.
[in] anAppState
Un oggetto di stato specifico dell'applicazione da associare a BDXTransfer per l'utilizzo da parte dell'applicazione utente e dei 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 correttamente un nuovo BDXTransfer.
WEAVE_ERROR_NO_MEMORY
Se non riesci a creare ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Se sono attualmente attivi troppi trasferimenti e aXfer è NULL
WEAVE_ERROR_INCORRECT_STATE
Se mExchangeMgr non è stato ancora impostato o se aCon non si è connesso correttamente

Arresto

WEAVE_ERROR Shutdown(
  void
)

Arresta tutti i trasferimenti e rilascia eventuali risorse Weave (attualmente imposta mExchangeMgr su NULL).

Imposta allowBdxTransferToRun(false) e disconnette tutti i callback in corso (ad esempio, SendInitHandler).

Dettagli
Restituisce
WEAVE_NO_ERROR se l'arresto è andato a buon fine, altro errore se AwaitBdxSend/RiceviInit 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 restituirlo al pool.

Si reindirizza semplicemente a BDXTransfer::Shutdown()

Dettagli
Parametri
[in] aXfer
Il trasferimento BDXTransfer per l'arresto