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

Resumen

Constructores y destructores

BdxNode(void)
Constructor predeterminado que establece todos los miembros en NULL.

Funciones públicas

AllowBdxTransferToRun(bool aEnable)
void
Se usa para habilitar o inhabilitar el servidor de BDX sin cerrar y reiniciar por completo.
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 listas para su uso, 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
El resultado es verdadero si ya se inicializó este BdxNode.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Obtén y configura una nueva BDXTransfer desde el grupo de transferencias si está disponible, o establécela en NULL de lo contrario y muestra un error.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Obtén y configura una nueva BDXTransfer desde el grupo de transferencias si está disponible, o establécela en NULL de lo contrario 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 dado y devuélvelo al grupo.

Funciones públicas

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

Se usa para habilitar o inhabilitar el servidor de BDX sin cerrar y reiniciar por completo.

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 establece todos los miembros en NULL.

No intentes hacer nada con el servidor hasta que al menos hayas llamado 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
Qué muestra
verdadero si se permite la transferencia de BDX y falso si no

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

Coloca todas las transferencias en un estado predeterminado listas para su uso, 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 que se muestran
WEAVE_NO_ERROR
si el proceso se realiza correctamente
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
)

El resultado es verdadero si ya se inicializó este BdxNode.

Detalles
Qué 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 una nueva BDXTransfer desde el grupo de transferencias si está disponible, o establécela en NULL de lo contrario 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 de BDX que se llamará durante la transferencia
[in] aFileDesignator
El designador 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 del usuario y las devoluciones de llamada asociadas.
[in] aXfer
Un puntero de referencia que apuntará al nuevo objeto BDXTransfer si hay uno disponible; de lo contrario, será NULL.
Valores que se muestran
WEAVE_NO_ERROR
Si encontramos correctamente una BDXTransfer nueva
WEAVE_ERROR_NO_MEMORY
Si no puedes crear ExchangeContext,
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Si hay demasiadas transferencias activas en este momento y aXfer es NULL
WEAVE_ERROR_INCORRECT_STATE
Si unaBinding no se prepara

NewTransfer

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

Obtén y configura una nueva BDXTransfer desde el grupo de transferencias si está disponible, o establécela en NULL de lo contrario y muestra un error.

Detalles
Parámetros
[in] aCon
La 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 de BDX que se llamará durante la transferencia
[in] aFileDesignator
El designador 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 del usuario y las devoluciones de llamada asociadas.
[in] aXfer
Un puntero de referencia que apuntará al nuevo objeto BDXTransfer si hay uno disponible; de lo contrario, será NULL.
Valores que se muestran
WEAVE_NO_ERROR
Si encontramos correctamente una BDXTransfer nueva
WEAVE_ERROR_NO_MEMORY
Si no puedes crear ExchangeContext,
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Si hay demasiadas transferencias activas en este momento y aXfer es NULL
WEAVE_ERROR_INCORRECT_STATE
Si aún no se estableció 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 las devoluciones de llamada actuales (por ejemplo, SendInitHandler).

Detalles
Qué muestra
WEAVE_NO_ERROR si se cerró correctamente, otro error si AwaitBdxSend/ReceiveInit 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 dado y devuélvelo al grupo.

Esto simplemente se difiere a BDXTransfer::Shutdown()

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