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

Zusammenfassung

Konstruktoren und Zerstörer

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

Öffentliche Funktionen

AllowBdxTransferToRun(bool aEnable)
void
Zum Aktivieren/Deaktivieren des BDX-Servers, 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 "false".
Init(WeaveExchangeManager *anExchangeMgr)
Versetzen Sie alle Übertragungen in einen einsatzbereiten Standardstatus, speichern Sie 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)
Falls verfügbar, können Sie einen neuen BDXTransfer aus dem Übertragungspool abrufen und einrichten. Andernfalls wird er auf NULL gesetzt und ein Fehler zurückgegeben.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Falls verfügbar, können Sie einen neuen BDXTransfer aus dem Übertragungspool abrufen und einrichten. Andernfalls wird er auf NULL gesetzt und ein Fehler zurückgegeben.
Shutdown(void)
Beendet alle Übertragungen und gibt alle Weave-Ressourcen frei (setzt derzeit mExchangeMgr auf NULL fest).

Ö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 setzen Sie es in den Pool zurück.

Öffentliche Funktionen

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

Zum Aktivieren/Deaktivieren des BDX-Servers, 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
)

BdxNode

 BdxNode(
  void
)

Standardkonstruktor, der alle Mitglieder auf NULL festlegt.

Versuchen Sie nicht, etwas mit dem Server zu tun, bevor 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 "false".

Details
Rückgabe
„true“, wenn eine BDX-Übertragung zulässig ist, „false“, wenn nicht

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

Versetzen Sie alle Übertragungen in einen einsatzbereiten Standardstatus, speichern Sie WeaveExchangeManager und alle anderen erforderlichen Weave-Ressourcen und legen Sie "allowBdxTransferToRun(true)" fest.

Details
Parameter
[in] anExchangeMgr
Ein Anzeigenplattform-Manager, der für diese Bulk-Übertragung verwendet werden soll.
Rückgabewerte
WEAVE_NO_ERROR
bei Erfolg
WEAVE_ERROR_INCORRECT_STATE
Wenn mExchangeMgr nicht null ist, bereits initialisiert ist.

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
)

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
)

Falls verfügbar, können Sie einen neuen BDXTransfer aus dem Übertragungspool abrufen und einrichten. Andernfalls wird er auf NULL gesetzt und ein Fehler zurückgegeben.

Details
Parameter
[in] aBinding
Die Binding (Bindung) an den Knoten, mit dem die Übertragung initiiert wird. Damit wird ein zugehöriger ExchangeContext für diese Übertragung erstellt.
[in] aBDXHandlers
Eine Struktur aus BDX-Callback-Handlern, die während der Übertragung aufgerufen werden sollen
[in] aFileDesignator
Die Dateibezeichnung der Datei, die übertragen wird.
[in] anAppState
Ein anwendungsspezifisches Statusobjekt, das zur Verwendung durch die Nutzeranwendung und zugehörige Rückrufe an BDXTransfer angehängt wird.
[in] aXfer
Ein übergebener Referenzzeiger, der auf das neue BDXTransfer-Objekt verweist, sofern eines verfügbar ist, andernfalls auf NULL.
Rückgabewerte
WEAVE_NO_ERROR
Wenn ein neuer BDXTransfer gefunden wurde.
WEAVE_ERROR_NO_MEMORY
Wenn ExchangeContext nicht erstellt werden kann
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Wenn derzeit zu viele Übertragungen aktiv sind und aXfer den Wert NULL hat
WEAVE_ERROR_INCORRECT_STATE
Wenn aBinding nicht vorbereitet ist

NewTransfer

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

Falls verfügbar, können Sie einen neuen BDXTransfer aus dem Übertragungspool abrufen und einrichten. Andernfalls wird er auf NULL gesetzt und ein Fehler zurückgegeben.

Details
Parameter
[in] aCon
Die WeaveConnection zum Knoten, mit dem die Übertragung gestartet wird. Damit wird ein zugehöriger ExchangeContext für diese Übertragung erstellt.
[in] aBDXHandlers
Eine Struktur aus BDX-Callback-Handlern, die während der Übertragung aufgerufen werden sollen
[in] aFileDesignator
Die Dateibezeichnung der Datei, die übertragen wird.
[in] anAppState
Ein anwendungsspezifisches Statusobjekt, das zur Verwendung durch die Nutzeranwendung und zugehörige Rückrufe an BDXTransfer angehängt wird.
[in] aXfer
Ein übergebener Referenzzeiger, der auf das neue BDXTransfer-Objekt verweist, sofern eines verfügbar ist, andernfalls auf NULL.
Rückgabewerte
WEAVE_NO_ERROR
Wenn ein neuer BDXTransfer gefunden wurde.
WEAVE_ERROR_NO_MEMORY
Wenn ExchangeContext nicht erstellt werden kann
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Wenn derzeit zu viele Übertragungen aktiv sind und aXfer den Wert NULL hat
WEAVE_ERROR_INCORRECT_STATE
Wenn mExchangeMgr noch nicht festgelegt wurde oder wenn aCon nicht erfolgreich verbunden wurde.

Herunterfahren

WEAVE_ERROR Shutdown(
  void
)

Beendet alle Übertragungen und gibt alle Weave-Ressourcen frei (setzt mExchangeMgr derzeit auf NULL).

Legt „AllowBdxTransferToRun(false)“ fest und trennt alle aktuellen Rückrufe (z. B. SendInitHandler).

Details
Rückgabe
WEAVE_NO_ERROR bei erfolgreicher Beendigung; anderer Fehler, wenn AwaitBdxSend/ReceiveInit einen Fehler zurückgibt

Öffentliche statische Funktionen

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
)

Fahren Sie das angegebene Übertragungsobjekt herunter und stellen Sie es in den Pool zurück.

Dadurch wird lediglich BDXTransfer::Shutdown() übergeben.

Details
Parameter
[in] aXfer
Der zu beendende BDXTransfer