nl::Weave::الملفات الشخصية::BDX_تطوير التطبيقات::BdxNode

الملخّص

الماكينات والبناء

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

وظائف عامة

AllowBdxTransferToRun(bool aEnable)
void
يُستخدم لتفعيل/إيقاف خادم BDX بدون إغلاقه بالكامل وإعادة تشغيله.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
عرض "صحيح" إذا تم السماح لخادم BDX ببدء عملية نقل في الوقت الحالي، أو خطأ "غير ذلك".
Init(WeaveExchangeManager *anExchangeMgr)
يمكنك وضع جميع عمليات النقل في حالة تلقائية جاهزة للاستخدام، وتخزين WeaveExchangeManager وأي موارد ضرورية أخرى من Weave، وضبط allowBdxTransportToRun(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 هذا من قبل.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
يمكنك الحصول على BDXTransport جديد من مجموعة النقل إن وُجدت، وإعدادها على NULL بخلاف ذلك وعرض رسالة خطأ.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
يمكنك الحصول على BDXTransport جديد من مجموعة النقل إن وُجدت، وإعدادها على 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
يجب إيقاف كائن النقل المعيّن وإرجاعه إلى المجموعة.

وظائف عامة

AllowBdxTransportToRun

void AllowBdxTransferToRun(
  bool aEnable
)

يُستخدم لتفعيل/إيقاف خادم BDX بدون إغلاقه بالكامل وإعادة تشغيله.

التفاصيل
المعلَمات
[in] aEnable
تفعيل (صحيح) أو إيقاف (خطأ)

لعبة APendingBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

انتظار قيد الإرسال

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

عقدة Bdx

 BdxNode(
  void
)

طريقة إنشاء تلقائية تضبط جميع الأعضاء على فارغ.

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

CanBdxTransportRun

bool CanBdxTransferRun(
  void
)

عرض "صحيح" إذا تم السماح لخادم BDX ببدء عملية نقل في الوقت الحالي، أو خطأ "غير ذلك".

التفاصيل
المرتجعات
true في حال السماح بتحويل BDX على "false" إذا لم يكن الأمر كذلك

إنيت

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

يمكنك وضع جميع عمليات النقل في حالة تلقائية جاهزة للاستخدام، وتخزين WeaveExchangeManager وأي موارد ضرورية أخرى من Weave، وضبط allowBdxTransportToRun(true).

التفاصيل
المعلَمات
[in] anExchangeMgr
مدير تبادل لاستخدامه في عملية النقل المجمّع.
قيم الإرجاع
WEAVE_NO_ERROR
في حال نجاح العملية
WEAVE_ERROR_INCORRECT_STATE
في حال عدم توفّر mExchangeMgr't فارغ، يتم إعداده مسبقًا

تلقّي InitBdx

WEAVE_ERROR InitBdxReceive(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

IntBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

IntBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

مهيأ

bool IsInitialized(
  void
)

عرض "صحيح" إذا تم إعداد BdxNode هذا من قبل.

التفاصيل
المرتجعات
صحيح إذا تم إعداد هذا الكائن

نقل جديد

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

يمكنك الحصول على BDXTransport جديد من مجموعة النقل إن وُجدت، وإعدادها على NULL بخلاف ذلك وعرض رسالة خطأ.

التفاصيل
المعلَمات
[in] aBinding
عملية الربط بالعقدة وسنبدأ عملية النقل باستخدامها. وتُستخدم في إنشاء ExchangeContext مرتبط لعملية النقل هذه.
[in] aBDXHandlers
بنية معالجات رد الاتصال في BDX لاستدعاءها أثناء عملية النقل
[in] aFileDesignator
مُعرِّف الملف للملف الذي سيتم نقله.
[in] anAppState
يتم تضمين عنصر حالة خاص بالتطبيق لـ BDXTransport لاستخدامه من خلال تطبيق المستخدم وعمليات الاستدعاء المرتبطة.
[in] aXfer
مؤشر تمرير مرجعي سيشير إلى عنصر BDXTransport الجديد في حال توفّر، بخلاف NULL.
قيم الإرجاع
WEAVE_NO_ERROR
في حال العثور على BDXTransport جديد.
WEAVE_ERROR_NO_MEMORY
تعذَّر إنشاء ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
هناك عدد كبير جدًا من عمليات النقل نشطة حاليًا وكان aXfer فارغًا
WEAVE_ERROR_INCORRECT_STATE
في حال عدم تحضير عملية الربط

نقل جديد

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

يمكنك الحصول على BDXTransport جديد من مجموعة النقل إن وُجدت، وإعدادها على NULL بخلاف ذلك وعرض رسالة خطأ.

التفاصيل
المعلَمات
[in] aCon
WeaveConnection إلى العقدة التي سنبدأ عملية النقل بها. وتُستخدم في إنشاء ExchangeContext مرتبط لعملية النقل هذه.
[in] aBDXHandlers
بنية معالجات رد الاتصال في BDX لاستدعاءها أثناء عملية النقل
[in] aFileDesignator
مُعرِّف الملف للملف الذي سيتم نقله.
[in] anAppState
يتم تضمين عنصر حالة خاص بالتطبيق لـ BDXTransport لاستخدامه من خلال تطبيق المستخدم وعمليات الاستدعاء المرتبطة.
[in] aXfer
مؤشر تمرير مرجعي سيشير إلى عنصر BDXTransport الجديد في حال توفّر، بخلاف NULL.
قيم الإرجاع
WEAVE_NO_ERROR
في حال العثور على BDXTransport جديد.
WEAVE_ERROR_NO_MEMORY
تعذَّر إنشاء ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
هناك عدد كبير جدًا من عمليات النقل نشطة حاليًا وكان aXfer فارغًا
WEAVE_ERROR_INCORRECT_STATE
إذا لم يتم ضبط mExchangeMgr حتى الآن أو إذا لم يتم ربط aCon بنجاح

إيقاف التشغيل

WEAVE_ERROR Shutdown(
  void
)

يتم إيقاف جميع عمليات النقل وإصدار أي موارد Weave (تضبط حاليًا mExchangeMgr على NULL).

لضبط AllowBdxTransportToRun(false) وإلغاء ربط أي استدعاءات حالية (على سبيل المثال، SendInitHandler).

التفاصيل
المرتجعات
WEAVE_NO_ERROR إذا تم الإغلاق بنجاح، يمكن أن يحدث خطأ آخر إذا كان APendingBdxSend/ReceivedInit يعرض خطأً

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

مقبض الاستقبال

void 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
)

يجب إيقاف كائن النقل المعيّن وإرجاعه إلى المجموعة.

ويعتمد ذلك على التوجيه إلى BDXTransport::Shutdown().

التفاصيل
المعلَمات
[in] aXfer
إيقاف BDXTransport