Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

nl::Weave::Devicelayer::SoftwareUpdateManager

Tóm tắt

Tính kế thừa

Các lớp con đã biết trực tiếp:
nl::Weave::DeviceOverlay::SoftwareUpdateManagerImpl
nl::Weave::Devicelayer::SoftwareUpdateManagerimpl
nl::Weave::DeviceUpdateManagerImpl

Loại công khai

ActionType{
  kAction_Ignore,
  kAction_DownloadNow,
  kAction_DownloadLater,
  kAction_ApplicationManaged
}
enum
Khi có bản cập nhật phần mềm, ứng dụng có thể chọn một trong các thao tác sau đây trong lệnh gọi lại sự kiện SoftwareUpdateAvailability.
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
Các sự kiện API do đối tượng SoftwareUpdateManager tạo.
RetryPolicyCallback)(void *aAppState, RetryParam &aRetryParam, uint32_t &aOutIntervalMsec) typedef
void(*
State enum

Lớp học của bạn bè

Internal::GenericPlatformManagerImpl
friend class

Hàm công khai

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

Hàm tĩnh công khai

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

Hàm được bảo vệ

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

Cấu trúc

nl::Weave::DeviceClass::SoftwareUpdateManager::TryParam (Hãy dùng:

Liên minh

nl::Weave::Devicelayer::SoftwareUpdateManager::InEventParam (Google Drive:: Dệt::Devicelayer::SoftwareUpdateManager::InEventParam)
nl::Weave::DeviceOverlay::SoftwareUpdateManager::OutEventParam

Loại công khai

Loại hành động

 ActionType

Khi có bản cập nhật phần mềm, ứng dụng có thể chọn một trong các thao tác sau đây trong lệnh gọi lại sự kiện SoftwareUpdateAvailability.

Hành động mặc định sẽ được đặt thành kAction_Now.

Thuộc tính
kAction_ApplicationManaged

Cho phép ứng dụng quản lý các giai đoạn còn lại của bản cập nhật phần mềm như tải xuống, xác thực tính toàn vẹn của hình ảnh và cài đặt.

Máy ở trạng thái trình quản lý cập nhật phần mềm sẽ chuyển sang trạng thái AppsManaged. Các hoạt động kiểm tra bản cập nhật phần mềm theo lịch (nếu bật) sẽ bị tạm ngưng cho đến khi ứng dụng gọi API hoặc ImageInstallcomplete API.

kAction_DownloadLater

Tạm dừng quá trình tải xuống khi bắt đầu.

Các quá trình kiểm tra bản cập nhật phần mềm theo lịch (nếu bật) sẽ bị tạm ngưng. Máy trạng thái sẽ vẫn ở trạng thái Tải xuống. Khi sẵn sàng, ứng dụng có thể gọi API tiếp tục tải xuống để tiếp tục quá trình tải xuống hoặc gọi Hủy để hủy.

kAction_DownloadNow

Bắt đầu tải xuống ngay lập tức.

Lệnh gọi lại sự kiện API kEvent_FetchSessionImageInfo sẽ được tạo ngay sau đó.

kAction_Ignore

Bỏ qua hoàn toàn quá trình tải xuống.

Một lệnh gọi lại sự kiện API kEvent_Done sẽ được tạo kèm theo lỗi WEAVE_DEVICE_ERROR_PARENT_UPDATE_CANCELLED nếu bạn chọn chế độ này và logic thử lại sẽ không bị gọi.

Lệnh gọi lại sự kiện

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

Loại sự kiện

 EventType

Các sự kiện API do đối tượng SoftwareUpdateManager tạo.

Thuộc tính
kEvent_ComputeImageIntegrity

Tính toán giá trị kiểm tra tính toàn vẹn của hình ảnh.

Yêu cầu ứng dụng tính toán giá trị kiểm tra tính toàn vẹn trên hình ảnh đã tải xuống. Được tạo sau khi tải xuống hoàn tất.

kEvent_DefaultCheck

Kiểm tra hành vi xử lý sự kiện mặc định.

Dùng để xác minh rằng hoạt động xử lý sự kiện mặc định chính xác trong ứng dụng.

Ứng dụng KHÔNG được xử lý sự kiện này.

kEvent_FetchPartialImageInfo

Tìm nạp thông tin trạng thái không đổi cho hình ảnh được tải xuống một phần.

Tạo cơ hội cho ứng dụng tiết lộ thông tin về hình ảnh một phần được tải xuống trước đó để có thể tiếp tục tải xuống từ điểm mà hình ảnh đó dừng gần đây nhất. URI của bản cập nhật phần mềm hiện có được cung cấp dưới dạng tham số đầu vào mà ứng dụng có thể dùng để so sánh xem hình ảnh đang tải xuống có giống với hình ảnh một phần hay không.

Ứng dụng dự kiến sẽ trả về độ dài của một phần hình ảnh trong thông số đầu ra hìnhImageLenInBytes. Ứng dụng có thể đặt giá trị của SECTIONImageLenInBytes thành 0 để cho biết rằng không có hình ảnh một phần nào tồn tại hoặc URI của hình ảnh một phần không khớp.

Ứng dụng có thể chọn bỏ qua sự kiện này bằng cách chuyển sự kiện đến trình xử lý sự kiện mặc định. Nếu thao tác này hoàn tất, hệ thống sẽ luôn tải xuống toàn bộ hình ảnh chương trình cơ sở có sẵn.

kEvent_Finished

Đã hoàn tất quá trình cập nhật phần mềm.

Được tạo khi quá trình kiểm tra cập nhật phần mềm hoàn tất có hoặc không có lỗi. Các thông số có trong sự kiện này cung cấp lý do lỗi nếu quá trình này kết thúc không thành công.

kEvent_PrepareImageStorage

Chuẩn bị cho việc lưu trữ một hình ảnh mới.

Yêu cầu ứng dụng thực hiện bất kỳ bước nào cần thiết để chuẩn bị bộ nhớ trên máy cho việc tải hình ảnh chương trình cơ sở mới xuống. Ứng dụng có thể dùng chức năng này để xóa các trang flash.

Sự kiện ReadyImageStorage chỉ được tạo trong trường hợp có hình ảnh chương trình cơ sở mới được tải xuống. Khi quá trình tải xuống bị gián đoạn trước đó được tiếp tục, ReadyImageStorage không được tạo.

Ứng dụng phải báo hiệu là hoàn thành thao tác chuẩn bị bằng cách gọi phương thức PrepareImageStorageComplete(). Chiến dịch này có thể thực hiện việc này trong chính lệnh gọi lại sự kiện hoặc sau này. Nếu được gọi từ một tác vụ không phải là tác vụ Weave, người gọi phải giữ khóa ngăn xếp Weave.

Ứng dụng có thể chọn bỏ qua sự kiện ReadyImageStorage bằng cách chuyển sự kiện đó đến trình xử lý sự kiện mặc định. Nếu quá trình này hoàn tất, hệ thống sẽ tự động chuyển sang trạng thái tải hình ảnh xuống.

Để hỗ trợ tiếp tục tải xuống bị gián đoạn, ứng dụng phải duy trì URI hình ảnh (được cung cấp dưới dạng một thông số sự kiện) và sử dụng URI này khi xử lý các sự kiện FetchFetchImageInfoInfo tiếp theo.

kEvent_PrepareQuery

Chuẩn bị thông báo ImageQuery.

Được tạo khi một hoạt động kiểm tra bản cập nhật phần mềm được kích hoạt. Tạo cơ hội cho ứng dụng cung cấp thông tin liên quan đến sản phẩm đến thông báo SofwareUpdate:ImageQuery.

kEvent_PrepareQuery_Metadata

Chuẩn bị siêu dữ liệu cho yêu cầu ImageQuery.

Tạo cơ hội để ứng dụng nối thêm siêu dữ liệu bổ sung vào thông báo SofwareUpdate:ImageQuery nếu cần. Được tạo khi triển khai đã sẵn sàng nhận siêu dữ liệu từ ứng dụng.

kEvent_QueryPrepareFailed

Lỗi khi chuẩn bị một yêu cầu ImageQuery.

Được tạo khi quá trình triển khai gặp lỗi khi chuẩn bị gửi truy vấn cập nhật phần mềm.

kEvent_QuerySent

Đã gửi yêu cầu ImageQuery.

Sự kiện thông tin để báo hiệu rằng thông báo SofwareUpdate:ImageQuery đã được gửi.

kEvent_ReadyToInstall

Hình ảnh đã sẵn sàng để cài đặt.

Sự kiện cung cấp thông tin để cho biết rằng hình ảnh đã sẵn sàng để cài đặt. Được tạo sau khi hình ảnh vượt qua quá trình kiểm tra tính toàn vẹn.

kEvent_ResetPartialImageInfo

Đặt lại trạng thái của hình ảnh đã tải xuống một phần.

Yêu cầu ứng dụng quên trạng thái cố định được liên kết với hình ảnh đã tải xuống. Hệ thống sẽ tạo sự kiện đặtvideoImageInfo khi một hình ảnh đã tải xuống không vượt qua quá trình kiểm tra tính toàn vẹn. Sau khi sự kiện ĐặtvideoImageInfo được xử lý xong, các sự kiện FetchFetchImageInfoInfo tiếp theo sẽ cho biết rằng không có hình ảnh một phần nào sẵn có.

Xin lưu ý rằng khi xử lý sự kiện Đặt dữ liệu hình ảnh một phần, ứng dụng KHÔNG bắt buộc phải xóa dữ liệu hình ảnh, chỉ thông tin trạng thái được liên kết với hình ảnh (tức là URI và độ dài một phần hình ảnh).

Nếu ứng dụng không hỗ trợ tính năng tiếp tục tải hình ảnh xuống, ứng dụng đó có thể bỏ qua sự kiện này bằng cách chuyển sự kiện đến trình xử lý sự kiện mặc định.

kEvent_SoftwareUpdateAvailable

Đã có bản cập nhật phần mềm.

Được tạo khi SofwareUpdate:ImageQueryResponse nhận được để phản hồi một truy vấn có chứa thông tin của bản cập nhật hiện có.

kEvent_StartImageDownload

Đã bắt đầu tải hình ảnh xuống.

Sự kiện thông tin để báo hiệu bắt đầu giao dịch tải hình ảnh xuống.

kEvent_StartInstallImage

Bắt đầu cài đặt hình ảnh.

Yêu cầu ứng dụng đang trong quá trình cài đặt hình ảnh chương trình cơ sở đã tải xuống.

kEvent_StoreImageBlock

Lưu trữ một khối dữ liệu hình ảnh.

Được tạo bất cứ khi nào nhận được khối dữ liệu từ máy chủ tải tệp xuống. Các thông số đi kèm với sự kiện này cung cấp dữ liệu và độ dài của dữ liệu.

Để hỗ trợ tiếp tục tải xuống gián đoạn, ứng dụng phải duy trì tổng số byte hình ảnh được lưu trữ liên tục và sử dụng giá trị này khi xử lý các sự kiện FetchFetchImageInfoInfo tiếp theo.

RetryPolicyCallback

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

Tiểu bang

 State

Lớp học của bạn bè

Nội bộ::genericPlatformManagerimpl

friend class Internal::GenericPlatformManagerImpl

Hàm công khai

Hủy

WEAVE_ERROR Abort(
  void
)

Xem ngay

WEAVE_ERROR CheckNow(
  void
)

GetState

State GetState(
  void
)

Cài đặt hình ảnh hoàn tất

WEAVE_ERROR ImageInstallComplete(
  WEAVE_ERROR aError
)

Đang tiến hành

bool IsInProgress(
  void
)

Giai đoạn chuẩn bị hình ảnh

WEAVE_ERROR PrepareImageStorageComplete(
  WEAVE_ERROR aError
)

Đặt lại sự kiện

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

Cửa sổ đặt truy vấn

WEAVE_ERROR SetQueryIntervalWindow(
  uint32_t aMinWaitTimeMs,
  uint32_t aMaxWaitTimeMs
)

Đặt setRetryPolicyCallback

void SetRetryPolicyCallback(
  const RetryPolicyCallback aRetryPolicyCallback
)

Hàm tĩnh công khai

Trình xử lý sự kiện mặc định

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

Hàm được bảo vệ

Trình quản lý phần mềm

 SoftwareUpdateManager()=default

Trình quản lý phần mềm

 SoftwareUpdateManager(
  const SoftwareUpdateManager &
)=delete

Trình quản lý phần mềm

 SoftwareUpdateManager(
  const SoftwareUpdateManager &&
)=delete

toán tử=

SoftwareUpdateManager & operator=(
  const SoftwareUpdateManager &
)=delete

~Trình quản lý phần mềm

 ~SoftwareUpdateManager()=default