Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Dệt :: Hồ sơ :: DataManagement_Current :: CommandSender

#include <src/lib/profiles/data-management/Current/CommandSender.h>

Tóm lược

Lưu ý: Lớp này đóng gói các chi tiết giao thức của việc gửi lệnh, đơn giản hóa cơ chế liên quan cho các ứng dụng. Ứng dụng cung cấp PacketBuffer chứa trọng tải của lệnh cũng như một tập hợp các đối số tùy chọn làm thay đổi nội dung của tiêu đề lệnh cũng như hành vi của lệnh. Tiện ích của trình bao bọc này xung quanh việc xử lý lệnh thực sự bị hạn chế, chủ yếu là do sự phức tạp / linh hoạt liên quan đến xác thực bảo mật và tuần tự hóa / hủy tuần tự hóa dữ liệu.

Chi tiết để xác thực lệnh vẫn là TBD

Lớp này cũng giúp các ứng dụng suy ra nếu dữ liệu trong một TraitDataSink được liên kết đã bắt kịp các tác dụng phụ của lệnh commmand (dựa trên phiên bản được cung cấp trong phản hồi lệnh). Ứng dụng có trách nhiệm quản lý lưu trữ của đối tượng đó.

Weave Binding

Một đối tượng của lớp này có thể được phức tạp hóa bằng Weave Binding , nó sẽ đóng vai trò là Binding mặc định được sử dụng để gửi các Lệnh. Người dùng cũng có thể cung cấp Binding cho mỗi lệnh gọi SendCommand (), nó sẽ ghi đè lên Binding mặc định. Không cần thiết phải cung cấp ràng buộc mặc định, tuy nhiên bất kỳ ràng buộc nào được cung cấp cho CommandSender đều phải được khởi tạo.

EventCallback

Người dùng phải xác định một hàm thuộc loại này nếu họ muốn được cập nhật về các sự kiện xảy ra sau khi gửi lệnh (xem "Sự kiện API" bên dưới). Điều này có thể là NULL nếu người dùng không quan tâm điều gì xảy ra sau khi lệnh được gửi.

Sự kiện API

Các sự kiện sau đây là kết quả có thể xảy ra sau khi gửi Lệnh :

CommunicationError

Đã xảy ra lỗi khi tạo hoặc gửi Lệnh hoặc trong khi chờ phản hồi. Ví dụ về các lỗi có thể xảy ra trong khi chờ phản hồi là lỗi chính hoặc đóng kết nối không mong muốn. Lý do báo lỗi sẽ được chứa trong các InEventParam lập luận để xử lý EventCallback.

InProgressRenition

Người nhận có thể gửi một thông báo 'đang xử lý' cho biết rằng Lệnh đã được nhận, nhưng chưa được hoàn thành. Sau khi hoàn tất, người nhận sẽ gửi Phản hồi hoặc Báo cáo trạng thái. Không cần gửi thông báo 'đang xử lý'.

StatusReportReceive

Receipt của một StatusReport ngụ ý rằng đã xảy ra lỗi khi xử lý Lệnh . StatusReport có thể được truy cập thông qua InEventParam .

Đáp ứng nhận được

Nhận được Phản hồi ngụ ý rằng người nhận Lệnh đã xử lý Lệnh thành công. Phản hồi có thể chứa một trọng tải hoặc có thể không. Nếu applcation muốn giữ bộ đệm gói, nó có thể gọi ExchangeContext :: AddRef () để tăng số lượng tham chiếu.

Các loại công khai

EventCallback )(void *const aAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutEventParam) typedef
void(*
EventType enum

Thuộc tính công cộng

mAppState = NULL
void *
mSyncronizedTraitState = NULL

Chức năng tĩnh công khai

DefaultEventHandler (void *aAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
void

Chức năng công cộng

Close (bool aAbortNow)
void
Init ( nl::Weave::Binding *aBinding, const EventCallback aEventCallback, void *const aAppState)
SendCommand ( nl::Weave::PacketBuffer *aPayload, nl::Weave::Binding *aBinding, ResourceIdentifier & aResourceId, uint32_t aProfileId, uint32_t aCommandType)
SendCommand ( nl::Weave::PacketBuffer *aPayload, nl::Weave::Binding *aBinding, SendParams & aSendParams)
SetSynchronizedTraitState ( SynchronizedTraitState *aTraitState)
void

Cấu trúc

nl :: Weave :: Profiles :: DataManagement_Current :: CommandSender :: InEventParam

Dữ liệu được trả lại cho người gửi bởi người nhận lệnh tùy chỉnh.

nl :: Weave :: Profiles :: DataManagement_Current :: CommandSender :: OutEventParam

Dữ liệu trở lại đối tượng CommandSender từ một hàm EventCallback.

nl :: Weave :: Profiles :: DataManagement_Current :: CommandSender :: SendParams

Đóng gói các đối số sẽ được truyền vào SendCommand ().

nl :: Weave :: Profiles :: DataManagement_Current :: CommandSender :: SynchronizedTraitState

Các loại công khai

EventCallback

void(* EventCallback)(void *const aAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutEventParam)

Loại sự kiện

 EventType

Thuộc tính công cộng

mAppState

void * mAppState = NULL

mSyncronizedTraitState

SynchronizedTraitState * mSyncronizedTraitState = NULL

Chức năng tĩnh công khai

DefaultEventHandler

void DefaultEventHandler(
  void *aAppState,
  EventType aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

Chức năng công cộng

Đóng

void Close(
  bool aAbortNow
)

Trong đó

WEAVE_ERROR Init(
  nl::Weave::Binding *aBinding,
  const EventCallback aEventCallback,
  void *const aAppState
)

SendCommand

WEAVE_ERROR SendCommand(
  nl::Weave::PacketBuffer *aPayload,
  nl::Weave::Binding *aBinding,
  ResourceIdentifier & aResourceId,
  uint32_t aProfileId,
  uint32_t aCommandType
)

SendCommand

WEAVE_ERROR SendCommand(
  nl::Weave::PacketBuffer *aPayload,
  nl::Weave::Binding *aBinding,
  SendParams & aSendParams
)

SetSynchronizedTraitState

void SetSynchronizedTraitState(
  SynchronizedTraitState *aTraitState
)