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

Resumo

Construtores e destruidores

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 desligá-lo totalmente e reiniciá-lo.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
Retorna true 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 prontas 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ência, se disponível, ou defina-o como NULL, caso contrário, 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ência, se disponível, ou defina-o como NULL, caso contrário, e retorne um erro.
Shutdown(void)
Encerra todas as transferências e libera todos os recursos do Weave (atualmente define o 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
Encerra o objeto de transferência especificado e o retorna ao pool.

Funções públicas

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

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

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 antes de pelo menos chamar init().

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

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

Detalhes
Retornos
verdadeiro se a transferência BDX for permitida, falso se não for

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

Coloque todas as transferências em um estado padrão prontas 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 câmbio para usar nesta operação de transferência em massa.
Valores de retorno
WEAVE_NO_ERROR
se der certo
WEAVE_ERROR_INCORRECT_STATE
se mExchangeMgr não for nulo, já foi 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
Retornos
verdadeiro se este 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ência, se disponível, ou defina como NULL, caso contrário, e retorne um erro.

Detalhes
Parâmetros
[in] aBinding
A Vinculação 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 do BDX a serem chamados durante a transferência
[in] aFileDesignator
O designador do arquivo que será transferido.
[in] anAppState
Um objeto de estado específico do aplicativo a ser anexado ao BDXTransfer para uso pelo aplicativo do usuário e pelos callbacks associados.
[in] aXfer
Um ponteiro passado por referência que apontará para o novo objeto BDXTransfer 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 o 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 está 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ência, se disponível, ou defina como NULL, caso contrário, 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 do BDX a serem chamados durante a transferência
[in] aFileDesignator
O designador do arquivo que será transferido.
[in] anAppState
Um objeto de estado específico do aplicativo a ser anexado ao BDXTransfer para uso pelo aplicativo do usuário e pelos callbacks associados.
[in] aXfer
Um ponteiro passado por referência que apontará para o novo objeto BDXTransfer 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 o ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Se muitas transferências estiverem ativas no momento e aXfer for NULL
WEAVE_ERROR_INCORRECT_STATE
Se o mExchangeMgr ainda não tiver sido definido ou se o aCon não tiver sido conectado

Encerramento

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, SendInitHandler).

Detalhes
Retornos
WEAVE_NO_ERROR se for encerrado, outro erro se AwaitBdxSend/ReceberInit 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
)

Encerra o objeto de transferência especificado e o retorna ao pool.

Isso simplesmente muda para BDXTransfer::Shutdown()

Detalhes
Parâmetros
[in] aXfer
BDXTransfer para encerrar