nl:: بافت:: پروفایل ها:: 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 جدید از انتقال pool دریافت و تنظیم کنید، یا در غیر این صورت روی NULL تنظیم کنید و یک خطا را برگردانید.
NewTransfer ( WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
در صورت وجود، یک BDXTransfer جدید از انتقال pool دریافت و تنظیم کنید، یا در غیر این صورت روی 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
شی انتقال داده شده را خاموش کرده و به pool برگردانید.

توابع عمومی

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

برای فعال/غیرفعال کردن سرور BDX بدون خاموش کردن کامل و راه اندازی مجدد آن استفاده کنید.

جزئیات
مولفه های
[in] aEnable
فعال کردن (درست) یا غیرفعال کردن (نادرست)

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 مجاز باشد، نادرست است اگر نه

شروع کنید

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

تمام انتقال ها را در حالت پیش فرض آماده برای استفاده قرار دهید، WeaveExchangeManager و سایر منابع Weave لازم را ذخیره کنید، و allowBdxTransferToRun (true) را تنظیم کنید.

جزئیات
مولفه های
[in] anExchangeMgr
مدیر صرافی برای استفاده برای این عملیات انتقال انبوه.
ارزش های بازگشتی
WEAVE_NO_ERROR
در صورت موفقیت
WEAVE_ERROR_INCORRECT_STATE
اگر mExchangeMgr تهی نباشد، از قبل مقداردهی شده است

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 برمی‌گرداند.

جزئیات
برمی گرداند
درست است اگر این شی مقداردهی اولیه شده باشد

انتقال جدید

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

در صورت وجود، یک BDXTransfer جدید از انتقال pool دریافت و تنظیم کنید، یا در غیر این صورت روی 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 آماده نشده باشد

انتقال جدید

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

در صورت وجود، یک BDXTransfer جدید از انتقال pool دریافت و تنظیم کنید، یا در غیر این صورت روی 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
)

ShutdownTransfer

void ShutdownTransfer(
  BDXTransfer *aXfer
)

شی انتقال داده شده را خاموش کرده و به pool برگردانید.

این به سادگی به BDXTransfer:: Shutdown () موکول می شود

جزئیات
مولفه های
[in] aXfer
BDXTransfer برای خاموش شدن