En Google, luchamos por la equidad racial de la comunidad negra. Más información

nl::Weave::Perfiles::BDX_Desarrollo:BdxNode

Resumen

Constructores y destructores

BdxNode(void)
Es el constructor predeterminado que establece todos los miembros en NULL.

Funciones públicas

AllowBdxTransferToRun(bool aEnable)
void
Úsalo para habilitar o inhabilitar el servidor de BDX sin cerrarlo por completo y reiniciarlo.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
El resultado es verdadero si el servidor BDX está autorizado a iniciar una transferencia en este momento. De lo contrario, el valor es falso.
Init(WeaveExchangeManager *anExchangeMgr)
Pon todas las transferencias en un estado predeterminado listas para usar, almacena WeaveExchangeManager y cualquier otro recurso necesario de Weave, 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 este BdxNode ya se inicializó.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Obtén y configura una nueva BDXTransfer desde el grupo de transferencia, si está disponible, o configúrala como NULL 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 transferencia, si está disponible, o configúrala como NULL y muestra un error.
Shutdown(void)
Cierra todas las transferencias y libera cualquier recurso de Weave (actualmente establece mExchangeMgr en 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 lo devuelve al grupo.

Funciones públicas

Permitir Transferencia de transferencia

void AllowBdxTransferToRun(
  bool aEnable
)

Úsalo para habilitar o inhabilitar el servidor de BDX sin cerrarlo 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
)

Bdxnodo

 BdxNode(
  void
)

Es el constructor predeterminado que establece todos los miembros en NULL.

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

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

El resultado es verdadero si el servidor BDX está autorizado a iniciar una transferencia en este momento. De lo contrario, el valor es falso.

Detalles
Qué muestra
verdadero si se permite la transferencia de BDX, falso si no se permite

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

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

Detalles
Parámetros
[in] anExchangeMgr
Un administrador de intercambio que se usa en esta operación de transferencia masiva.
Valores que se muestran
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 este BdxNode ya se inicializó.

Detalles
Qué muestra
Es verdadero si se inicializó este objeto.

Nueva transferencia

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

Obtén y configura una nueva BDXTransfer desde el grupo de transferencia, si está disponible, o configúrala como NULL y muestra un error.

Detalles
Parámetros
[in] aBinding
La vinculación al nodo con el que iniciaremos la transferencia Se utiliza a fin de crear un ExchangeContext asociado para esta transferencia.
[in] aBDXHandlers
Estructura de los controladores de devolución de llamada de BDX que se deben 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 la BDXTransfer para que lo use la aplicación del usuario y las devoluciones de llamada asociadas.
[in] aXfer
Es un puntero pasado a referencia que apunta al nuevo objeto BDXTransfer si está disponible, de lo contrario es NULL.
Valores que se muestran
WEAVE_NO_ERROR
Si encontramos un nuevo BDXTransfer correctamente.
WEAVE_ERROR_NO_MEMORY
Si no puedes crear ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Si hay demasiadas transferencias activas y aXfer está configurado como NULL
WEAVE_ERROR_INCORRECT_STATE
Si aBinding no está preparado

Nueva transferencia

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

Obtén y configura una nueva BDXTransfer desde el grupo de transferencia, si está disponible, o configúrala como NULL y muestra un error.

Detalles
Parámetros
[in] aCon
La WeaveConnection al nodo con el que iniciaremos la transferencia. Se utiliza a fin de crear un ExchangeContext asociado para esta transferencia.
[in] aBDXHandlers
Estructura de los controladores de devolución de llamada de BDX que se deben 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 la BDXTransfer para que lo use la aplicación del usuario y las devoluciones de llamada asociadas.
[in] aXfer
Es un puntero pasado a referencia que apunta al nuevo objeto BDXTransfer si está disponible, de lo contrario es NULL.
Valores que se muestran
WEAVE_NO_ERROR
Si encontramos un nuevo BDXTransfer correctamente.
WEAVE_ERROR_NO_MEMORY
Si no puedes crear ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Si hay demasiadas transferencias activas y aXfer está configurado como NULL
WEAVE_ERROR_INCORRECT_STATE
Si aún no se configuró mExchangeMgr o si aConA no se conectó correctamente

Cierre

WEAVE_ERROR Shutdown(
  void
)

Cierra todas las transferencias y libera cualquier recurso de Weave (actualmente establece mExchangeMgr en NULL).

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

Detalles
Qué muestra
WEAVE_NO_ERROR si se cierra 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
)

Transferencia por cierre

void ShutdownTransfer(
  BDXTransfer *aXfer
)

Cierra el objeto de transferencia determinado y lo devuelve al grupo.

Esto se limita a BDXTransfer::Shutdown()

Detalles
Parámetros
[in] aXfer
La BDXTransfer se cerrará