nl:: বুনা:: ডিভাইস লেয়ার:: সফটওয়্যার আপডেট ম্যানেজার

সারাংশ

উত্তরাধিকার

সরাসরি পরিচিত সাবক্লাস:
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl
  nl::Weave::DeviceLayer::SoftwareUpdateManagerImpl

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

ActionType {
kAction_Ignore ,
kAction_DownloadNow ,
kAction_DownloadLater ,
kAction_ApplicationManaged
}
enum
যখন একটি সফ্টওয়্যার আপডেট উপলব্ধ থাকে, তখন অ্যাপ্লিকেশনটি SoftwareUpdateAvailable API ইভেন্ট কলব্যাকের অংশ হিসাবে নিম্নলিখিত ক্রিয়াগুলির মধ্যে একটি বেছে নিতে পারে৷
EventCallback )(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventType {
kEvent_PrepareQuery ,
kEvent_PrepareQuery_Metadata ,
kEvent_QueryPrepareFailed ,
kEvent_QuerySent ,
kEvent_SoftwareUpdateAvailable ,
kEvent_FetchPartialImageInfo ,
kEvent_PrepareImageStorage ,
kEvent_StartImageDownload ,
kEvent_StoreImageBlock ,
kEvent_ComputeImageIntegrity ,
kEvent_ResetPartialImageInfo ,
kEvent_ReadyToInstall ,
kEvent_StartInstallImage ,
kEvent_Finished ,
kEvent_DefaultCheck = 100
}
enum
SoftwareUpdateManager অবজেক্ট দ্বারা জেনারেট করা API ইভেন্ট।
RetryPolicyCallback )(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec) typedef
void(*
State enum

বন্ধুর ক্লাস

Internal::GenericPlatformManagerImpl
friend class

পাবলিক ফাংশন

Abort (void)
CheckNow (void)
GetState (void)
State
ImageInstallComplete ( WEAVE_ERROR aError)
IsInProgress (void)
bool
PrepareImageStorageComplete ( WEAVE_ERROR aError)
SetEventCallback (void *const aAppState, const EventCallback aEventCallback)
SetQueryIntervalWindow (uint32_t aMinWaitTimeMs, uint32_t aMaxWaitTimeMs)
SetRetryPolicyCallback (const RetryPolicyCallback aRetryPolicyCallback)
void

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

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

সুরক্ষিত ফাংশন

SoftwareUpdateManager ()=default
SoftwareUpdateManager (const SoftwareUpdateManager &)=delete
SoftwareUpdateManager (const SoftwareUpdateManager &&)=delete
operator= (const SoftwareUpdateManager &)=delete
~SoftwareUpdateManager ()=default

কাঠামো

nl:: ওয়েভ:: ডিভাইস লেয়ার:: সফটওয়্যারআপডেট ম্যানেজার:: পুনঃপ্রচার করুন

ইউনিয়ন

nl:: ওয়েভ:: ডিভাইস লেয়ার:: সফ্টওয়্যারআপডেট ম্যানেজার:: ইভেন্টপারম
nl:: ওয়েভ:: ডিভাইস লেয়ার:: সফটওয়্যারআপডেট ম্যানেজার:: আউটইভেন্টপারম

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

অ্যাকশন টাইপ

 ActionType

যখন একটি সফ্টওয়্যার আপডেট উপলব্ধ থাকে, তখন অ্যাপ্লিকেশনটি SoftwareUpdateAvailable API ইভেন্ট কলব্যাকের অংশ হিসাবে নিম্নলিখিত ক্রিয়াগুলির মধ্যে একটি বেছে নিতে পারে৷

ডিফল্ট ক্রিয়াটি kAction_Now এ সেট করা হবে।

বৈশিষ্ট্য
kAction_ApplicationManaged

অ্যাপ্লিকেশনটিকে সফ্টওয়্যার আপডেটের বাকি ধাপগুলি পরিচালনা করার অনুমতি দেয় যেমন ডাউনলোড, চিত্র অখণ্ডতা যাচাইকরণ এবং ইনস্টল করা৷

সফ্টওয়্যার আপডেট ম্যানেজার স্টেট মেশিন অ্যাপ্লিকেশানম্যানেজড অবস্থায় চলে যাবে। নির্ধারিত সফ্টওয়্যার আপডেট চেক (যদি সক্ষম করা থাকে) স্থগিত করা হবে যতক্ষণ না অ্যাপ্লিকেশান অ্যাবর্ট বা ImageInstallComplete API কল করে।

kAction_DownloadLater

শুরুতে ডাউনলোড বন্ধ করুন।

নির্ধারিত সফ্টওয়্যার আপডেট চেক (যদি সক্ষম করা থাকে) স্থগিত করা হবে। স্টেট মেশিন ডাউনলোড অবস্থায় থাকবে। প্রস্তুত হলে, অ্যাপ্লিকেশন ডাউনলোডের সাথে এগিয়ে যেতে সারসংকলন ডাউনলোড API কল করতে পারে বা বাতিল করতে Abort কল করতে পারে।

kAction_DownloadNow

এখনই ডাউনলোড শুরু করুন।

একটি kEvent_FetchPartialImageInfo API ইভেন্ট কলব্যাক ঠিক পরে তৈরি হবে।

kAction_Ignore

ডাউনলোড সম্পূর্ণ উপেক্ষা করুন.

একটি kEvent_Finished API ইভেন্ট কলব্যাক WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED ত্রুটির সাথে জেনারেট করা হবে যদি এই বিকল্পটি নির্বাচন করা হয় এবং পুনরায় চেষ্টা করার যুক্তি চালু করা হবে না।

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

void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)

ইভেন্ট টাইপ

 EventType

SoftwareUpdateManager অবজেক্ট দ্বারা জেনারেট করা API ইভেন্ট।

বৈশিষ্ট্য
kEvent_ComputeImageIntegrity

একটি চিত্র অখণ্ডতা চেক মান গণনা.

ডাউনলোড করা ছবির উপর একটি অখণ্ডতা যাচাই মান গণনা করার জন্য অ্যাপ্লিকেশনটিকে অনুরোধ করে৷ ডাউনলোড সম্পূর্ণ হলে তৈরি হয়।

kEvent_DefaultCheck

ডিফল্ট ইভেন্ট হ্যান্ডলিং আচরণ পরীক্ষা করুন.

অ্যাপ্লিকেশনে সঠিক ডিফল্ট ইভেন্ট হ্যান্ডলিং যাচাই করতে ব্যবহৃত হয়।

অ্যাপ্লিকেশন এই ইভেন্ট পরিচালনা করতে হবে না.

kEvent_FetchPartialImageInfo

একটি আংশিকভাবে ডাউনলোড করা ছবির জন্য স্থায়ী রাষ্ট্র তথ্য আনুন.

পূর্বে ডাউনলোড করা একটি আংশিক চিত্রের তথ্য প্রকাশ করার জন্য অ্যাপ্লিকেশনের জন্য একটি সুযোগ প্রদান করে যাতে ডাউনলোডটি শেষবার থামানো বিন্দু থেকে চালিয়ে যেতে পারে। উপলব্ধ সফ্টওয়্যার আপডেটের URI একটি ইনপুট প্যারামিটার হিসাবে সরবরাহ করা হয়েছে যা অ্যাপ্লিকেশনটি তুলনা করতে ব্যবহার করতে পারে যদি ডাউনলোড করা চিত্রটি আংশিক চিত্রের মতো হয়।

অ্যাপ্লিকেশনটি PartialImageLenInBytes আউটপুট প্যারামিটারে আংশিক চিত্রের দৈর্ঘ্য ফিরিয়ে দেবে বলে আশা করা হচ্ছে। কোনো আংশিক চিত্র বিদ্যমান নেই বা আংশিক চিত্রের URI মেলে না তা নির্দেশ করতে অ্যাপ্লিকেশনটি PartialImageLenInBytes-এর মান 0 এ সেট করতে পারে।

অ্যাপ্লিকেশনটি ডিফল্ট ইভেন্ট হ্যান্ডলারে পাস করে এই ইভেন্টটিকে উপেক্ষা করতে বেছে নিতে পারে। এটি করা হলে, সিস্টেমটি সর্বদা উপলব্ধ ফার্মওয়্যার চিত্রের সম্পূর্ণটি ডাউনলোড করবে।

kEvent_Finished

সফ্টওয়্যার আপডেট প্রক্রিয়া সমাপ্ত.

একটি সফ্টওয়্যার আপডেট চেক ত্রুটি সহ বা ছাড়াই শেষ হলে তৈরি হয়৷ এই ইভেন্টের সাথে অন্তর্ভুক্ত প্যারামিটারগুলি ব্যর্থতার কারণ প্রদান করে যদি ব্যর্থতার কারণে প্রচেষ্টা শেষ হয়।

kEvent_PrepareImageStorage

একটি নতুন চিত্র সংরক্ষণের জন্য প্রস্তুত করুন।

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

PrepareImageStorage ইভেন্টটি শুধুমাত্র সেই ক্ষেত্রে তৈরি হয় যেখানে একটি নতুন ফার্মওয়্যার ইমেজ ডাউনলোড করা হচ্ছে। পূর্বে বাধাপ্রাপ্ত ডাউনলোড পুনরায় শুরু হলে, PrepareImageStorage তৈরি হয় না।

অ্যাপ্লিকেশনটিকে অবশ্যই PrepareImageStorageComplete() পদ্ধতিতে কল করে প্রস্তুতির ক্রিয়াকলাপের সমাপ্তির সংকেত দিতে হবে। এটি ইভেন্ট কলব্যাকের মধ্যে বা পরবর্তী সময়ে এটি করতে পারে। ওয়েভ টাস্ক ছাড়া অন্য কোনো টাস্ক থেকে কল করা হলে, কলকারীকে অবশ্যই উইভ স্ট্যাক লক ধরে রাখতে হবে।

অ্যাপ্লিকেশনটি ডিফল্ট ইভেন্ট হ্যান্ডলারে প্রেরণ করে PrepareImageStorage ইভেন্টটিকে উপেক্ষা করতে বেছে নিতে পারে। এটি করা হলে, সিস্টেমটি স্বয়ংক্রিয়ভাবে ইমেজ ডাউনলোড অবস্থায় চলে যায়।

একটি বাধাপ্রাপ্ত ডাউনলোড পুনরায় শুরু করা সমর্থন করতে, অ্যাপ্লিকেশনটিকে ইমেজ URI (একটি ইভেন্ট প্যারামিটার হিসাবে সরবরাহ করা) বজায় রাখা উচিত এবং পরবর্তী FetchPartialImageInfo ইভেন্টগুলি পরিচালনা করার সময় এটি ব্যবহার করা উচিত।

kEvent_PrepareQuery

ImageQuery বার্তা প্রস্তুত করুন।

একটি সফ্টওয়্যার আপডেট চেক ট্রিগার করা হলে তৈরি করা হয়। SofwareUpdate:ImageQuery বার্তায় পণ্য সম্পর্কিত তথ্য সরবরাহ করার জন্য অ্যাপ্লিকেশনটির জন্য একটি সুযোগ প্রদান করে।

kEvent_PrepareQuery_Metadata

ImageQuery অনুরোধের জন্য মেটা-ডেটা প্রস্তুত করুন।

প্রয়োজনে SofwareUpdate:ImageQuery বার্তায় অতিরিক্ত মেটা-ডেটা যোগ করার জন্য অ্যাপ্লিকেশনটিকে একটি সুযোগ প্রদান করে। যখন বাস্তবায়ন অ্যাপ্লিকেশন থেকে মেটা-ডেটা পেতে প্রস্তুত হয় তখন তৈরি হয়।

kEvent_QueryPrepareFailed

একটি ImageQuery অনুরোধ প্রস্তুত করার সময় ত্রুটি৷

একটি সফ্টওয়্যার আপডেট ক্যোয়ারী পাঠানোর প্রস্তুতির সময় বাস্তবায়ন যখন একটি ত্রুটির সম্মুখীন হয় তখন তৈরি হয়৷

kEvent_QuerySent

ImageQuery অনুরোধ পাঠানো হয়েছে.

একটি SofwareUpdate:ImageQuery বার্তা পাঠানো হয়েছে তা নির্দেশ করার জন্য তথ্যমূলক ইভেন্ট।

kEvent_ReadyToInstall

ইমেজ ইনস্টল করার জন্য প্রস্তুত.

ইমেজ ইনস্টল করার জন্য প্রস্তুত যে সংকেত তথ্যমূলক ঘটনা. একটি ছবি অখণ্ডতা পরীক্ষা পাস করার পরে তৈরি হয়।

kEvent_ResetPartialImageInfo

আংশিকভাবে ডাউনলোড করা ছবির অবস্থা রিসেট করুন।

একটি ডাউনলোড করা চিত্রের সাথে যুক্ত স্থায়ী অবস্থা ভুলে যাওয়ার জন্য অ্যাপ্লিকেশনটিকে অনুরোধ করে৷ একটি ResetPartialImageInfo ইভেন্ট তৈরি হয় যখনই একটি ডাউনলোড করা ছবি তার অখণ্ডতা পরীক্ষায় ব্যর্থ হয়। একটি ResetPartialImageInfo ইভেন্ট প্রক্রিয়া হওয়ার পরে, পরবর্তী FetchPartialImageInfo ইভেন্টগুলি নির্দেশ করবে যে কোনও আংশিক চিত্র উপলব্ধ নেই৷

নোট করুন যে, ResetPartialImageInfo ইভেন্ট পরিচালনা করার সময়, অ্যাপ্লিকেশনটিকে ইমেজ ডেটা নিজেই সাফ করার প্রয়োজন নেই, শুধুমাত্র চিত্রের সাথে সম্পর্কিত রাষ্ট্রীয় তথ্য (যেমন URI এবং আংশিক চিত্রের দৈর্ঘ্য)।

যদি অ্যাপ্লিকেশনটি ইমেজ ডাউনলোড পুনঃসূচনা সমর্থন না করে, তবে এটি ডিফল্ট ইভেন্ট হ্যান্ডলারে পাস করে এই ইভেন্টটিকে উপেক্ষা করতে পারে।

kEvent_SoftwareUpdateAvailable

সফ্টওয়্যার আপডেট উপলব্ধ।

একটি SofwareUpdate:ImageQueryResponse উপলব্ধ আপডেটের তথ্য সম্বলিত একটি প্রশ্নের উত্তরে প্রাপ্ত হলে তৈরি হয়।

kEvent_StartImageDownload

ছবি ডাউনলোড শুরু হয়েছে।

একটি ইমেজ ডাউনলোড লেনদেন শুরুর সংকেত দিতে তথ্যমূলক ইভেন্ট।

kEvent_StartInstallImage

ইমেজ ইনস্টলেশন শুরু করুন।

একটি ডাউনলোড করা ফার্মওয়্যার ইমেজ ইনস্টল করার প্রক্রিয়া হওয়ার জন্য অ্যাপ্লিকেশনটিকে অনুরোধ করে৷

kEvent_StoreImageBlock

ইমেজ ডেটা একটি ব্লক সংরক্ষণ করুন.

ফাইল ডাউনলোড সার্ভার থেকে যখনই একটি ডেটা ব্লক পাওয়া যায় তখনই তৈরি হয়। এই ইভেন্টের সাথে অন্তর্ভুক্ত প্যারামিটারগুলি ডেটা এবং ডেটার দৈর্ঘ্য প্রদান করে।

একটি বাধাপ্রাপ্ত ডাউনলোড পুনরায় শুরু করা সমর্থন করার জন্য, অ্যাপ্লিকেশনটিকে সংরক্ষিত মোট চিত্র বাইট সংখ্যার একটি অবিরাম গণনা বজায় রাখা উচিত এবং পরবর্তী FetchPartialImageInfo ইভেন্টগুলি পরিচালনা করার সময় এই মানটি ব্যবহার করা উচিত।

পলিসি কলব্যাক পুনরায় চেষ্টা করুন

void(* RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec)

রাজ্য

 State

বন্ধুর ক্লাস

অভ্যন্তরীণ::GenericPlatformManagerImpl

friend class Internal::GenericPlatformManagerImpl

পাবলিক ফাংশন

গর্ভপাত

WEAVE_ERROR Abort(
  void
)

এখন চেক করুন

WEAVE_ERROR CheckNow(
  void
)

GetState

State GetState(
  void
)

ইমেজ ইনস্টল সম্পূর্ণ

WEAVE_ERROR ImageInstallComplete(
  WEAVE_ERROR aError
)

IsInProgress

bool IsInProgress(
  void
)

PrepareImageStorageComplete

WEAVE_ERROR PrepareImageStorageComplete(
  WEAVE_ERROR aError
)

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

WEAVE_ERROR SetEventCallback(
  void *const aAppState,
  const EventCallback aEventCallback
)

SetQueryIntervalWindow

WEAVE_ERROR SetQueryIntervalWindow(
  uint32_t aMinWaitTimeMs,
  uint32_t aMaxWaitTimeMs
)

SetRetryPolicyCallback

void SetRetryPolicyCallback(
  const RetryPolicyCallback aRetryPolicyCallback
)

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

ডিফল্ট ইভেন্টহ্যান্ডলার

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

সুরক্ষিত ফাংশন

সফটওয়্যার আপডেট ম্যানেজার

 SoftwareUpdateManager()=default

সফটওয়্যার আপডেট ম্যানেজার

 SoftwareUpdateManager(
  const SoftwareUpdateManager &
)=delete

সফটওয়্যার আপডেট ম্যানেজার

 SoftwareUpdateManager(
  const SoftwareUpdateManager &&
)=delete

অপারেটর=

SoftwareUpdateManager & operator=(
  const SoftwareUpdateManager &
)=delete

~ সফটওয়্যার আপডেট ম্যানেজার

 ~SoftwareUpdateManager()=default