nl:: بافت:: DeviceLayer:: SoftwareUpdateManager

خلاصه

ارث

زیر کلاس های مستقیم شناخته شده:
  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
رویدادهای API ایجاد شده توسط شی SoftwareUpdateManager .
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:: Weave:: DeviceLayer:: SoftwareUpdateManager:: RetryParam

اتحادیه ها

nl:: Weave:: DeviceLayer:: SoftwareUpdateManager:: InEventParam
nl:: Weave:: DeviceLayer:: SoftwareUpdateManager:: OutEventParam

انواع عمومی

نوع اقدام

 ActionType

هنگامی که یک به‌روزرسانی نرم‌افزار در دسترس است، برنامه می‌تواند یکی از اقدامات زیر را به عنوان بخشی از تماس رویداد SoftwareUpdateAvailable API انتخاب کند.

عمل پیش فرض روی kAction_Now تنظیم می شود.

خواص
kAction_ApplicationManaged

به برنامه اجازه می دهد تا بقیه مراحل به روز رسانی نرم افزار مانند دانلود، اعتبارسنجی یکپارچگی تصویر و نصب را مدیریت کند.

ماشین حالت مدیر به روز رسانی نرم افزار به وضعیت ApplicationManaged منتقل می شود. بررسی‌های به‌روزرسانی برنامه‌ریزی‌شده نرم‌افزار (در صورت فعال بودن) تا زمانی که برنامه Abort یا ImageInstallComplete API را فراخواند، به حالت تعلیق در می‌آید.

kAction_DownloadLater

توقف دانلود در شروع.

بررسی های برنامه ریزی شده به روز رسانی نرم افزار (در صورت فعال بودن) به حالت تعلیق در می آید. ماشین حالت در حالت دانلود باقی می ماند. هنگامی که برنامه آماده شد، می‌تواند با API دانلود رزومه تماس بگیرد تا دانلود را ادامه دهد یا برای لغو با Abort تماس بگیرد.

kAction_DownloadNow

دانلود را فوراً شروع کنید.

بلافاصله پس از آن یک رویداد API kEvent_FetchPartialImageInfo ایجاد خواهد شد.

kAction_Ignore

دانلود را به طور کامل نادیده بگیرید.

اگر این گزینه انتخاب شود و منطق امتحان مجدد فراخوانی نشود، یک رویداد API kEvent_Finished با خطای WEAVE_DEVICE_ERROR_SOFTWARE_UPDATE_CANCELLED ایجاد می‌شود.

رویداد Callback

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

نوع رویداد

 EventType

رویدادهای API ایجاد شده توسط شی SoftwareUpdateManager .

خواص
kEvent_ComputeImageIntegrity

یک مقدار بررسی یکپارچگی تصویر را محاسبه کنید.

از برنامه درخواست می‌کند که یک مقدار بررسی یکپارچگی را روی تصویر دانلود شده محاسبه کند. پس از اتمام دانلود ایجاد می شود.

kEvent_DefaultCheck

رفتار پیش‌فرض مدیریت رویداد را بررسی کنید.

برای تأیید صحیح مدیریت رویداد پیش فرض در برنامه استفاده می شود.

برنامه ها نباید این رویداد را مدیریت کنند.

kEvent_FetchPartialImageInfo

واکشی اطلاعات وضعیت پایدار برای یک تصویر نیمه بارگیری شده.

فرصتی را برای برنامه فراهم می کند تا اطلاعات یک تصویر جزئی را که قبلا دانلود شده است فاش کند تا دانلود از نقطه ای که آخرین بار متوقف شده است ادامه یابد. URI به‌روزرسانی نرم‌افزار موجود به‌عنوان یک پارامتر ورودی ارائه می‌شود که برنامه می‌تواند از آن برای مقایسه در صورتی که تصویری که دانلود می‌شود با تصویر جزئی یکسان است، استفاده کند.

انتظار می رود برنامه طول تصویر جزئی را در پارامتر خروجی PartialImageLenInBytes برگرداند. برنامه می تواند مقدار PartialImageLenInBytes را 0 تنظیم کند تا نشان دهد که تصویر جزئی وجود ندارد یا URI تصویر جزئی مطابقت ندارد.

ممکن است برنامه با ارسال آن به کنترل کننده رویداد پیش فرض، این رویداد را نادیده بگیرد. اگر این کار انجام شود، سیستم همیشه کل تصویر میان‌افزار موجود را دانلود می‌کند.

kEvent_Finished

فرآیند به روز رسانی نرم افزار به پایان رسید.

زمانی ایجاد می شود که بررسی به روز رسانی نرم افزار با یا بدون خطا به پایان برسد. پارامترهای گنجانده شده با این رویداد دلیل شکست را در صورت پایان یافتن تلاش به دلیل شکست ارائه می دهد.

kEvent_PrepareImageStorage

برای ذخیره یک تصویر جدید آماده شوید.

از برنامه می‌خواهد هر مرحله لازم برای آماده‌سازی فضای ذخیره‌سازی محلی برای دانلود یک تصویر میان‌افزار جدید را انجام دهد. برنامه می تواند از این، به عنوان مثال، برای پاک کردن صفحات فلش استفاده کند.

رویداد PrepareImageStorage تنها در صورتی ایجاد می‌شود که یک تصویر میان‌افزار جدید در حال دانلود باشد. هنگامی که دانلود قطع شده قبلی از سر گرفته می شود، PrepareImageStorage ایجاد نمی شود.

برنامه باید با فراخوانی متد PrepareImageStorageComplete() سیگنال تکمیل عملیات آماده سازی را بدهد. ممکن است این کار را در خود تماس مجدد رویداد یا در زمان دیگری انجام دهد. اگر از وظیفه ای غیر از وظیفه Weave فراخوانی شود، تماس گیرنده باید قفل پشته Weave را نگه دارد.

برنامه می‌تواند رویداد 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 بعدی از این مقدار استفاده کند.

RetryPolicyCallback

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
)

ImageInstallComplete

WEAVE_ERROR ImageInstallComplete(
  WEAVE_ERROR aError
)

IsInProgress

bool IsInProgress(
  void
)

PrepareImageStorageComplete

WEAVE_ERROR PrepareImageStorageComplete(
  WEAVE_ERROR aError
)

SetEventCallback

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
)

توابع استاتیک عمومی

DefaultEventHandler

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

توابع محافظت شده

SoftwareUpdateManager

 SoftwareUpdateManager()=default

SoftwareUpdateManager

 SoftwareUpdateManager(
  const SoftwareUpdateManager &
)=delete

SoftwareUpdateManager

 SoftwareUpdateManager(
  const SoftwareUpdateManager &&
)=delete

اپراتور=

SoftwareUpdateManager & operator=(
  const SoftwareUpdateManager &
)=delete

~SoftwareUpdateManager

 ~SoftwareUpdateManager()=default