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

Résumé

Constructeurs et destructeurs

BdxNode(void)
Constructeur par défaut qui définit tous les membres sur NULL.

Fonctions publiques

AllowBdxTransferToRun(bool aEnable)
void
Permet d'activer/de désactiver le serveur BDX sans l'arrêter complètement et le redémarrer.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
Renvoie la valeur "true" si le serveur BDX est autorisé à démarrer un transfert à ce stade. Sinon, la valeur "false" est renvoyée.
Init(WeaveExchangeManager *anExchangeMgr)
Placez tous les transferts à l'état par défaut prêts à être utilisés, stockez le WeaveExchangeManager et les autres ressources Weave nécessaires, puis définissez 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
Renvoie la valeur "true" si ce BdxNode a déjà été initialisé.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Obtenez et configurez un nouveau BDXTransfer à partir du pool de transfert, s'il est disponible, ou définissez-le sur NULL dans le cas contraire, puis renvoyez une erreur.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Obtenez et configurez un nouveau BDXTransfer à partir du pool de transfert, s'il est disponible, ou définissez-le sur NULL dans le cas contraire, puis renvoyez une erreur.
Shutdown(void)
Arrête tous les transferts et libère les ressources Weave (définit actuellement mExchangeMgr sur NULL).

Fonctions statiques publiques

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
Arrêter l'objet de transfert donné et le remettre dans le pool

Fonctions publiques

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

Permet d'activer/de désactiver le serveur BDX sans l'arrêter complètement et le redémarrer.

Détails
Paramètres
[in] aEnable
Activer (true) ou désactiver (false)

AwaitBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

AwaitBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

BdxNode

 BdxNode(
  void
)

Constructeur par défaut qui définit tous les membres sur NULL.

N'essayez pas de faire quoi que ce soit avec le serveur tant que vous n'avez pas appelé au moins init().

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

Renvoie la valeur "true" si le serveur BDX est autorisé à démarrer un transfert à ce stade. Sinon, la valeur "false" est renvoyée.

Détails
Renvoie
"true" si le transfert BDX est autorisé, "false" dans le cas contraire

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

Placez tous les transferts à l'état par défaut prêts à être utilisés, stockez le WeaveExchangeManager et les autres ressources Weave nécessaires, puis définissez allowBdxTransferToRun(true).

Détails
Paramètres
[in] anExchangeMgr
Gestionnaire de place de marché à utiliser pour cette opération de transfert groupé.
Valeurs de retour
WEAVE_NO_ERROR
si l'opération réussit
WEAVE_ERROR_INCORRECT_STATE
si mExchangeMgr n'est pas nul, déjà initialisé

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
)

Renvoie la valeur "true" si ce BdxNode a déjà été initialisé.

Détails
Renvoie
"true" si cet objet a été initialisé

NewTransfer

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

Obtenez et configurez un nouveau BDXTransfer à partir du pool de transfert, s'il est disponible, ou définissez-le sur NULL dans le cas contraire, puis renvoyez une erreur.

Détails
Paramètres
[in] aBinding
La liaison au nœud avec lequel nous allons lancer le transfert. Permet de créer un contexte ExchangeContext associé pour ce transfert.
[in] aBDXHandlers
Structure de gestionnaires de rappel BDX à appeler lors du transfert
[in] aFileDesignator
Indicateur du fichier qui sera transféré.
[in] anAppState
Objet d'état spécifique à l'application à associer à BDXTransfer pour être utilisé par l'application utilisateur et les rappels associés.
[in] aXfer
Pointeur de référence transmis qui pointe vers le nouvel objet BDXTransfer s'il est disponible, sinon NULL.
Valeurs de retour
WEAVE_NO_ERROR
Si nous parvenons à trouver un nouveau BDXTransfer.
WEAVE_ERROR_NO_MEMORY
Si vous ne parvenez pas à créer ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Si trop de transferts sont actuellement actifs et que l'aXfer est NULL
WEAVE_ERROR_INCORRECT_STATE
Si aBinding n'est pas préparé

NewTransfer

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

Obtenez et configurez un nouveau BDXTransfer à partir du pool de transfert, s'il est disponible, ou définissez-le sur NULL dans le cas contraire, puis renvoyez une erreur.

Détails
Paramètres
[in] aCon
La WeaveConnection vers le nœud avec lequel nous allons lancer le transfert. Permet de créer un contexte ExchangeContext associé pour ce transfert.
[in] aBDXHandlers
Structure de gestionnaires de rappel BDX à appeler lors du transfert
[in] aFileDesignator
Indicateur du fichier qui sera transféré.
[in] anAppState
Objet d'état spécifique à l'application à associer à BDXTransfer pour être utilisé par l'application utilisateur et les rappels associés.
[in] aXfer
Pointeur de référence transmis qui pointe vers le nouvel objet BDXTransfer s'il est disponible, sinon NULL.
Valeurs de retour
WEAVE_NO_ERROR
Si nous parvenons à trouver un nouveau BDXTransfer.
WEAVE_ERROR_NO_MEMORY
Si vous ne parvenez pas à créer ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Si trop de transferts sont actuellement actifs et que l'aXfer est NULL
WEAVE_ERROR_INCORRECT_STATE
Si mExchangeMgr n'a pas encore été défini ou si l'aCon ne s'est pas connecté correctement

Arrêt

WEAVE_ERROR Shutdown(
  void
)

Arrête tous les transferts et libère les ressources Weave (définit actuellement mExchangeMgr sur NULL).

Définit AllowBdxTransferToRun(false) et déconnecte tous les rappels actuels (par exemple, SendInitHandler).

Détails
Renvoie
WEAVE_NO_ERROR en cas d'arrêt réussi, autre erreur si AwaitBdxSend/ReceiveInit renvoie une erreur

Fonctions statiques publiques

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
)

Arrêter l'objet de transfert donné et le remettre dans le pool

Cela s'applique simplement à BDXTransfer::Shutdown().

Détails
Paramètres
[in] aXfer
Le BDXTransfer à arrêter