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.
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

nl::Weave::Profiles::DataManagement_Current::Commandsender

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

Tóm tắt

Lưu ý:Lớp này đóng gói thông tin chi tiết về giao thức của lệnh gửi, đơn giản hóa cơ chế liên quan đến các ứng dụng. Ứng dụng này cung cấp một PacketBuffer chứa phần dữ liệu tải của lệnh cũng như một tập hợp các đối số không bắt buộc để 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 khi xử lý lệnh thực sự bị hạn chế, chủ yếu do tính 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/tuần tự giảm dữ liệu.

Thông tin chi tiết về việc xác thực lệnh vẫn là TBD

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

Dệt liên kết

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

Lệnh gọi lại sự kiện

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). Giá trị này có thể là NULL nếu người dùng không quan tâm điều gì sẽ xảy ra sau khi gửi lệnh.

Sự kiện API

Sau đây là các sự kiện có thể xảy ra sau khi gửi lệnh:

Lỗi kết nối

Đã xảy ra lỗi khi tạo hoặc gửi Command hoặc trong khi chờ phản hồi. Ví dụ về các lỗi có thể xảy ra khi chờ phản hồi là các lỗi chính hoặc tình trạng kết nối bất ngờ. Lý do lỗi sẽ được đưa vào đối số InEventParam đối với trình xử lý eventCallback.

Đang nhận

Người nhận có thể gửi thông báo\39;đang xử lý#39; cho biết rằng Command đã được nhận, nhưng chưa hoàn thành. Sau khi hoàn thành, người nhận sẽ gửi Phản hồi hoặc Trạng thái. Đang gửi tin nhắn & # 39; không bắt buộc.

Đã nhận được báo cáo trạng thái

Việc nhận thông báo Trạng thái cho biết đã có lỗi khi xử lý Command. Bạn có thể truy cập vào Báo cáo trạng thái thông qua InEventParam.

Đã nhận được phản hồi

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

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 khai

mAppState = NULL
void *
mSyncronizedTraitState = NULL

Hàm tĩnh công khai

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

Hàm công khai

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 do người nhận lệnh tùy chỉnh trả về cho người gửi.

nl::Weave::Profiles::DataManagement_Current::Commandsender::OutEventParam

Dữ liệu được trả về trở lại đối tượng CommandCommand từ một hàm EventCallback.

nl::Weave::Profiles::DataManagement_Current::Commandsender::SendParams

Đóng gói các đối số cần chuyển vào SendCommand().

nl::Weave::Profiles::DataManagement_Current::Commandsender::SyncdTraitState

Loại công khai

Lệnh gọi lại sự kiện

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

Loại sự kiện

 EventType

Thuộc tính công khai

mAppState

void * mAppState = NULL

mSyncronizeTraitState

SynchronizedTraitState * mSyncronizedTraitState = NULL

Hàm tĩnh công khai

Trình xử lý sự kiện mặc định

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

Hàm công khai

Đóng

void Close(
  bool aAbortNow
)

Số nguyên

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

Lệnh gửi

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

Lệnh gửi

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

SetSyncdTraitState

void SetSynchronizedTraitState(
  SynchronizedTraitState *aTraitState
)