nl::Weave::Profile::BDX_Entwicklung::BdxNode

Fazit

Konstrukteur und Zerstörer

BdxNode(void)
Standardkonstruktor, der alle Mitglieder auf NULL setzt.

Öffentliche Funktionen

AllowBdxTransferToRun(bool aEnable)
void
Hiermit aktivieren oder deaktivieren Sie den BDX-Server, ohne ihn vollständig herunterzufahren und neu zu starten.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
Gibt True zurück, wenn der BDX-Server zu diesem Zeitpunkt eine Übertragung starten darf. Andernfalls wird False zurückgegeben.
Init(WeaveExchangeManager *anExchangeMgr)
Setzen Sie alle Übertragungen in einen Standardzustand, speichern Sie den WeaveExchangeManager und alle anderen erforderlichen Weave-Ressourcen und legen Sie „allowBdxTransferToRun(true)“ fest.
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
Gibt „true“ zurück, wenn dieser BdxNode bereits initialisiert wurde.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Rufen Sie einen neuen BDXTransfer aus dem Übertragungspool ab und richten Sie ihn ein, da er ansonsten NULL ist. Geben Sie dann einen Fehler zurück.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Rufen Sie einen neuen BDXTransfer aus dem Übertragungspool ab und richten Sie ihn ein, da er ansonsten NULL ist. Geben Sie dann einen Fehler zurück.
Shutdown(void)
Schließt alle Übertragungen und gibt alle Weave-Ressourcen frei (derzeit wird mExchangeMgr auf NULL gesetzt).

Öffentliche statische Funktionen

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
Fahren Sie das angegebene Übertragungsobjekt herunter und geben Sie es wieder in den Pool ein.

Öffentliche Funktionen

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

Hiermit aktivieren oder deaktivieren Sie den BDX-Server, ohne ihn vollständig herunterzufahren und neu zu starten.

Details
Parameter
[in] aEnable
Aktivieren (true) oder deaktivieren (false)

AwaitBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

AwaitBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

BdxKnoten

 BdxNode(
  void
)

Standardkonstruktor, der alle Mitglieder auf NULL setzt.

Versuchen Sie nichts mit dem Server zu tun, bis Sie zumindest init() aufgerufen haben.

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

Gibt True zurück, wenn der BDX-Server zu diesem Zeitpunkt eine Übertragung starten darf. Andernfalls wird False zurückgegeben.

Details
Rückgabe
True, wenn BDX-Übertragung zulässig ist, False, wenn nicht

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

Setzen Sie alle Übertragungen in einen Standardzustand, speichern Sie den WeaveExchangeManager und alle anderen erforderlichen Weave-Ressourcen und legen Sie „allowBdxTransferToRun(true)“ fest.

Details
Parameter
[in] anExchangeMgr
Ein Exchange-Manager, der für diesen Bulk-Übertragungsvorgang verwendet werden soll.
Rückgabewerte
WEAVE_NO_ERROR
wenn der Vorgang erfolgreich war
WEAVE_ERROR_INCORRECT_STATE
wenn mExchangeMgr null ist, bereits initialisiert

InitBdxReceive

WEAVE_ERROR InitBdxReceive(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

initxsend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

initxsend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

IsInitialized

bool IsInitialized(
  void
)

Gibt „true“ zurück, wenn dieser BdxNode bereits initialisiert wurde.

Details
Rückgabe
True, wenn dieses Objekt initialisiert wurde

NewTransfer

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

Rufen Sie einen neuen BDXTransfer aus dem Übertragungspool ab und richten Sie ihn ein, da er ansonsten NULL ist. Geben Sie dann einen Fehler zurück.

Details
Parameter
[in] aBinding
Die Bindung an den Knoten, mit dem die Übertragung gestartet wird. Es wird zum Erstellen eines verknüpften ExchangeContext für diese Übertragung verwendet.
[in] aBDXHandlers
Eine Struktur von BDX-Callback-Handlern, die während der Übertragung aufgerufen werden
[in] aFileDesignator
Der Dateibezeichner für die Datei, die übertragen werden soll.
[in] anAppState
Ein anwendungsspezifisches Statusobjekt, das an die BDXTransfer-Anwendung angehängt wird und von der Nutzeranwendung und den zugehörigen Callbacks verwendet wird.
[in] aXfer
Ein passender Zeiger, der auf das neue BDXTransfer-Objekt verweist, sofern verfügbar, ansonsten NULL.
Rückgabewerte
WEAVE_NO_ERROR
Wenn wir eine neue BDXTransfer-Datei gefunden haben.
WEAVE_ERROR_NO_MEMORY
Wenn ExchangeContext nicht erstellt werden kann
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Wenn zu viele Übertragungen derzeit aktiv sind und AXfer NULL ist
WEAVE_ERROR_INCORRECT_STATE
Wenn eine Bindung nicht vorbereitet wurde

NewTransfer

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

Rufen Sie einen neuen BDXTransfer aus dem Übertragungspool ab und richten Sie ihn ein, da er ansonsten NULL ist. Geben Sie dann einen Fehler zurück.

Details
Parameter
[in] aCon
Die WeaveConnection zum Knoten, mit dem die Übertragung gestartet wird. Es wird zum Erstellen eines verknüpften ExchangeContext für diese Übertragung verwendet.
[in] aBDXHandlers
Eine Struktur von BDX-Callback-Handlern, die während der Übertragung aufgerufen werden
[in] aFileDesignator
Der Dateibezeichner für die Datei, die übertragen werden soll.
[in] anAppState
Ein anwendungsspezifisches Statusobjekt, das an die BDXTransfer-Anwendung angehängt wird und von der Nutzeranwendung und den zugehörigen Callbacks verwendet wird.
[in] aXfer
Ein passender Zeiger, der auf das neue BDXTransfer-Objekt verweist, sofern verfügbar, ansonsten NULL.
Rückgabewerte
WEAVE_NO_ERROR
Wenn wir eine neue BDXTransfer-Datei gefunden haben.
WEAVE_ERROR_NO_MEMORY
Wenn ExchangeContext nicht erstellt werden kann
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Wenn zu viele Übertragungen derzeit aktiv sind und AXfer NULL ist
WEAVE_ERROR_INCORRECT_STATE
Wenn mExchangeMgr noch nicht festgelegt wurde oder aCon nicht verknüpft wurde

Heruntergefahren

WEAVE_ERROR Shutdown(
  void
)

Schließt alle Übertragungen und gibt alle Weave-Ressourcen frei (derzeit wird mExchangeMgr auf NULL gesetzt).

Legt "AllowBdxTransferToRun(false)" fest und trennt alle aktuellen Callbacks (z. B. SendInitHandler).

Details
Rückgabe
WEAVE_NO_ERROR, wenn das Gerät heruntergefahren wurde. Anderer Fehler, wenn AwaitBdxSend/ReceiveInit einen Fehler zurückgibt

Öffentliche statische Funktionen

Alias-Eingabe

void HandleReceiveInit(
  ExchangeContext *anEc,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aWeaveMsgInfo,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

Alias senden

void HandleSendInit(
  ExchangeContext *anEc,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aWeaveMsgInfo,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

Herunterfahren

void ShutdownTransfer(
  BDXTransfer *aXfer
)

Fahren Sie das angegebene Übertragungsobjekt herunter und geben Sie es wieder in den Pool ein.

Lehnt einfach ab an BDXTransfer::Shutdown()

Details
Parameter
[in] aXfer
BDXTransfer wird heruntergefahren.