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 ou de désactiver le serveur BDX sans l'arrêter complètement ni 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 moment-là. Sinon, renvoie la valeur "false".
Init(WeaveExchangeManager *anExchangeMgr)
Placez tous les transferts dans un état par défaut prêt à l'emploi, stockez WeaveExchangeManager et toutes 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 l'élément 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, si disponible, ou définissez-le sur NULL dans le cas contraire et 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, si disponible, ou définissez-le sur NULL dans le cas contraire et 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êtez l'objet de transfert donné et replacez-le dans le pool.

Fonctions publiques

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

Permet d'activer ou de désactiver le serveur BDX sans l'arrêter complètement ni 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 d'intervenir sur le serveur tant que vous n'avez pas appelé init().

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

Renvoie la valeur "true" si le serveur BDX est autorisé à démarrer un transfert à ce moment-là. Sinon, renvoie la valeur "false".

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 dans un état par défaut prêt à l'emploi, stockez WeaveExchangeManager et toutes les autres ressources Weave nécessaires, puis définissez allowBdxTransferToRun(true).

Détails
Paramètres
[in] anExchangeMgr
Administrateur de place de marché à utiliser pour cette opération de transfert groupé.
Valeurs renvoyées
WEAVE_NO_ERROR
en cas de réussite
WEAVE_ERROR_INCORRECT_STATE
Si mExchangeMgr n'est pas nul, cela signifie qu'il est 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 l'élément 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 si disponible, ou définissez-le sur NULL dans le cas contraire et renvoyez une erreur.

Détails
Paramètres
[in] aBinding
Liaison au nœud avec lequel nous lancerons le transfert. Permet de créer un ExchangeContext associé à ce transfert.
[in] aBDXHandlers
Structure de gestionnaires de rappel BDX à appeler lors du transfert
[in] aFileDesignator
Identifiant du fichier à transférer.
[in] anAppState
Objet d'état spécifique à l'application à associer à BDXTransfer, destiné à être utilisé par l'application de l'utilisateur et les rappels associés.
[in] aXfer
Pointeur transmis par référence qui pointe vers le nouvel objet BDXTransfer s'il en existe un, sinon NULL.
Valeurs renvoyées
WEAVE_NO_ERROR
Si un nouveau fichier BDXTransfer a été trouvé.
WEAVE_ERROR_NO_MEMORY
Si vous n'êtes pas en mesure de créer ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Si trop de transferts sont actuellement actifs et que l'attribut 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 si disponible, ou définissez-le sur NULL dans le cas contraire et renvoyez une erreur.

Détails
Paramètres
[in] aCon
WeaveConnection du nœud avec lequel lancer le transfert Permet de créer un ExchangeContext associé à ce transfert.
[in] aBDXHandlers
Structure de gestionnaires de rappel BDX à appeler lors du transfert
[in] aFileDesignator
Identifiant du fichier à transférer.
[in] anAppState
Objet d'état spécifique à l'application à associer à BDXTransfer, destiné à être utilisé par l'application de l'utilisateur et les rappels associés.
[in] aXfer
Pointeur transmis par référence qui pointe vers le nouvel objet BDXTransfer s'il en existe un, sinon NULL.
Valeurs renvoyées
WEAVE_NO_ERROR
Si un nouveau fichier BDXTransfer a été trouvé.
WEAVE_ERROR_NO_MEMORY
Si vous n'êtes pas en mesure de créer ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Si trop de transferts sont actuellement actifs et que l'attribut aXfer est NULL
WEAVE_ERROR_INCORRECT_STATE
Si mExchangeMgr n'a pas encore été défini ou si 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 en cours (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êtez l'objet de transfert donné et replacez-le dans le pool.

Cela se réfère simplement à BDXTransfer::Shutdown()

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