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

Tóm tắt

Hàm khởi tạo và hàm phá

BdxNode(void)
Hàm khởi tạo mặc định đặt tất cả thành phần thành NULL.

Hàm công khai

AllowBdxTransferToRun(bool aEnable)
void
Sử dụng để bật/tắt máy chủ BDX mà không cần tắt và khởi động lại hoàn toàn.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
Trả về giá trị true nếu máy chủ BDX được phép bắt đầu quá trình chuyển vào thời điểm này, nếu không giá trị trả về sẽ là false.
Init(WeaveExchangeManager *anExchangeMgr)
Đặt tất cả các tệp chuyển về trạng thái mặc định đã sẵn sàng để sử dụng, lưu trữ WeaveExchangeManager và mọi tài nguyên Weave cần thiết khác và đặt 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
Trả về true nếu BdxNode này đã được khởi động.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Lấy và thiết lập một BDXTransfer mới từ nhóm truyền (nếu có) hoặc đặt thành NULL (Rỗng) và trả về một lỗi.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Lấy và thiết lập một BDXTransfer mới từ nhóm truyền (nếu có) hoặc đặt thành NULL (Rỗng) và trả về một lỗi.
Shutdown(void)
Tắt tất cả quá trình truyền và giải phóng mọi tài nguyên Weave (hiện đặt mExchangeMgr thành NULL).

Hàm tĩnh công khai

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
Tắt đối tượng chuyển đã cho và đưa đối tượng đó vào nhóm.

Hàm công khai

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

Sử dụng để bật/tắt máy chủ BDX mà không cần tắt và khởi động lại hoàn toàn.

Thông tin chi tiết
Các tham số
[in] aEnable
Bật (true) hoặc tắt (false)

AwaitBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

AwaitBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

BdxNode

 BdxNode(
  void
)

Hàm khởi tạo mặc định đặt tất cả thành phần thành NULL.

Đừng cố làm bất cứ điều gì với máy chủ cho đến khi bạn ít nhất đã gọi init().

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

Trả về giá trị true nếu máy chủ BDX được phép bắt đầu quá trình chuyển vào thời điểm này, nếu không giá trị trả về sẽ là false.

Thông tin chi tiết
Trả về
true nếu cho phép chuyển BDX, false nếu không cho phép

Bắt đầu

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

Đặt tất cả các tệp chuyển về trạng thái mặc định đã sẵn sàng để sử dụng, lưu trữ WeaveExchangeManager và mọi tài nguyên Weave cần thiết khác và đặt allowBdxTransferToRun(true).

Thông tin chi tiết
Các tham số
[in] anExchangeMgr
Trình quản lý sàn giao dịch để sử dụng cho hoạt động chuyển hàng loạt này.
Giá trị trả về
WEAVE_NO_ERROR
nếu thành công
WEAVE_ERROR_INCORRECT_STATE
nếu mExchangeMgr không phải là giá trị rỗng, đã được khởi tạo

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
)

Trả về true nếu BdxNode này đã được khởi động.

Thông tin chi tiết
Trả về
true nếu đối tượng này đã được khởi tạo

NewTransfer

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

Lấy và thiết lập một BDXTransfer mới từ nhóm truyền (nếu có) hoặc đặt thành NULL (Rỗng) và trả về một lỗi.

Thông tin chi tiết
Các tham số
[in] aBinding
Liên kết với nút mà chúng ta sẽ bắt đầu quá trình chuyển. Giá trị này được dùng để tạo một ExchangeContext liên kết cho quá trình chuyển này.
[in] aBDXHandlers
Cấu trúc trình xử lý gọi lại BDX sẽ được gọi trong quá trình chuyển
[in] aFileDesignator
Người chỉ định tệp cho tệp sẽ được chuyển.
[in] anAppState
Một đối tượng trạng thái dành riêng cho ứng dụng sẽ được đính kèm vào BDXTransfer để ứng dụng của người dùng và các lệnh gọi lại được liên kết sử dụng.
[in] aXfer
Con trỏ tham chiếu đã chuyển đến đối tượng BDXTransfer mới nếu có, nếu không có giá trị NULL.
Giá trị trả về
WEAVE_NO_ERROR
Nếu chúng tôi tìm thấy một BDXTransfer mới.
WEAVE_ERROR_NO_MEMORY
Nếu không thể tạo ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Nếu có quá nhiều quá trình chuyển hiện đang hoạt động và aXfer là NULL
WEAVE_ERROR_INCORRECT_STATE
Nếu chưa chuẩn bị aBinding

NewTransfer

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

Lấy và thiết lập một BDXTransfer mới từ nhóm truyền (nếu có) hoặc đặt thành NULL (Rỗng) và trả về một lỗi.

Thông tin chi tiết
Các tham số
[in] aCon
WeaveConnection đến nút mà chúng ta sẽ bắt đầu quá trình chuyển. Giá trị này được dùng để tạo một ExchangeContext liên kết cho quá trình chuyển này.
[in] aBDXHandlers
Cấu trúc trình xử lý gọi lại BDX sẽ được gọi trong quá trình chuyển
[in] aFileDesignator
Người chỉ định tệp cho tệp sẽ được chuyển.
[in] anAppState
Một đối tượng trạng thái dành riêng cho ứng dụng sẽ được đính kèm vào BDXTransfer để ứng dụng của người dùng và các lệnh gọi lại được liên kết sử dụng.
[in] aXfer
Con trỏ tham chiếu đã chuyển đến đối tượng BDXTransfer mới nếu có, nếu không có giá trị NULL.
Giá trị trả về
WEAVE_NO_ERROR
Nếu chúng tôi tìm thấy một BDXTransfer mới.
WEAVE_ERROR_NO_MEMORY
Nếu không thể tạo ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Nếu có quá nhiều quá trình chuyển hiện đang hoạt động và aXfer là NULL
WEAVE_ERROR_INCORRECT_STATE
Nếu mExchangeMgr chưa được thiết lập hoặc nếu aCon chưa kết nối thành công

Tắt

WEAVE_ERROR Shutdown(
  void
)

Tắt tất cả quá trình truyền và giải phóng mọi tài nguyên Weave (hiện đặt mExchangeMgr thành NULL).

Đặt AllowBdxTransferToRun(false) và ngắt kết nối mọi lệnh gọi lại hiện tại (ví dụ: SendInitHandler).

Thông tin chi tiết
Trả về
WEAVE_NO_ERROR nếu tắt thành công, lỗi khác nếu AwaitBdxSend/ReceiveInit trả về lỗi

Hàm tĩnh công khai

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
)

Tắt đối tượng chuyển đã cho và đưa đối tượng đó vào nhóm.

Việc này chỉ đơn giản là trì hoãn việc BDXTransfer::Shutdown()

Thông tin chi tiết
Các tham số
[in] aXfer
BDXTransfer sắp ngừng hoạt động