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

Resumo

Construtores e destrutores

BdxNode(void)
Construtor padrão que define todos os membros como NULL.

Funções públicas

AllowBdxTransferToRun(bool aEnable)
void
Use para ativar/desativar o servidor BDX sem encerrá-lo e reiniciá-lo totalmente.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
Retorna verdadeiro se o servidor BDX tiver permissão para iniciar uma transferência nesse momento. Caso contrário, retorna falso.
Init(WeaveExchangeManager *anExchangeMgr)
Coloque todas as transferências em um estado padrão prontos para uso, armazene o WeaveExchangeManager e todos os outros recursos necessários do Weave e defina 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
Retorna verdadeiro se esse BdxNode já tiver sido inicializado.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Receba e configure um novo BDXTransfer do pool de transferências, se disponível. Caso contrário, defina-o como NULL e retorne um erro.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Receba e configure um novo BDXTransfer do pool de transferências, se disponível. Caso contrário, defina-o como NULL e retorne um erro.
Shutdown(void)
Encerra todas as transferências e libera todos os recursos do Weave (atualmente define mExchangeMgr como NULL).

Funções 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
Encerre o objeto de transferência especificado e retorne-o ao pool.

Funções públicas

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

Use para ativar/desativar o servidor BDX sem encerrá-lo e reiniciá-lo totalmente.

Detalhes
Parâmetros
[in] aEnable
Ativar (verdadeiro) ou desativar (falso)

AwaitBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

AwaitBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

BdxNode

 BdxNode(
  void
)

Construtor padrão que define todos os membros como NULL.

Não tente fazer nada com o servidor até que pelo menos você tenha chamado init().

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

Retorna verdadeiro se o servidor BDX tiver permissão para iniciar uma transferência nesse momento. Caso contrário, retorna falso.

Detalhes
Retorna
"true" se a transferência BDX for permitida e "false" se não for

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

Coloque todas as transferências em um estado padrão prontos para uso, armazene o WeaveExchangeManager e todos os outros recursos necessários do Weave e defina allowBdxTransferToRun(true).

Detalhes
Parâmetros
[in] anExchangeMgr
Um gerente de troca a ser usado nesta operação de transferência em massa.
Valores de retorno
WEAVE_NO_ERROR
se for bem-sucedido
WEAVE_ERROR_INCORRECT_STATE
se o mExchangeMgr não for nulo, ele já tiver sido inicializado.

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
)

Retorna verdadeiro se esse BdxNode já tiver sido inicializado.

Detalhes
Retorna
"true" se o objeto tiver sido inicializado

NewTransfer

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

Receba e configure um novo BDXTransfer do pool de transferências, se disponível. Caso contrário, defina-o como NULL e retorne um erro.

Detalhes
Parâmetros
[in] aBinding
A vinculação Binding ao nó com que iniciaremos a transferência. Ele é usado para criar um ExchangeContext associado para essa transferência.
[in] aBDXHandlers
Uma estrutura de gerenciadores de callback BDX a serem chamados durante a transferência
[in] aFileDesignator
O designador para o arquivo que será transferido.
[in] anAppState
Um objeto de estado específico do aplicativo a ser anexado ao BDXTransfer para uso do aplicativo do usuário e dos callbacks associados.
[in] aXfer
Um ponteiro transmitido por referência que apontará para o novo objeto BDXTransfer se houver um disponível. Caso contrário, será NULL.
Valores de retorno
WEAVE_NO_ERROR
Se encontrarmos um novo BDXTransfer,
WEAVE_ERROR_NO_MEMORY
Se não for possível criar ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Se muitas transferências estiverem ativas no momento e aXfer for NULL
WEAVE_ERROR_INCORRECT_STATE
Se aBinding não estiver preparada

NewTransfer

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

Receba e configure um novo BDXTransfer do pool de transferências, se disponível. Caso contrário, defina-o como NULL e retorne um erro.

Detalhes
Parâmetros
[in] aCon
O WeaveConnection para o nó com que iniciaremos a transferência. Ele é usado para criar um ExchangeContext associado para essa transferência.
[in] aBDXHandlers
Uma estrutura de gerenciadores de callback BDX a serem chamados durante a transferência
[in] aFileDesignator
O designador para o arquivo que será transferido.
[in] anAppState
Um objeto de estado específico do aplicativo a ser anexado ao BDXTransfer para uso do aplicativo do usuário e dos callbacks associados.
[in] aXfer
Um ponteiro transmitido por referência que apontará para o novo objeto BDXTransfer se houver um disponível. Caso contrário, será NULL.
Valores de retorno
WEAVE_NO_ERROR
Se encontrarmos um novo BDXTransfer,
WEAVE_ERROR_NO_MEMORY
Se não for possível criar ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Se muitas transferências estiverem ativas no momento e aXfer for NULL
WEAVE_ERROR_INCORRECT_STATE
Se m ExchangeMgr ainda não tiver sido definido ou se aCon não tiver sido conectado

Desligamento

WEAVE_ERROR Shutdown(
  void
)

Encerra todas as transferências e libera todos os recursos do Weave (atualmente define mExchangeMgr como NULL).

Define AllowBdxTransferToRun(false) e desconecta todos os callbacks atuais (por exemplo, EnviarInitHandler).

Detalhes
Retorna
WEAVE_NO_ERROR se encerrado com sucesso, outro erro se AwaitBdxSend/ReceiveInit retornar um erro

Funções 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
)

Encerre o objeto de transferência especificado e retorne-o ao pool.

Isso apenas muda para BDXTransfer::Shutdown()

Detalhes
Parâmetros
[in] aXfer
O BDXTransfer a ser encerrado