Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

nl::Weave::Profil::DataManagement_Current::CommandSender

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

Ringkasan

Catatan:Class ini merangkum detail protokol untuk mengirim perintah, sehingga menyederhanakan mekanika yang digunakan untuk aplikasi. Aplikasi ini menyediakan PacketBuffer yang berisi payload perintah serta kumpulan argumen opsional yang mengubah isi header perintah dan perilaku perintah. Utilitas wrapper ini seputar penanganan perintah memang terbatas, terutama karena kompleksitas/fleksibilitas yang terlibat dalam validasi keamanan dan serialisasi/de-serialisasi data.

Detail untuk validasi perintah masih tersedia

Class ini juga membantu aplikasi menyimpulkan apakah data dalam TraitDataSink terkait telah menangkap efek samping komunikasi (berdasarkan versi yang diberikan dalam respons perintah). Aplikasi bertanggung jawab untuk mengelola penyimpanan objek tersebut.

Menenun Binding

Objek class ini dapat diinisialisasi dengan Binding Weave, yang akan berfungsi sebagai Binding default untuk digunakan untuk mengirim Perintah. Pengguna juga dapat memberikan Binding ke setiap panggilan SendCommand(), yang akan menggantikan Binding default. Anda tidak perlu memberikan Binding default, tetapi binding apa pun yang disediakan untuk CommandSender harus sudah diinisialisasi.

Callback Peristiwa

Pengguna harus menentukan fungsi dari jenis ini jika mereka ingin diperbarui tentang peristiwa yang terjadi setelah pengiriman perintah (lihat "API Events" di bawah). Ini bisa menjadi NULL jika pengguna tidak peduli apa yang terjadi setelah perintah dikirim.

Peristiwa API

Peristiwa berikut adalah kemungkinan hasil setelah mengirim Command:

Error Komunikasi

Terjadi error saat membentuk atau mengirim Perintah, atau saat menunggu respons. Contoh error yang dapat terjadi saat menunggu respons adalah error utama atau penutupan koneksi yang tidak terduga. Alasan error akan dimuat dalam argumen InEventParam untuk pengendali EventCallback.

Dalam Proses Diterima

Penerima dapat mengirim pesan 'dalam proses' yang menandakan bahwa Perintah telah diterima, tetapi belum selesai. Setelah selesai, penerima akan mengirim Respons atau StatusReport. Mengirim pesan 'dalam proses' tidak diperlukan.

StatusLaporan Diterima

Penerimaan StatusReport menunjukkan bahwa terjadi error saat memproses Command. StatusReport dapat diakses melalui InEventParam.

Respons Diterima

Menerima Respons menyiratkan bahwa penerima Command berhasil menangani Command. Respons dapat berisi payload atau tidak. Jika aplikasi ingin mempertahankan buffer paket, aplikasi dapat memanggil ExchangeContext::AddRef() untuk menambah jumlah ref.

Jenis publik

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

Atribut publik

mAppState = NULL
void *
mSyncronizedTraitState = NULL

Fungsi statis publik

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

Fungsi publik

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

Struct

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

Data yang ditampilkan kepada pengirim oleh penerima perintah kustom.

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

Data yang ditampilkan kembali ke objek CommandSender dari fungsi EventCallback.

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

Enkapsulasi argumen yang akan diteruskan ke SendCommand().

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

Jenis publik

Callback Peristiwa

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

Jenis Peristiwa

 EventType

Atribut publik

mAppState

void * mAppState = NULL

mSyncronizedTraitState

SynchronizedTraitState * mSyncronizedTraitState = NULL

Fungsi statis publik

PengendaliPeristiwaDefault

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

Fungsi publik

Tutup

void Close(
  bool aAbortNow
)

Init

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
)

SetSyncdTraitState

void SetSynchronizedTraitState(
  SynchronizedTraitState *aTraitState
)