nl::Weave::Profiles::BDX_Development::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
เปิดใช้ (จริง) หรือปิดใช้ (เท็จ)

AwaitBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

AwaitBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

BdxNode

 BdxNode(
  void
)

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

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

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

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

รายละเอียด
การส่งคืน
true หากอนุญาตการโอน BDX และเป็น false หากไม่ เป็น false

เริ่มต้น

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 ถ้าออบเจ็กต์นี้ได้มีการเริ่มต้น

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
หากไม่ได้เตรียม 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
หากมีการโอนที่ใช้งานอยู่มากเกินไปและ AXfer มีค่าเป็น NULL
WEAVE_ERROR_INCORRECT_STATE
หากยังไม่มีการตั้งค่า mExchangeMgr หรือ aCon เชื่อมต่อไม่สําเร็จ

ปิดการทำงาน

WEAVE_ERROR Shutdown(
  void
)

ปิดการโอนทั้งหมดและปล่อยทรัพยากร Weave ทั้งหมด (ปัจจุบันตั้งค่า mExchangeMgr เป็น NULL)

ตั้งค่า AllowBdxTransferToRun(false) และยกเลิกการเชื่อมต่อ Callback ปัจจุบัน (เช่น 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 ที่จะปิดเครื่อง