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
)

BdxNode

 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
)

IsInitialized

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
現在アクティブになっている転送が多すぎて Xfer が 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
現在アクティブになっている転送が多すぎて Xfer が 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
)

ShutdownTransfer

void ShutdownTransfer(
  BDXTransfer *aXfer
)

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

これは、単に BDXTransfer::Shutdown() が延期されます。

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