nl::Weave::โปรไฟล์::BDX_ Developmentment::BdxNode

สรุป

เครื่องมือสร้างและตัวสร้าง

BdxNode(void)
เครื่องมือสร้างเริ่มต้นที่ตั้งสมาชิกทั้งหมดเป็น NULL

ฟังก์ชันสาธารณะ

AllowBdxTransferToRun(bool aEnable)
void
ใช้เปิด/ปิดใช้เซิร์ฟเวอร์ BDX โดยไม่ปิดโดยสมบูรณ์และรีสตาร์ท
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
แสดงผลเป็น "จริง" หากเซิร์ฟเวอร์ BDX ได้รับอนุญาตให้เริ่มโอนได้ในตอนนี้ หากเป็นเท็จ ให้ลบออก
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 ไว้แล้ว
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
เปิดใช้ (จริง) หรือปิดใช้ (เท็จ)

รอรหัส

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

รอการกําหนด

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

โหนด Bdx

 BdxNode(
  void
)

เครื่องมือสร้างเริ่มต้นที่ตั้งสมาชิกทั้งหมดเป็น NULL

อย่าพยายามดําเนินการใดๆ กับเซิร์ฟเวอร์จนกว่าคุณจะจนกว่าคุณจะได้ใช้ init() เป็นอย่างน้อย

CanBdxtransferRun

bool CanBdxTransferRun(
  void
)

แสดงผลเป็น "จริง" หากเซิร์ฟเวอร์ BDX ได้รับอนุญาตให้เริ่มโอนได้ในตอนนี้ หากเป็นเท็จ ให้ลบออก

รายละเอียด
การคืนสินค้า
true หากอนุญาตให้โอน BDX เป็น False หากไม่ใช่

เริ่ม

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

ตั้งสถานะการโอนทั้งหมดเป็นสถานะเริ่มต้นที่พร้อมใช้งาน จัดเก็บ WeaveExchangeManager และทรัพยากร Weave อื่นๆ ที่จําเป็น แล้วตั้งค่า allowBdxtransferToRun(true)

รายละเอียด
พารามิเตอร์
[in] anExchangeMgr
ผู้จัดการ Exchange ที่จะใช้สําหรับการดําเนินการโอนเป็นกลุ่มนี้
แสดงผลค่า
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 ใหม่จากพูลการโอน (หากมี) หรือตั้งค่าเป็น 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 ใหม่จากพูลการโอน (หากมี) หรือตั้งค่าเป็น 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)

รายละเอียด
การคืนสินค้า
WEhave_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 เพื่อปิดเครื่อง