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

Podsumowanie

Konstruktorzy i niszczyciele

BdxNode(void)
Domyślny konstruktor, który ustawia wszystkie elementy na NULL.

Funkcje publiczne

AllowBdxTransferToRun(bool aEnable)
void
Służy do włączania/wyłączania serwera BDX bez pełnego wyłączania i ponownego uruchamiania.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
Zwraca wartość „true” (prawda), jeśli serwer BDX może w tym momencie rozpocząć przesyłanie. W przeciwnym razie zwraca wartość „false” (fałsz).
Init(WeaveExchangeManager *anExchangeMgr)
Ustaw wszystkie transfery w domyślnym stanie gotowym do użycia, zapisz menedżera WeaveExchangeManager i wszystkie inne niezbędne zasoby Weave oraz ustaw wartość 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
Zwraca wartość „true” (prawda), jeśli ten element BdxNode został już zainicjowany.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Uzyskaj i skonfiguruj nowy parametr BDXTransfer z puli transferu (jeśli jest dostępny) lub ustaw wartość NULL w innym przypadku i zwróć błąd.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Uzyskaj i skonfiguruj nowy parametr BDXTransfer z puli transferu (jeśli jest dostępny) lub ustaw wartość NULL w innym przypadku i zwróć błąd.
Shutdown(void)
Wyłącza wszystkie transfery i zwalnia zasoby Weave (obecnie ustawia mExchangeMgr na NULL).

Publiczne funkcje statyczne

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
Wyłącz dany obiekt transferu i zwróć go do puli.

Funkcje publiczne

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

Służy do włączania/wyłączania serwera BDX bez pełnego wyłączania i ponownego uruchamiania.

Szczegóły
Parametry
[in] aEnable
Włącz (prawda) lub wyłącz (fałsz)

AwaitBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

AwaitBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

BdxNode

 BdxNode(
  void
)

Domyślny konstruktor, który ustawia wszystkie elementy na NULL.

Nie próbuj wykonywać żadnych czynności na serwerze, dopóki nie wywołasz co najmniej funkcji init().

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

Zwraca wartość „true” (prawda), jeśli serwer BDX może w tym momencie rozpocząć przesyłanie. W przeciwnym razie zwraca wartość „false” (fałsz).

Szczegóły
Zwroty
true, jeśli transfer BDX jest dozwolony, lub fałsz, jeśli nie jest dostępny

Zainicjuj

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

Ustaw wszystkie transfery w domyślnym stanie gotowym do użycia, zapisz menedżera WeaveExchangeManager i wszystkie inne niezbędne zasoby Weave oraz ustaw wartość allowBdxTransferToRun(true).

Szczegóły
Parametry
[in] anExchangeMgr
Menedżer giełdy, który ma być używany w tej operacji przenoszenia zbiorczego.
Zwracane wartości
WEAVE_NO_ERROR
jeśli operacja się udała
WEAVE_ERROR_INCORRECT_STATE
Jeśli plik mExchangeMgr nie ma wartości null, został już zainicjowany

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
)

Zwraca wartość „true” (prawda), jeśli ten element BdxNode został już zainicjowany.

Szczegóły
Zwroty
true, jeśli ten obiekt został zainicjowany

NewTransfer

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

Uzyskaj i skonfiguruj nowy parametr BDXTransfer z puli transferu (jeśli jest dostępny) lub ustaw wartość NULL w innym przypadku i zwróć błąd.

Szczegóły
Parametry
[in] aBinding
Wiązanie z węzłem, od którego zainicjujemy transfer. Jest ona używana do utworzenia powiązanego elementu ExchangeContext na potrzeby tego transferu.
[in] aBDXHandlers
Struktura modułów obsługi wywołań zwrotnych BDX, które będą wywoływane podczas przenoszenia
[in] aFileDesignator
Oznaczenie pliku, który zostanie przesłany.
[in] anAppState
Własny dla aplikacji obiekt stanu dołączany do BDXTransfer na potrzeby aplikacji użytkownika i powiązanych z nim wywołań zwrotnych.
[in] aXfer
Wskaźnik przekazany przez odwołanie, który będzie wskazywać nowy obiekt BDXTransfer, jeśli będzie dostępny. W przeciwnym razie będzie mieć wartość NULL.
Zwracane wartości
WEAVE_NO_ERROR
Jeśli udało nam się znaleźć nowy BDXTransfer.
WEAVE_ERROR_NO_MEMORY
Jeśli nie można utworzyć elementu ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Jeśli obecnie aktywnych jest zbyt wiele transferów, a aXfer ma wartość NULL
WEAVE_ERROR_INCORRECT_STATE
Jeśli aBinding nie jest przygotowany

NewTransfer

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

Uzyskaj i skonfiguruj nowy parametr BDXTransfer z puli transferu (jeśli jest dostępny) lub ustaw wartość NULL w innym przypadku i zwróć błąd.

Szczegóły
Parametry
[in] aCon
WeaveConnection (Połączenie) z węzłem, za pomocą którego zainicjujemy transfer. Jest ona używana do utworzenia powiązanego elementu ExchangeContext na potrzeby tego transferu.
[in] aBDXHandlers
Struktura modułów obsługi wywołań zwrotnych BDX, które będą wywoływane podczas przenoszenia
[in] aFileDesignator
Oznaczenie pliku, który zostanie przesłany.
[in] anAppState
Własny dla aplikacji obiekt stanu dołączany do BDXTransfer na potrzeby aplikacji użytkownika i powiązanych z nim wywołań zwrotnych.
[in] aXfer
Wskaźnik przekazany przez odwołanie, który będzie wskazywać nowy obiekt BDXTransfer, jeśli będzie dostępny. W przeciwnym razie będzie mieć wartość NULL.
Zwracane wartości
WEAVE_NO_ERROR
Jeśli udało nam się znaleźć nowy BDXTransfer.
WEAVE_ERROR_NO_MEMORY
Jeśli nie można utworzyć elementu ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Jeśli obecnie aktywnych jest zbyt wiele transferów, a aXfer ma wartość NULL
WEAVE_ERROR_INCORRECT_STATE
Jeśli program mExchangeMgr nie został jeszcze skonfigurowany lub nie udało się nawiązać połączenia aCon

Wyłączono

WEAVE_ERROR Shutdown(
  void
)

Wyłącza wszystkie transfery i zwalnia zasoby Weave (obecnie ustawia mExchangeMgr na NULL).

Ustawia atrybut allowBdxTransferToRun(false) i rozłącza wszystkie bieżące wywołania zwrotne (na przykład SendInitHandler).

Szczegóły
Zwroty
Błąd WEAVE_NO_ERROR w przypadku pomyślnego wyłączenia. Jeśli AwaitBdxSend/pickupInit zwraca błąd, pojawia się inny błąd

Publiczne funkcje statyczne

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
)

Wyłącz dany obiekt transferu i zwróć go do puli.

Powoduje to tylko przekierowanie do BDXTransfer::Shutdown()

Szczegóły
Parametry
[in] aXfer
BDXTransfer zostanie wyłączony