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

ملخّص

الدلالة والهياكل

BdxNode(void)
الدالة الإنشائية التلقائية التي تُعيِّن جميع الأعضاء على قيمة فارغة.

الدوال العامة

AllowBdxTransferToRun(bool aEnable)
void
استخدمه لتفعيل/إيقاف خادم BDX بدون إيقافه تمامًا وإعادة تشغيله.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
يتم عرض "true" إذا كان خادم BDX مسموحًا له ببدء عملية نقل في الوقت الحالي، أو "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
يتم عرض true إذا سبق وتم إعداد BdxNode هذه.
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
تفعيل (صحيح) أو إيقافه (خطأ)

AwaitBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

AwaitBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

BdxNode

 BdxNode(
  void
)

الدالة الإنشائية التلقائية التي تُعيِّن جميع الأعضاء على قيمة فارغة.

لا تحاول فعل أي شيء مع الخادم حتى تستدعي init() على الأقل.

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

يتم عرض "true" إذا كان خادم BDX مسموحًا له ببدء عملية نقل في الوقت الحالي، أو "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
)

IsInitialized

bool IsInitialized(
  void
)

يتم عرض true إذا سبق وتم إعداد BdxNode هذه.

التفاصيل
المرتجعات
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
في حال عدم إعداد aبينing

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 في حال إيقاف التشغيل بنجاح، ويظهر خطأ آخر إذا كان AانتظارBdxSend/تلقيInit يعرض رسالة خطأ

الدوال الثابتة العامة

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