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 |
RetryPolicyCallback )(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec) | typedef void(* |
State | enum |
পাবলিক প্রকার
অ্যাকশন টাইপ
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)
বন্ধুর ক্লাস
friend class Internal::GenericPlatformManagerImpl
পাবলিক ফাংশন
GetState
State GetState(
void
)
IsInProgress
bool IsInProgress(
void
)
সেট ইভেন্ট কলব্যাক
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
)
পাবলিক স্ট্যাটিক ফাংশন
সুরক্ষিত ফাংশন
সফটওয়্যার আপডেট ম্যানেজার
SoftwareUpdateManager()=default
~ সফটওয়্যার আপডেট ম্যানেজার
~SoftwareUpdateManager()=default