Google is committed to advancing racial equity for Black communities. See how.

এনএল :: তাঁত :: প্রোফাইল :: ডেটা ম্যানেজমেন্ট_ বর্তমান: কমান্ডসেন্ডার

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

সারসংক্ষেপ

নোট: এই শ্রেণীর কমান্ড পাঠানোর প্রোটোকল বিবরণ encapsulates, অ্যাপ্লিকেশনের জন্য জড়িত বলবিজ্ঞান সরল। অ্যাপ্লিকেশনটি একটি প্যাকেটফুফার সরবরাহ করে যা কমান্ডের পে-লোড এবং যুক্তিগুলির একটি setচ্ছিক সেট দেয় যা কমান্ড শিরোনামের বিষয়বস্তুর পাশাপাশি কমান্ডের আচরণকেও পরিবর্তন করে। কমান্ড হ্যান্ডলিং-এর আশেপাশে এই মোড়কের ব্যবহারযোগ্যতা প্রকৃতপক্ষে সীমিত, মূলত নিরাপত্তা বৈধতা এবং ডেটা সিরিয়ালাইজেশন / ডি-সিরিয়ালাইজেশনে জড়িত জটিলতা / নমনীয়তার কারণে।

কমান্ড বৈধতার জন্য বিশদটি এখনও টিবিডি

এই শ্রেণীর এছাড়াও সাহায্য করে অ্যাপ্লিকেশন আবিষ্কার একটি সংশ্লিষ্ট মধ্যে ডেটা যদি TraitDataSink commmand (কমান্ড প্রতিক্রিয়া প্রদান করা সংস্করণের উপর ভিত্তি করে) এর পার্শ্ব প্রতিক্রিয়া পর্যন্ত ধরা হয়েছে। অ্যাপ্লিকেশনটি সেই অবজেক্টের স্টোরেজ পরিচালনার জন্য দায়ী।

বুনা বাঁধাই

এই শ্রেণীর একটি অবজেক্ট একটি বুনা সঙ্গে intialized যাবে বাঁধাই , যা ডিফল্টভাবে হিসেবে পরিবেশন করা হবে বাঁধাই আদেশগুলি প্রেরণ করতে ব্যবহার করতে। ব্যবহারকারী একটি প্রদান করতে পারে বাঁধাই SendCommand () প্রতিটি কল, যা ডিফল্টভাবে ওভাররাইড হবে বাঁধাই । এটি একটি ডিফল্ট প্রদান করার প্রয়োজন নেই বাঁধাই অবশ্য কোনো প্রদান করা বাঁধাই CommandSender ইতিমধ্যে সক্রিয়া করা আবশ্যক।

ইভেন্টক্যালব্যাক

কমান্ড প্রেরণের পরে ঘটে যাওয়া ইভেন্টগুলি সম্পর্কে আপডেট হওয়া চাইলে ব্যবহারকারীকে এই ধরণের একটি ক্রিয়াকলাপ অবশ্যই সংজ্ঞায়িত করতে হবে (নীচে "এপিআই ইভেন্টগুলি" দেখুন)। কমান্ডটি প্রেরণের পরে ব্যবহারকারী কী ঘটে তা যদি যত্নশীল না করে তবে এটি নুল হতে পারে।

এপিআই ইভেন্টগুলি

নিম্নলিখিত ঘটনা একটি পাঠানোর পর সম্ভাব্য ফলাফল আছে কমান্ড :

যোগাযোগে ত্রুটি

যখন বিরচন বা পাঠানোর সময় একটি ত্রুটি ঘটেছে কমান্ড , অথবা যখন একটি প্রতিক্রিয়ার জন্য অপেক্ষা। প্রতিক্রিয়ার জন্য অপেক্ষা করার সময় যে ত্রুটিগুলি ঘটতে পারে তার উদাহরণগুলি হ'ল মূল ত্রুটি বা সংযোগের অপ্রত্যাশিত বন্ধ। ত্রুটি কারণ অন্তর্ভুক্ত করা হবে InEventParam EventCallback হ্যান্ডলার আর্গুমেন্ট প্রাপ্ত করতে।

InProgressReused

প্রাপক একটি 'অগ্রগতি' বার্তা যা নির্দেশ করে যে পাঠাতে পারেন কমান্ড receieved করা হয়েছে, কিন্তু এখনও সম্পূর্ণ করেননি। শেষ হয়ে গেলে, প্রাপক একটি প্রতিক্রিয়া বা স্থিতি প্রতিবেদন পাঠাবে। একটি 'প্রগতিতে' বার্তা প্রেরণের প্রয়োজন নেই।

স্থিতি প্রতিবেদন প্রাপ্ত

একটি StatusReport প্রাপ্তির বোঝা প্রক্রিয়াকরণের সময় একটি ত্রুটি হয়েছে যে কমান্ড । StatusReport মাধ্যমে অ্যাক্সেস করা যেতে পারে InEventParam

প্রতিক্রিয়া প্রাপ্ত

একটি রেসপন্স প্রাপ্তির যে বোঝা কমান্ড প্রাপক ঘাঁটা কমান্ড সফলভাবে। প্রতিক্রিয়াতে একটি পেওড থাকতে পারে বা এটি নাও থাকতে পারে। Applcation প্যাকেট বাফার রাখার ক্ষুধা, এটা কল করতে পারেন ExchangeContext :: AddRef () ; ref গণনা বাড়ায় করতে।

পাবলিক প্রকার

EventCallback )(void *const aAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutEventParam) টাইপডেফ
void(*
EventType এনাম

জনসাধারণের গুণাবলী

mAppState = NULL
void *
mSyncronizedTraitState = NULL

পাবলিক স্ট্যাটিক ফাংশন

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

পাবলিক ফাংশন

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

স্ট্রাক্টস

nl এর :: বুনা :: প্রোফাইল :: DataManagement_Current :: CommandSender :: InEventParam

কাস্টম কমান্ডের প্রাপক দ্বারা ডেটা প্রেরকের কাছে ফিরে আসে।

nl এর :: বুনা :: প্রোফাইল :: DataManagement_Current :: CommandSender :: OutEventParam

ডেটা একটি ফিরে ফিরে CommandSender একটি EventCallback ফাংশন থেকে অবজেক্ট।

nl এর :: বুনা :: প্রোফাইল :: DataManagement_Current :: CommandSender :: SendParams

সেন্ডক্যামন্ডে প্রবেশ করার জন্য আর্গুমেন্টগুলি encapsulates ()।

nl এর :: বুনা :: প্রোফাইল :: DataManagement_Current :: CommandSender :: SynchronizedTraitState

পাবলিক প্রকার

ইভেন্টক্যালব্যাক

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

ইভেন্টের ধরণ

 EventType

জনসাধারণের গুণাবলী

mAppState

void * mAppState = NULL

mSyncronisedTraitState

SynchronizedTraitState * mSyncronizedTraitState = NULL

পাবলিক স্ট্যাটিক ফাংশন

DefaultEventHandler

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

পাবলিক ফাংশন

বন্ধ

void Close(
  bool aAbortNow
)

এটা

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

সেন্ডকমন্ড

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

সেন্ডকম্যান্ড

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

সেটসাইনক্রোনাইজড ট্রাইটস্টেট

void SetSynchronizedTraitState(
  SynchronizedTraitState *aTraitState
)