Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

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

まとめ

コンストラクタとデストラクタ

BdxNode(void)
すべてのメンバーを NULL に設定するデフォルトのコンストラクタ。

パブリック関数

AllowBdxTransferToRun(bool aEnable)
void
BDX サーバーを完全にシャットダウンして再起動せずに有効または無効にする場合に使用します。
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
BDX サーバーがその時点で転送を開始できる場合は true、それ以外の場合は false を返します。
Init(WeaveExchangeManager *anExchangeMgr)
すべての転送をデフォルトの状態にして WeaveExchangeManager とその他の必要な Weave リソースを保存し、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
この BdxNode がすでに初期化されている場合は true を返します。
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
可能であれば、転送プールから新しい BDXTransfer を取得して設定します。それ以外の場合は、NULL に設定してエラーを返します。
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
可能であれば、転送プールから新しい BDXTransfer を取得して設定します。それ以外の場合は、NULL に設定してエラーを返します。
Shutdown(void)
すべての転送をシャットダウンし、Weave リソースを解放します(現在、mExchangeMgr は NULL に設定されています)。

静的パブリック関数

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
指定された転送オブジェクトをシャットダウンして、プールに戻します。

パブリック関数

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

BDX サーバーを完全にシャットダウンして再起動せずに有効または無効にする場合に使用します。

詳細
パラメータ
[in] aEnable
有効(true)または無効(false)

AwaitBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

AwaitBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

Node.Node

 BdxNode(
  void
)

すべてのメンバーを NULL に設定するデフォルトのコンストラクタ。

少なくとも init() を呼び出すまではサーバーに対して何もしないでください。

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

BDX サーバーがその時点で転送を開始できる場合は true、それ以外の場合は false を返します。

詳細
戻り値
BDX 転送が許可されている場合は true、許可されていない場合は false

init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

すべての転送をデフォルトの状態にして WeaveExchangeManager とその他の必要な Weave リソースを保存し、allowBdxTransferToRun(true) を設定します。

詳細
パラメータ
[in] anExchangeMgr
この一括転送オペレーションに使用するエクスチェンジ マネージャー。
戻り値
WEAVE_NO_ERROR
成功した場合
WEAVE_ERROR_INCORRECT_STATE
mExchangeMgr が null でない場合、すでに初期化されています

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
)

初期化済み

bool IsInitialized(
  void
)

この BdxNode がすでに初期化されている場合は true を返します。

詳細
戻り値
このオブジェクトが初期化されている場合は true

NewTransfer

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

可能であれば、転送プールから新しい BDXTransfer を取得して設定します。それ以外の場合は、NULL に設定してエラーを返します。

詳細
パラメータ
[in] aBinding
転送を開始するノードへのバインディング。この転送に関連する ExchangeContext を作成するために使用されます。
[in] aBDXHandlers
転送時に呼び出される BDX コールバック ハンドラの構造
[in] aFileDesignator
転送されるファイルのファイル指定子。
[in] anAppState
ユーザー アプリケーションおよび関連するコールバックで使用するために BDXTransfer に追加されるアプリケーション固有の状態オブジェクト。
[in] aXfer
新しい BDXTransfer オブジェクト(使用可能な場合)または NULL を指す参照によるポインタ。
戻り値
WEAVE_NO_ERROR
新しい BDXTransfer が見つかった場合。
WEAVE_ERROR_NO_MEMORY
ExchangeContext を作成できない場合
WEAVE_ERROR_TOO_MANY_CONNECTIONS
現在アクティブな転送の数が多く、aXfer が NULL の場合
WEAVE_ERROR_INCORRECT_STATE
aBinding が準備されていない場合

NewTransfer

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

可能であれば、転送プールから新しい BDXTransfer を取得して設定します。それ以外の場合は、NULL に設定してエラーを返します。

詳細
パラメータ
[in] aCon
転送を開始するノードへの WeaveConnection。この転送に関連する ExchangeContext を作成するために使用されます。
[in] aBDXHandlers
転送時に呼び出される BDX コールバック ハンドラの構造
[in] aFileDesignator
転送されるファイルのファイル指定子。
[in] anAppState
ユーザー アプリケーションおよび関連するコールバックで使用するために BDXTransfer に追加されるアプリケーション固有の状態オブジェクト。
[in] aXfer
新しい BDXTransfer オブジェクト(使用可能な場合)または NULL を指す参照によるポインタ。
戻り値
WEAVE_NO_ERROR
新しい BDXTransfer が見つかった場合。
WEAVE_ERROR_NO_MEMORY
ExchangeContext を作成できない場合
WEAVE_ERROR_TOO_MANY_CONNECTIONS
現在アクティブな転送の数が多く、aXfer が NULL の場合
WEAVE_ERROR_INCORRECT_STATE
mExchangeMgr がまだ設定されていない場合、または aCon が正常に接続されていない場合

シャットダウン

WEAVE_ERROR Shutdown(
  void
)

すべての転送をシャットダウンし、Weave リソースを解放します(現在、mExchangeMgr は NULL に設定されています)。

AllowBdxTransferToRun(false) を設定し、現在のコールバック(SendInitHandler など)をすべて切断します。

詳細
戻り値
WEAVE_NO_ERROR(正常にシャットダウンされた場合)、または AwaitBdxSend / ReceiveInit がエラーを返した場合その他のエラー

静的パブリック関数

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
)

シャットダウン転送

void ShutdownTransfer(
  BDXTransfer *aXfer
)

指定された転送オブジェクトをシャットダウンして、プールに戻します。

これは単に BDXTransfer::Shutdown() に従います。

詳細
パラメータ
[in] aXfer
シャットダウンする BDXTransfer