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

Resumen

Constructores y destructores

BdxNode(void)
Constructor predeterminado que configura todos los miembros como NULL.

Funciones públicas

AllowBdxTransferToRun(bool aEnable)
void
Se usa para habilitar o inhabilitar el servidor BDX sin tener que apagarlo por completo y reiniciarlo.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
Muestra true si el servidor BDX puede iniciar una transferencia en este momento; de lo contrario, muestra false.
Init(WeaveExchangeManager *anExchangeMgr)
Coloca todas las transferencias en un estado predeterminado y listo para usar, almacena WeaveExchangeManager y cualquier otro recurso de Weave necesario, y configura 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
Muestra true si ya se inicializó este BdxNode.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Obtén y configura un BDXTransfer nuevo desde el grupo de transferencia si está disponible; de lo contrario, configúralo en NULL y muestra un error.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Obtén y configura un BDXTransfer nuevo desde el grupo de transferencia si está disponible; de lo contrario, configúralo en NULL y muestra un error.
Shutdown(void)
Cierra todas las transferencias y libera los recursos de Weave (actualmente, configura mExchangeMgr como NULL).

Funciones estáticas públicas

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
Cierra el objeto de transferencia determinado y muévelo al grupo.

Funciones públicas

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

Se usa para habilitar o inhabilitar el servidor BDX sin tener que apagarlo por completo y reiniciarlo.

Detalles
Parámetros
[in] aEnable
Habilitar (verdadero) o inhabilitar (falso)

AwaitBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

AwaitBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

BdxNode

 BdxNode(
  void
)

Constructor predeterminado que configura todos los miembros como NULL.

No intentes hacer nada con el servidor hasta que hayas llamado al menos a init().

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

Muestra true si el servidor BDX puede iniciar una transferencia en este momento; de lo contrario, muestra false.

Detalles
Resultado que se muestra
true si la transferencia de BDX está permitida; false si no lo está

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

Coloca todas las transferencias en un estado predeterminado y listo para usar, almacena WeaveExchangeManager y cualquier otro recurso de Weave necesario, y configura allowBdxTransferToRun(true).

Detalles
Parámetros
[in] anExchangeMgr
Un administrador de intercambio para usar en esta operación de transferencia masiva.
Valores de retorno
WEAVE_NO_ERROR
si tiene éxito
WEAVE_ERROR_INCORRECT_STATE
si mExchangeMgr no es nulo, ya se inicializó

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
)

Muestra true si ya se inicializó este BdxNode.

Detalles
Resultado que se muestra
true si este objeto se inicializó

NewTransfer

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

Obtén y configura un BDXTransfer nuevo desde el grupo de transferencia si está disponible; de lo contrario, configúralo en NULL y muestra un error.

Detalles
Parámetros
[in] aBinding
La vinculación al nodo con el que iniciaremos la transferencia. Se usa para crear un ExchangeContext asociado para esta transferencia.
[in] aBDXHandlers
Una estructura de controladores de devolución de llamada BDX a los que se debe llamar durante la transferencia
[in] aFileDesignator
El designador de archivo del archivo que se transferirá.
[in] anAppState
Un objeto de estado específico de la aplicación que se adjuntará a BDXTransfer para que lo use la aplicación de usuario y las devoluciones de llamada asociadas.
[in] aXfer
Un puntero de referencia que se pasará al nuevo objeto BDXTransfer si hay uno disponible, de lo contrario, NULL.
Valores de retorno
WEAVE_NO_ERROR
Si encontramos un BDXTransfer nuevo correctamente,
WEAVE_ERROR_NO_MEMORY
Si no se puede crear ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Si hay demasiadas transferencias activas actualmente y aXfer tiene el valor NULL
WEAVE_ERROR_INCORRECT_STATE
Si un objeto Binding no está preparado

NewTransfer

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

Obtén y configura un BDXTransfer nuevo desde el grupo de transferencia si está disponible; de lo contrario, configúralo en NULL y muestra un error.

Detalles
Parámetros
[in] aCon
WeaveConnection al nodo con el que iniciaremos la transferencia. Se usa para crear un ExchangeContext asociado para esta transferencia.
[in] aBDXHandlers
Una estructura de controladores de devolución de llamada BDX a los que se debe llamar durante la transferencia
[in] aFileDesignator
El designador de archivo del archivo que se transferirá.
[in] anAppState
Un objeto de estado específico de la aplicación que se adjuntará a BDXTransfer para que lo use la aplicación de usuario y las devoluciones de llamada asociadas.
[in] aXfer
Un puntero de referencia que se pasará al nuevo objeto BDXTransfer si hay uno disponible, de lo contrario, NULL.
Valores de retorno
WEAVE_NO_ERROR
Si encontramos un BDXTransfer nuevo correctamente,
WEAVE_ERROR_NO_MEMORY
Si no se puede crear ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Si hay demasiadas transferencias activas actualmente y aXfer tiene el valor NULL
WEAVE_ERROR_INCORRECT_STATE
Si aún no se configuró mExchangeMgr o si aCon no se conectó correctamente

Cierre

WEAVE_ERROR Shutdown(
  void
)

Cierra todas las transferencias y libera los recursos de Weave (actualmente, configura mExchangeMgr como NULL).

Configura AllowBdxTransferToRun(false) y desconecta todas las devoluciones de llamada actuales (por ejemplo, SendInitHandler).

Detalles
Resultado que se muestra
WEAVE_NO_ERROR si se cierra correctamente, otro error si AwaitBdxSend/AcceptInit muestra un error

Funciones estáticas públicas

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
)

Cierra el objeto de transferencia determinado y muévelo al grupo.

Esto simplemente deriva a BDXTransfer::Shutdown()

Detalles
Parámetros
[in] aXfer
El BDXTransfer para cerrar