1/* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16/** 17 * @file 18 * @kit BasicServicesKit 19 */ 20 21import type { AsyncCallback } from './@ohos.base'; 22 23/** 24 * A static class to do update for device. 25 * 26 * @namespace update 27 * @syscap SystemCapability.Update.UpdateService 28 * @systemapi hide for inner use. 29 * @since 9 30 */ 31declare namespace update { 32 /** 33 * Get online update handler for the calling device. 34 * 35 * @param { UpgradeInfo } upgradeInfo - Indicates client app and business type. 36 * @returns { Updater } online update handler to perform online update. 37 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 38 * @syscap SystemCapability.Update.UpdateService 39 * @systemapi hide for inner use. 40 * @since 9 41 */ 42 function getOnlineUpdater(upgradeInfo: UpgradeInfo): Updater; 43 44 /** 45 * Get restore handler. 46 * 47 * @returns { Restorer } restore handler to perform factory reset. 48 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 49 * @syscap SystemCapability.Update.UpdateService 50 * @systemapi hide for inner use. 51 * @since 9 52 */ 53 function getRestorer(): Restorer; 54 55 /** 56 * Get local update handler. 57 * 58 * @returns { LocalUpdater } local update handler to perform local update. 59 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 60 * @syscap SystemCapability.Update.UpdateService 61 * @systemapi hide for inner use. 62 * @since 9 63 */ 64 function getLocalUpdater(): LocalUpdater; 65 66 /** 67 * A static class to do online update. 68 * 69 * @interface Updater 70 * @syscap SystemCapability.Update.UpdateService 71 * @systemapi hide for inner use. 72 * @since 9 73 */ 74 export interface Updater { 75 /** 76 * Check new version. 77 * 78 * @permission ohos.permission.UPDATE_SYSTEM 79 * @param { AsyncCallback<CheckResult> } callback - Callback used to return the result. 80 * @throws { BusinessError } 201 - Permission denied. 81 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 82 * @throws { BusinessError } 11500104 - IPC error. 83 * @syscap SystemCapability.Update.UpdateService 84 * @systemapi hide for inner use. 85 * @since 9 86 */ 87 checkNewVersion(callback: AsyncCallback<CheckResult>): void; 88 89 /** 90 * Check new version. 91 * 92 * @permission ohos.permission.UPDATE_SYSTEM 93 * @returns { Promise<CheckResult> } Promise used to return the result. 94 * @throws { BusinessError } 201 - Permission denied. 95 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 96 * @throws { BusinessError } 11500104 - IPC error. 97 * @syscap SystemCapability.Update.UpdateService 98 * @systemapi hide for inner use. 99 * @since 9 100 */ 101 checkNewVersion(): Promise<CheckResult>; 102 103 /** 104 * Get new version. 105 * 106 * @permission ohos.permission.UPDATE_SYSTEM 107 * @param { AsyncCallback<NewVersionInfo> } callback - Callback used to return the result. 108 * @throws { BusinessError } 201 - Permission denied. 109 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 110 * @throws { BusinessError } 11500104 - IPC error. 111 * @syscap SystemCapability.Update.UpdateService 112 * @systemapi hide for inner use. 113 * @since 9 114 */ 115 getNewVersionInfo(callback: AsyncCallback<NewVersionInfo>): void; 116 117 /** 118 * Get new version. 119 * 120 * @permission ohos.permission.UPDATE_SYSTEM 121 * @returns { Promise<NewVersionInfo> } Promise used to return the result. 122 * @throws { BusinessError } 201 - Permission denied. 123 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 124 * @throws { BusinessError } 11500104 - IPC error. 125 * @syscap SystemCapability.Update.UpdateService 126 * @systemapi hide for inner use. 127 * @since 9 128 */ 129 getNewVersionInfo(): Promise<NewVersionInfo>; 130 131 /** 132 * Get new version description. 133 * 134 * @permission ohos.permission.UPDATE_SYSTEM 135 * @param { VersionDigestInfo } versionDigestInfo - Version digest information. 136 * @param { DescriptionOptions } descriptionOptions - Options of the description file. 137 * @param { AsyncCallback<Array<ComponentDescription>> } callback - Callback used to return the result. 138 * @throws { BusinessError } 201 - Permission denied. 139 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 140 * @throws { BusinessError } 401 - Parameter verification failed. 141 * @throws { BusinessError } 11500104 - IPC error. 142 * @syscap SystemCapability.Update.UpdateService 143 * @systemapi hide for inner use. 144 * @since 9 145 */ 146 getNewVersionDescription( 147 versionDigestInfo: VersionDigestInfo, 148 descriptionOptions: DescriptionOptions, 149 callback: AsyncCallback<Array<ComponentDescription>> 150 ): void; 151 152 /** 153 * Get new version description. 154 * 155 * @permission ohos.permission.UPDATE_SYSTEM 156 * @param { VersionDigestInfo } versionDigestInfo - Version digest information. 157 * @param { DescriptionOptions } descriptionOptions - Options of the description file. 158 * @returns { Promise<Array<ComponentDescription>> } Promise used to return the result. 159 * @throws { BusinessError } 201 - Permission denied. 160 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 161 * @throws { BusinessError } 401 - Parameter verification failed. 162 * @throws { BusinessError } 11500104 - IPC error. 163 * @syscap SystemCapability.Update.UpdateService 164 * @systemapi hide for inner use. 165 * @since 9 166 */ 167 getNewVersionDescription( 168 versionDigestInfo: VersionDigestInfo, 169 descriptionOptions: DescriptionOptions 170 ): Promise<Array<ComponentDescription>>; 171 172 /** 173 * Get current version. 174 * 175 * @permission ohos.permission.UPDATE_SYSTEM 176 * @param { AsyncCallback<CurrentVersionInfo> } callback - Callback used to return the result. 177 * @throws { BusinessError } 201 - Permission denied. 178 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 179 * @throws { BusinessError } 11500104 - IPC error. 180 * @syscap SystemCapability.Update.UpdateService 181 * @systemapi hide for inner use. 182 * @since 9 183 */ 184 getCurrentVersionInfo(callback: AsyncCallback<CurrentVersionInfo>): void; 185 186 /** 187 * Get current version. 188 * 189 * @permission ohos.permission.UPDATE_SYSTEM 190 * @returns { Promise<CurrentVersionInfo> } Promise used to return the result. 191 * @throws { BusinessError } 201 - Permission denied. 192 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 193 * @throws { BusinessError } 11500104 - IPC error. 194 * @syscap SystemCapability.Update.UpdateService 195 * @systemapi hide for inner use. 196 * @since 9 197 */ 198 getCurrentVersionInfo(): Promise<CurrentVersionInfo>; 199 200 /** 201 * Get current version description. 202 * 203 * @permission ohos.permission.UPDATE_SYSTEM 204 * @param { DescriptionOptions } descriptionOptions - Options of the description file. 205 * @param { AsyncCallback<Array<ComponentDescription>> } callback - Callback used to return the result. 206 * @throws { BusinessError } 201 - Permission denied. 207 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 208 * @throws { BusinessError } 401 - Parameter verification failed. 209 * @throws { BusinessError } 11500104 - IPC error. 210 * @syscap SystemCapability.Update.UpdateService 211 * @systemapi hide for inner use. 212 * @since 9 213 */ 214 getCurrentVersionDescription( 215 descriptionOptions: DescriptionOptions, 216 callback: AsyncCallback<Array<ComponentDescription>> 217 ): void; 218 219 /** 220 * Get current version description. 221 * 222 * @permission ohos.permission.UPDATE_SYSTEM 223 * @param { DescriptionOptions } descriptionOptions - Options of the description file. 224 * @returns { Promise<Array<ComponentDescription>> } Promise used to return the result. 225 * @throws { BusinessError } 201 - Permission denied. 226 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 227 * @throws { BusinessError } 401 - Parameter verification failed. 228 * @throws { BusinessError } 11500104 - IPC error. 229 * @syscap SystemCapability.Update.UpdateService 230 * @systemapi hide for inner use. 231 * @since 9 232 */ 233 getCurrentVersionDescription(descriptionOptions: DescriptionOptions): Promise<Array<ComponentDescription>>; 234 235 /** 236 * Get task info. 237 * 238 * @permission ohos.permission.UPDATE_SYSTEM 239 * @param { AsyncCallback<TaskInfo> } callback - Callback used to return the result. 240 * @throws { BusinessError } 201 - Permission denied. 241 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 242 * @throws { BusinessError } 11500104 - IPC error. 243 * @syscap SystemCapability.Update.UpdateService 244 * @systemapi hide for inner use. 245 * @since 9 246 */ 247 getTaskInfo(callback: AsyncCallback<TaskInfo>): void; 248 249 /** 250 * Get task info. 251 * 252 * @permission ohos.permission.UPDATE_SYSTEM 253 * @returns { Promise<TaskInfo> } Promise used to return the result. 254 * @throws { BusinessError } 201 - Permission denied. 255 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 256 * @throws { BusinessError } 11500104 - IPC error. 257 * @syscap SystemCapability.Update.UpdateService 258 * @systemapi hide for inner use. 259 * @since 9 260 */ 261 getTaskInfo(): Promise<TaskInfo>; 262 263 /** 264 * Trigger download new version packages. 265 * Apps should listen to task update event 266 * 267 * @permission ohos.permission.UPDATE_SYSTEM 268 * @param { VersionDigestInfo } versionDigestInfo - Version digest information. 269 * @param { DownloadOptions } downloadOptions - Download options. 270 * @param { AsyncCallback<void> } callback - Callback used to return the result. 271 * If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object. 272 * @throws { BusinessError } 201 - Permission denied. 273 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 274 * @throws { BusinessError } 401 - Parameter verification failed. 275 * @throws { BusinessError } 11500104 - IPC error. 276 * @syscap SystemCapability.Update.UpdateService 277 * @systemapi hide for inner use. 278 * @since 9 279 */ 280 download( 281 versionDigestInfo: VersionDigestInfo, 282 downloadOptions: DownloadOptions, 283 callback: AsyncCallback<void> 284 ): void; 285 286 /** 287 * Trigger download new version packages. 288 * Apps should listen to task update event 289 * 290 * @permission ohos.permission.UPDATE_SYSTEM 291 * @param { VersionDigestInfo } versionDigestInfo - Version digest information. 292 * @param { DownloadOptions } downloadOptions - Download options. 293 * @returns { Promise<void> } Promise that returns no value. 294 * @throws { BusinessError } 201 - Permission denied. 295 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 296 * @throws { BusinessError } 401 - Parameter verification failed. 297 * @throws { BusinessError } 11500104 - IPC error. 298 * @syscap SystemCapability.Update.UpdateService 299 * @systemapi hide for inner use. 300 * @since 9 301 */ 302 download(versionDigestInfo: VersionDigestInfo, downloadOptions: DownloadOptions): Promise<void>; 303 304 /** 305 * Resume download new version packages. 306 * Apps should listen to task update event 307 * 308 * @permission ohos.permission.UPDATE_SYSTEM 309 * @param { VersionDigestInfo } versionDigestInfo - Version digest information. 310 * @param { ResumeDownloadOptions } resumeDownloadOptions - Options for resume download. 311 * @param { AsyncCallback<void> } callback - Callback used to return the result. 312 * If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object. 313 * @throws { BusinessError } 201 - Permission denied. 314 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 315 * @throws { BusinessError } 401 - Parameter verification failed. 316 * @throws { BusinessError } 11500104 - IPC error. 317 * @syscap SystemCapability.Update.UpdateService 318 * @systemapi hide for inner use. 319 * @since 9 320 */ 321 resumeDownload( 322 versionDigestInfo: VersionDigestInfo, 323 resumeDownloadOptions: ResumeDownloadOptions, 324 callback: AsyncCallback<void> 325 ): void; 326 327 /** 328 * Resume download new version packages. 329 * Apps should listen to task update event 330 * 331 * @permission ohos.permission.UPDATE_SYSTEM 332 * @param { VersionDigestInfo } versionDigestInfo - Version digest information. 333 * @param { ResumeDownloadOptions } resumeDownloadOptions - Options for resume download. 334 * @returns { Promise<void> } Promise that returns no value. 335 * @throws { BusinessError } 201 - Permission denied. 336 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 337 * @throws { BusinessError } 401 - Parameter verification failed. 338 * @throws { BusinessError } 11500104 - IPC error. 339 * @syscap SystemCapability.Update.UpdateService 340 * @systemapi hide for inner use. 341 * @since 9 342 */ 343 resumeDownload(versionDigestInfo: VersionDigestInfo, resumeDownloadOptions: ResumeDownloadOptions): Promise<void>; 344 345 /** 346 * Pause download new version packages. 347 * Apps should listen to task update event 348 * 349 * @permission ohos.permission.UPDATE_SYSTEM 350 * @param { VersionDigestInfo } versionDigestInfo - Version digest information. 351 * @param { PauseDownloadOptions } pauseDownloadOptions - Options for pause download. 352 * @param { AsyncCallback<void> } callback - Callback used to return the result. 353 * If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object. 354 * @throws { BusinessError } 201 - Permission denied. 355 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 356 * @throws { BusinessError } 401 - Parameter verification failed. 357 * @throws { BusinessError } 11500104 - IPC error. 358 * @syscap SystemCapability.Update.UpdateService 359 * @systemapi hide for inner use. 360 * @since 9 361 */ 362 pauseDownload( 363 versionDigestInfo: VersionDigestInfo, 364 pauseDownloadOptions: PauseDownloadOptions, 365 callback: AsyncCallback<void> 366 ): void; 367 368 /** 369 * Pause download new version packages. 370 * Apps should listen to task update event 371 * 372 * @permission ohos.permission.UPDATE_SYSTEM 373 * @param { VersionDigestInfo } versionDigestInfo - Version digest information. 374 * @param { PauseDownloadOptions } pauseDownloadOptions - Options for pause download. 375 * @returns { Promise<void> } Promise that returns no value. 376 * @throws { BusinessError } 201 - Permission denied. 377 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 378 * @throws { BusinessError } 401 - Parameter verification failed. 379 * @throws { BusinessError } 11500104 - IPC error. 380 * @syscap SystemCapability.Update.UpdateService 381 * @systemapi hide for inner use. 382 * @since 9 383 */ 384 pauseDownload(versionDigestInfo: VersionDigestInfo, pauseDownloadOptions: PauseDownloadOptions): Promise<void>; 385 386 /** 387 * Install packages for the device. 388 * Apps should listen to task update event 389 * 390 * @permission ohos.permission.UPDATE_SYSTEM 391 * @param { VersionDigestInfo } versionDigestInfo - Version digest information. 392 * @param { UpgradeOptions } upgradeOptions - Update options. 393 * @param { AsyncCallback<void> } callback - Callback used to return the result. 394 * If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object. 395 * @throws { BusinessError } 201 - Permission denied. 396 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 397 * @throws { BusinessError } 401 - Parameter verification failed. 398 * @throws { BusinessError } 11500104 - IPC error. 399 * @syscap SystemCapability.Update.UpdateService 400 * @systemapi hide for inner use. 401 * @since 9 402 */ 403 upgrade(versionDigestInfo: VersionDigestInfo, upgradeOptions: UpgradeOptions, callback: AsyncCallback<void>): void; 404 405 /** 406 * Install packages for the device. 407 * Apps should listen to task update event 408 * 409 * @permission ohos.permission.UPDATE_SYSTEM 410 * @param { VersionDigestInfo } versionDigestInfo - Version digest information. 411 * @param { UpgradeOptions } upgradeOptions - Update options. 412 * @returns { Promise<void> } Promise that returns no value. 413 * @throws { BusinessError } 201 - Permission denied. 414 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 415 * @throws { BusinessError } 401 - Parameter verification failed. 416 * @throws { BusinessError } 11500104 - IPC error. 417 * @syscap SystemCapability.Update.UpdateService 418 * @systemapi hide for inner use. 419 * @since 9 420 */ 421 upgrade(versionDigestInfo: VersionDigestInfo, upgradeOptions: UpgradeOptions): Promise<void>; 422 423 /** 424 * Clear error during upgrade. 425 * 426 * @permission ohos.permission.UPDATE_SYSTEM 427 * @param { VersionDigestInfo } versionDigestInfo - Version digest information. 428 * @param { ClearOptions } clearOptions - Clear options. 429 * @param { AsyncCallback<void> } callback - Callback used to return the result. 430 * If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object. 431 * @throws { BusinessError } 201 - Permission denied. 432 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 433 * @throws { BusinessError } 401 - Parameter verification failed. 434 * @throws { BusinessError } 11500104 - IPC error. 435 * @syscap SystemCapability.Update.UpdateService 436 * @systemapi hide for inner use. 437 * @since 9 438 */ 439 clearError(versionDigestInfo: VersionDigestInfo, clearOptions: ClearOptions, callback: AsyncCallback<void>): void; 440 441 /** 442 * Clear error during upgrade. 443 * 444 * @permission ohos.permission.UPDATE_SYSTEM 445 * @param { VersionDigestInfo } versionDigestInfo - Version digest information. 446 * @param { ClearOptions } clearOptions - Clear options. 447 * @returns { Promise<void> } Promise that returns no value. 448 * @throws { BusinessError } 201 - Permission denied. 449 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 450 * @throws { BusinessError } 401 - Parameter verification failed. 451 * @throws { BusinessError } 11500104 - IPC error. 452 * @syscap SystemCapability.Update.UpdateService 453 * @systemapi hide for inner use. 454 * @since 9 455 */ 456 clearError(versionDigestInfo: VersionDigestInfo, clearOptions: ClearOptions): Promise<void>; 457 458 /** 459 * Get current upgrade policy. 460 * 461 * @permission ohos.permission.UPDATE_SYSTEM 462 * @param { AsyncCallback<UpgradePolicy> } callback - Callback used to return the result. 463 * @throws { BusinessError } 201 - Permission denied. 464 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 465 * @throws { BusinessError } 11500104 - IPC error. 466 * @syscap SystemCapability.Update.UpdateService 467 * @systemapi hide for inner use. 468 * @since 9 469 */ 470 getUpgradePolicy(callback: AsyncCallback<UpgradePolicy>): void; 471 472 /** 473 * Get current upgrade policy. 474 * 475 * @permission ohos.permission.UPDATE_SYSTEM 476 * @returns { Promise<UpgradePolicy> } Promise used to return the result. 477 * @throws { BusinessError } 201 - Permission denied. 478 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 479 * @throws { BusinessError } 11500104 - IPC error. 480 * @syscap SystemCapability.Update.UpdateService 481 * @systemapi hide for inner use. 482 * @since 9 483 */ 484 getUpgradePolicy(): Promise<UpgradePolicy>; 485 486 /** 487 * Set upgrade policy. 488 * 489 * @permission ohos.permission.UPDATE_SYSTEM 490 * @param { UpgradePolicy } policy - Update policy. 491 * @param { AsyncCallback<void> } callback - Callback used to return the result. 492 * @throws { BusinessError } 201 - Permission denied. 493 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 494 * @throws { BusinessError } 11500104 - IPC error. 495 * @syscap SystemCapability.Update.UpdateService 496 * @systemapi hide for inner use. 497 * @since 9 498 */ 499 setUpgradePolicy(policy: UpgradePolicy, callback: AsyncCallback<void>): void; 500 501 /** 502 * Set upgrade policy. 503 * 504 * @permission ohos.permission.UPDATE_SYSTEM 505 * @param { UpgradePolicy } policy - Update policy. 506 * @returns { Promise<void> } Promise that returns no value. 507 * @throws { BusinessError } 201 - Permission denied. 508 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 509 * @throws { BusinessError } 11500104 - IPC error. 510 * @syscap SystemCapability.Update.UpdateService 511 * @systemapi hide for inner use. 512 * @since 9 513 */ 514 setUpgradePolicy(policy: UpgradePolicy): Promise<void>; 515 516 /** 517 * Terminate upgrade task. 518 * 519 * @permission ohos.permission.UPDATE_SYSTEM 520 * @param { AsyncCallback<void> } callback - Callback used to return the result. 521 * If the operation is successful, 'err' is 'undefined'; otherwise, 'err' is an 'Error' object. 522 * @throws { BusinessError } 201 - Permission denied. 523 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 524 * @throws { BusinessError } 11500104 - IPC error. 525 * @syscap SystemCapability.Update.UpdateService 526 * @systemapi hide for inner use. 527 * @since 9 528 */ 529 terminateUpgrade(callback: AsyncCallback<void>): void; 530 531 /** 532 * Terminate upgrade task. 533 * 534 * @permission ohos.permission.UPDATE_SYSTEM 535 * @returns { Promise<void> } Promise that returns no value. 536 * @throws { BusinessError } 201 - Permission denied. 537 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 538 * @throws { BusinessError } 11500104 - IPC error. 539 * @syscap SystemCapability.Update.UpdateService 540 * @systemapi hide for inner use. 541 * @since 9 542 */ 543 terminateUpgrade(): Promise<void>; 544 545 /** 546 * Subscribe task update events 547 * 548 * @param { EventClassifyInfo } eventClassifyInfo - Event information. 549 * @param { UpgradeTaskCallback } taskCallback - Event callback. 550 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 551 * @syscap SystemCapability.Update.UpdateService 552 * @systemapi hide for inner use. 553 * @since 9 554 */ 555 on(eventClassifyInfo: EventClassifyInfo, taskCallback: UpgradeTaskCallback): void; 556 557 /** 558 * Unsubscribe task update events 559 * 560 * @param { EventClassifyInfo } eventClassifyInfo - Event information. 561 * @param { UpgradeTaskCallback } taskCallback - Event callback. 562 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 563 * @syscap SystemCapability.Update.UpdateService 564 * @systemapi hide for inner use. 565 * @since 9 566 */ 567 off(eventClassifyInfo: EventClassifyInfo, taskCallback?: UpgradeTaskCallback): void; 568 } 569 570 /** 571 * A static class to do restore. 572 * 573 * @interface Restorer 574 * @syscap SystemCapability.Update.UpdateService 575 * @systemapi hide for inner use. 576 * @since 9 577 */ 578 export interface Restorer { 579 /** 580 * Reboot and clean user data. 581 * 582 * @permission ohos.permission.FACTORY_RESET 583 * @param { AsyncCallback<void> } callback - Callback used to return the result. 584 * If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object. 585 * @throws { BusinessError } 201 - Permission denied. 586 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 587 * @throws { BusinessError } 11500104 - IPC error. 588 * @syscap SystemCapability.Update.UpdateService 589 * @systemapi hide for inner use. 590 * @since 9 591 */ 592 factoryReset(callback: AsyncCallback<void>): void; 593 594 /** 595 * Reboot and clean user data. 596 * 597 * @permission ohos.permission.FACTORY_RESET 598 * @returns { Promise<void> } Promise that returns no value. 599 * @throws { BusinessError } 201 - Permission denied. 600 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 601 * @throws { BusinessError } 11500104 - IPC error. 602 * @syscap SystemCapability.Update.UpdateService 603 * @systemapi hide for inner use. 604 * @since 9 605 */ 606 factoryReset(): Promise<void>; 607 } 608 609 /** 610 * A static class to do local update. 611 * 612 * @interface LocalUpdater 613 * @syscap SystemCapability.Update.UpdateService 614 * @systemapi hide for inner use. 615 * @since 9 616 */ 617 export interface LocalUpdater { 618 /** 619 * Verify local update package. 620 * 621 * @permission ohos.permission.UPDATE_SYSTEM 622 * @param { UpgradeFile } upgradeFile - Update file. 623 * @param { string } certsFile - Path of the certificate file. 624 * @param { AsyncCallback<void> } callback - Callback used to return the verify upgrade package result. 625 * @throws { BusinessError } 201 - Permission denied. 626 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 627 * @throws { BusinessError } 401 - Parameter verification failed. 628 * @throws { BusinessError } 11500104 - IPC error. 629 * @syscap SystemCapability.Update.UpdateService 630 * @systemapi hide for inner use. 631 * @since 9 632 */ 633 verifyUpgradePackage(upgradeFile: UpgradeFile, certsFile: string, callback: AsyncCallback<void>): void; 634 635 /** 636 * Verify local update package. 637 * 638 * @permission ohos.permission.UPDATE_SYSTEM 639 * @param { UpgradeFile } upgradeFile - Update file. 640 * @param { string } certsFile - Path of the certificate file. 641 * @returns { Promise<void> } Promise that returns no value. 642 * @throws { BusinessError } 201 - Permission denied. 643 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 644 * @throws { BusinessError } 401 - Parameter verification failed. 645 * @throws { BusinessError } 11500104 - IPC error. 646 * @syscap SystemCapability.Update.UpdateService 647 * @systemapi hide for inner use. 648 * @since 9 649 */ 650 verifyUpgradePackage(upgradeFile: UpgradeFile, certsFile: string): Promise<void>; 651 652 /** 653 * Apply local update package. 654 * Apps should listen to task update event 655 * 656 * @permission ohos.permission.UPDATE_SYSTEM 657 * @param { Array<UpgradeFile> } upgradeFiles - Update files. 658 * @param { AsyncCallback<void> } callback - Callback used to return the apply new version result. 659 * @throws { BusinessError } 201 - Permission denied. 660 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 661 * @throws { BusinessError } 401 - Parameter verification failed. 662 * @throws { BusinessError } 11500104 - IPC error. 663 * @syscap SystemCapability.Update.UpdateService 664 * @systemapi hide for inner use. 665 * @since 9 666 */ 667 applyNewVersion(upgradeFiles: Array<UpgradeFile>, callback: AsyncCallback<void>): void; 668 669 /** 670 * Apply local update package. 671 * Apps should listen to task update event 672 * 673 * @permission ohos.permission.UPDATE_SYSTEM 674 * @param { Array<UpgradeFile> } upgradeFiles - Update files. 675 * @returns { Promise<void> } Promise that returns no value. 676 * @throws { BusinessError } 201 - Permission denied. 677 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 678 * @throws { BusinessError } 401 - Parameter verification failed. 679 * @throws { BusinessError } 11500104 - IPC error. 680 * @syscap SystemCapability.Update.UpdateService 681 * @systemapi hide for inner use. 682 * @since 9 683 */ 684 applyNewVersion(upgradeFiles: Array<UpgradeFile>): Promise<void>; 685 686 /** 687 * Subscribe task update events 688 * 689 * @param { EventClassifyInfo } eventClassifyInfo - Event information. 690 * @param { UpgradeTaskCallback } taskCallback - Event callback. 691 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 692 * @syscap SystemCapability.Update.UpdateService 693 * @systemapi hide for inner use. 694 * @since 9 695 */ 696 on(eventClassifyInfo: EventClassifyInfo, taskCallback: UpgradeTaskCallback): void; 697 698 /** 699 * Unsubscribe task update events 700 * 701 * @param { EventClassifyInfo } eventClassifyInfo - Event information. 702 * @param { UpgradeTaskCallback } taskCallback - Event callback. 703 * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 704 * @syscap SystemCapability.Update.UpdateService 705 * @systemapi hide for inner use. 706 * @since 9 707 */ 708 off(eventClassifyInfo: EventClassifyInfo, taskCallback?: UpgradeTaskCallback): void; 709 } 710 711 /** 712 * Represents upgrade info. 713 * 714 * @typedef UpgradeInfo 715 * @syscap SystemCapability.Update.UpdateService 716 * @systemapi hide for inner use. 717 * @since 9 718 */ 719 export interface UpgradeInfo { 720 /** 721 * Upgrade client package name 722 * 723 * @type { string } 724 * @syscap SystemCapability.Update.UpdateService 725 * @systemapi hide for inner use. 726 * @since 9 727 */ 728 upgradeApp: string; 729 730 /** 731 * BusinessType of upgrade 732 * 733 * @type { BusinessType } 734 * @syscap SystemCapability.Update.UpdateService 735 * @systemapi hide for inner use. 736 * @since 9 737 */ 738 businessType: BusinessType; 739 } 740 741 /** 742 * Represents business type. 743 * 744 * @typedef BusinessType 745 * @syscap SystemCapability.Update.UpdateService 746 * @systemapi hide for inner use. 747 * @since 9 748 */ 749 export interface BusinessType { 750 /** 751 * Vendor of business type 752 * 753 * @type { BusinessVendor } 754 * @syscap SystemCapability.Update.UpdateService 755 * @systemapi hide for inner use. 756 * @since 9 757 */ 758 vendor: BusinessVendor; 759 760 /** 761 * Update service type 762 * 763 * @type { BusinessSubType } 764 * @syscap SystemCapability.Update.UpdateService 765 * @systemapi hide for inner use. 766 * @since 9 767 */ 768 subType: BusinessSubType; 769 } 770 771 /** 772 * Represents new version check result. 773 * 774 * @typedef CheckResult 775 * @syscap SystemCapability.Update.UpdateService 776 * @systemapi hide for inner use. 777 * @since 9 778 */ 779 export interface CheckResult { 780 /** 781 * New version exist or not 782 * 783 * @type { boolean } 784 * @syscap SystemCapability.Update.UpdateService 785 * @systemapi hide for inner use. 786 * @since 9 787 */ 788 isExistNewVersion: boolean; 789 790 /** 791 * New version info 792 * 793 * @type { NewVersionInfo } 794 * @syscap SystemCapability.Update.UpdateService 795 * @systemapi hide for inner use. 796 * @since 9 797 */ 798 newVersionInfo: NewVersionInfo; 799 } 800 801 /** 802 * Represents new version info. 803 * 804 * @typedef NewVersionInfo 805 * @syscap SystemCapability.Update.UpdateService 806 * @systemapi hide for inner use. 807 * @since 9 808 */ 809 export interface NewVersionInfo { 810 /** 811 * Digest info of new version 812 * 813 * @type { VersionDigestInfo } 814 * @syscap SystemCapability.Update.UpdateService 815 * @systemapi hide for inner use. 816 * @since 9 817 */ 818 versionDigestInfo: VersionDigestInfo; 819 820 /** 821 * New version component array 822 * 823 * @type { Array<VersionComponent> } 824 * @syscap SystemCapability.Update.UpdateService 825 * @systemapi hide for inner use. 826 * @since 9 827 */ 828 versionComponents: Array<VersionComponent>; 829 } 830 831 /** 832 * Represents version digest info. 833 * 834 * @typedef VersionDigestInfo 835 * @syscap SystemCapability.Update.UpdateService 836 * @systemapi hide for inner use. 837 * @since 9 838 */ 839 export interface VersionDigestInfo { 840 /** 841 * Version digest value 842 * 843 * @type { string } 844 * @syscap SystemCapability.Update.UpdateService 845 * @systemapi hide for inner use. 846 * @since 9 847 */ 848 versionDigest: string; 849 } 850 851 /** 852 * Represents version component info. 853 * 854 * @typedef VersionComponent 855 * @syscap SystemCapability.Update.UpdateService 856 * @systemapi hide for inner use. 857 * @since 9 858 */ 859 export interface VersionComponent { 860 /** 861 * Version component id 862 * 863 * @type { string } 864 * @syscap SystemCapability.Update.UpdateService 865 * @systemapi hide for inner use. 866 * @since 9 867 */ 868 componentId: string; 869 870 /** 871 * Version component type 872 * 873 * @type { ComponentType } 874 * @syscap SystemCapability.Update.UpdateService 875 * @systemapi hide for inner use. 876 * @since 9 877 */ 878 componentType: ComponentType; 879 880 /** 881 * Upgrade action 882 * 883 * @type { UpgradeAction } 884 * @syscap SystemCapability.Update.UpdateService 885 * @systemapi hide for inner use. 886 * @since 9 887 */ 888 upgradeAction: UpgradeAction; 889 890 /** 891 * Display version number 892 * 893 * @type { string } 894 * @syscap SystemCapability.Update.UpdateService 895 * @systemapi hide for inner use. 896 * @since 9 897 */ 898 displayVersion: string; 899 900 /** 901 * Internal version number 902 * 903 * @type { string } 904 * @syscap SystemCapability.Update.UpdateService 905 * @systemapi hide for inner use. 906 * @since 9 907 */ 908 innerVersion: string; 909 910 /** 911 * Update package size 912 * 913 * @type { number } 914 * @syscap SystemCapability.Update.UpdateService 915 * @systemapi hide for inner use. 916 * @since 9 917 */ 918 size: number; 919 920 /** 921 * Effective mode 922 * 923 * @type { EffectiveMode } 924 * @syscap SystemCapability.Update.UpdateService 925 * @systemapi hide for inner use. 926 * @since 9 927 */ 928 effectiveMode: EffectiveMode; 929 930 /** 931 * Information about the version description file 932 * 933 * @type { DescriptionInfo } 934 * @syscap SystemCapability.Update.UpdateService 935 * @systemapi hide for inner use. 936 * @since 9 937 */ 938 descriptionInfo: DescriptionInfo; 939 } 940 941 /** 942 * Represents description options. 943 * 944 * @typedef DescriptionOptions 945 * @syscap SystemCapability.Update.UpdateService 946 * @systemapi hide for inner use. 947 * @since 9 948 */ 949 export interface DescriptionOptions { 950 /** 951 * Format of the description file 952 * 953 * @type { DescriptionFormat } 954 * @syscap SystemCapability.Update.UpdateService 955 * @systemapi hide for inner use. 956 * @since 9 957 */ 958 format: DescriptionFormat; 959 960 /** 961 * Language of the description file 962 * 963 * @type { string } 964 * @syscap SystemCapability.Update.UpdateService 965 * @systemapi hide for inner use. 966 * @since 9 967 */ 968 language: string; 969 } 970 971 /** 972 * Represents version component description. 973 * 974 * @typedef ComponentDescription 975 * @syscap SystemCapability.Update.UpdateService 976 * @systemapi hide for inner use. 977 * @since 9 978 */ 979 export interface ComponentDescription { 980 /** 981 * Component id 982 * 983 * @type { string } 984 * @syscap SystemCapability.Update.UpdateService 985 * @systemapi hide for inner use. 986 * @since 9 987 */ 988 componentId: string; 989 990 /** 991 * Information about the description file 992 * 993 * @type { DescriptionInfo } 994 * @syscap SystemCapability.Update.UpdateService 995 * @systemapi hide for inner use. 996 * @since 9 997 */ 998 descriptionInfo: DescriptionInfo; 999 } 1000 1001 /** 1002 * Represents new version description information. 1003 * 1004 * @typedef DescriptionInfo 1005 * @syscap SystemCapability.Update.UpdateService 1006 * @systemapi hide for inner use. 1007 * @since 9 1008 */ 1009 export interface DescriptionInfo { 1010 /** 1011 * Description content type 1012 * 1013 * @type { DescriptionType } 1014 * @syscap SystemCapability.Update.UpdateService 1015 * @systemapi hide for inner use. 1016 * @since 9 1017 */ 1018 descriptionType: DescriptionType; 1019 1020 /** 1021 * Content of the description file 1022 * 1023 * @type { string } 1024 * @syscap SystemCapability.Update.UpdateService 1025 * @systemapi hide for inner use. 1026 * @since 9 1027 */ 1028 content: string; 1029 } 1030 1031 /** 1032 * Represents current version info. 1033 * 1034 * @typedef CurrentVersionInfo 1035 * @syscap SystemCapability.Update.UpdateService 1036 * @systemapi hide for inner use. 1037 * @since 9 1038 */ 1039 export interface CurrentVersionInfo { 1040 /** 1041 * System version number 1042 * 1043 * @type { string } 1044 * @syscap SystemCapability.Update.UpdateService 1045 * @systemapi hide for inner use. 1046 * @since 9 1047 */ 1048 osVersion: string; 1049 1050 /** 1051 * Device name 1052 * 1053 * @type { string } 1054 * @syscap SystemCapability.Update.UpdateService 1055 * @systemapi hide for inner use. 1056 * @since 9 1057 */ 1058 deviceName: string; 1059 1060 /** 1061 * Current version component array 1062 * 1063 * @type { Array<VersionComponent> } 1064 * @syscap SystemCapability.Update.UpdateService 1065 * @systemapi hide for inner use. 1066 * @since 9 1067 */ 1068 versionComponents: Array<VersionComponent>; 1069 } 1070 1071 /** 1072 * Represents download options. 1073 * 1074 * @typedef DownloadOptions 1075 * @syscap SystemCapability.Update.UpdateService 1076 * @systemapi hide for inner use. 1077 * @since 9 1078 */ 1079 export interface DownloadOptions { 1080 /** 1081 * Allow download with the network type 1082 * 1083 * @type { NetType } 1084 * @syscap SystemCapability.Update.UpdateService 1085 * @systemapi hide for inner use. 1086 * @since 9 1087 */ 1088 allowNetwork: NetType; 1089 1090 /** 1091 * Upgrade command 1092 * 1093 * @type { Order } 1094 * @syscap SystemCapability.Update.UpdateService 1095 * @systemapi hide for inner use. 1096 * @since 9 1097 */ 1098 order: Order; 1099 } 1100 1101 /** 1102 * Represents resume download options. 1103 * 1104 * @typedef ResumeDownloadOptions 1105 * @syscap SystemCapability.Update.UpdateService 1106 * @systemapi hide for inner use. 1107 * @since 9 1108 */ 1109 export interface ResumeDownloadOptions { 1110 /** 1111 * Allow download with the network type 1112 * 1113 * @type { NetType } 1114 * @syscap SystemCapability.Update.UpdateService 1115 * @systemapi hide for inner use. 1116 * @since 9 1117 */ 1118 allowNetwork: NetType; 1119 } 1120 1121 /** 1122 * Represents pause download options. 1123 * 1124 * @typedef PauseDownloadOptions 1125 * @syscap SystemCapability.Update.UpdateService 1126 * @systemapi hide for inner use. 1127 * @since 9 1128 */ 1129 export interface PauseDownloadOptions { 1130 /** 1131 * Whether allow auto resume when net available 1132 * 1133 * @type { boolean } 1134 * @syscap SystemCapability.Update.UpdateService 1135 * @systemapi hide for inner use. 1136 * @since 9 1137 */ 1138 isAllowAutoResume: boolean; 1139 } 1140 1141 /** 1142 * Represents upgrade options. 1143 * 1144 * @typedef UpgradeOptions 1145 * @syscap SystemCapability.Update.UpdateService 1146 * @systemapi hide for inner use. 1147 * @since 9 1148 */ 1149 export interface UpgradeOptions { 1150 /** 1151 * Upgrade command 1152 * 1153 * @type { Order } 1154 * @syscap SystemCapability.Update.UpdateService 1155 * @systemapi hide for inner use. 1156 * @since 9 1157 */ 1158 order: Order; 1159 } 1160 1161 /** 1162 * Represents clear error options. 1163 * 1164 * @typedef ClearOptions 1165 * @syscap SystemCapability.Update.UpdateService 1166 * @systemapi hide for inner use. 1167 * @since 9 1168 */ 1169 export interface ClearOptions { 1170 /** 1171 * Clear status error 1172 * 1173 * @type { UpgradeStatus } 1174 * @syscap SystemCapability.Update.UpdateService 1175 * @systemapi hide for inner use. 1176 * @since 9 1177 */ 1178 status: UpgradeStatus; 1179 } 1180 1181 /** 1182 * Represents upgrade policy. 1183 * 1184 * @typedef UpgradePolicy 1185 * @syscap SystemCapability.Update.UpdateService 1186 * @systemapi hide for inner use. 1187 * @since 9 1188 */ 1189 export interface UpgradePolicy { 1190 /** 1191 * Download strategy: open or close 1192 * 1193 * @type { boolean } 1194 * @syscap SystemCapability.Update.UpdateService 1195 * @systemapi hide for inner use. 1196 * @since 9 1197 */ 1198 downloadStrategy: boolean; 1199 1200 /** 1201 * Auto upgrade strategy: open or close 1202 * 1203 * @type { boolean } 1204 * @syscap SystemCapability.Update.UpdateService 1205 * @systemapi hide for inner use. 1206 * @since 9 1207 */ 1208 autoUpgradeStrategy: boolean; 1209 1210 /** 1211 * Auto upgrade period 1212 * 1213 * @type { Array<UpgradePeriod> } 1214 * @syscap SystemCapability.Update.UpdateService 1215 * @systemapi hide for inner use. 1216 * @since 9 1217 */ 1218 autoUpgradePeriods: Array<UpgradePeriod>; 1219 } 1220 1221 /** 1222 * Represents upgrade period. 1223 * 1224 * @typedef UpgradePeriod 1225 * @syscap SystemCapability.Update.UpdateService 1226 * @systemapi hide for inner use. 1227 * @since 9 1228 */ 1229 export interface UpgradePeriod { 1230 /** 1231 * Start time of upgrade period 1232 * 1233 * @type { number } 1234 * @syscap SystemCapability.Update.UpdateService 1235 * @systemapi hide for inner use. 1236 * @since 9 1237 */ 1238 start: number; 1239 1240 /** 1241 * End time of upgrade period 1242 * 1243 * @type { number } 1244 * @syscap SystemCapability.Update.UpdateService 1245 * @systemapi hide for inner use. 1246 * @since 9 1247 */ 1248 end: number; 1249 } 1250 1251 /** 1252 * Represents task info. 1253 * 1254 * @typedef TaskInfo 1255 * @syscap SystemCapability.Update.UpdateService 1256 * @systemapi hide for inner use. 1257 * @since 9 1258 */ 1259 export interface TaskInfo { 1260 /** 1261 * Whether upgrade task exist 1262 * 1263 * @type { boolean } 1264 * @syscap SystemCapability.Update.UpdateService 1265 * @systemapi hide for inner use. 1266 * @since 9 1267 */ 1268 existTask: boolean; 1269 1270 /** 1271 * Task body info 1272 * 1273 * @type { TaskBody } 1274 * @syscap SystemCapability.Update.UpdateService 1275 * @systemapi hide for inner use. 1276 * @since 9 1277 */ 1278 taskBody: TaskBody; 1279 } 1280 1281 /** 1282 * Represents event info. 1283 * 1284 * @typedef EventInfo 1285 * @syscap SystemCapability.Update.UpdateService 1286 * @systemapi hide for inner use. 1287 * @since 9 1288 */ 1289 export interface EventInfo { 1290 /** 1291 * Event id 1292 * 1293 * @type { EventId } 1294 * @syscap SystemCapability.Update.UpdateService 1295 * @systemapi hide for inner use. 1296 * @since 9 1297 */ 1298 eventId: EventId; 1299 1300 /** 1301 * Task body info 1302 * 1303 * @type { TaskBody } 1304 * @syscap SystemCapability.Update.UpdateService 1305 * @systemapi hide for inner use. 1306 * @since 9 1307 */ 1308 taskBody: TaskBody; 1309 } 1310 1311 /** 1312 * Represents task body info. 1313 * 1314 * @typedef TaskBody 1315 * @syscap SystemCapability.Update.UpdateService 1316 * @systemapi hide for inner use. 1317 * @since 9 1318 */ 1319 export interface TaskBody { 1320 /** 1321 * Digest info of new version 1322 * 1323 * @type { VersionDigestInfo } 1324 * @syscap SystemCapability.Update.UpdateService 1325 * @systemapi hide for inner use. 1326 * @since 9 1327 */ 1328 versionDigestInfo: VersionDigestInfo; 1329 1330 /** 1331 * Upgrade status 1332 * 1333 * @type { UpgradeStatus } 1334 * @syscap SystemCapability.Update.UpdateService 1335 * @systemapi hide for inner use. 1336 * @since 9 1337 */ 1338 status: UpgradeStatus; 1339 1340 /** 1341 * Upgrade sub status 1342 * 1343 * @type { number } 1344 * @syscap SystemCapability.Update.UpdateService 1345 * @systemapi hide for inner use. 1346 * @since 9 1347 */ 1348 subStatus: number; 1349 1350 /** 1351 * Upgrade progress 1352 * 1353 * @type { number } 1354 * @syscap SystemCapability.Update.UpdateService 1355 * @systemapi hide for inner use. 1356 * @since 9 1357 */ 1358 progress: number; 1359 1360 /** 1361 * Install mode 1362 * 1363 * @type { number } 1364 * @syscap SystemCapability.Update.UpdateService 1365 * @systemapi hide for inner use. 1366 * @since 9 1367 */ 1368 installMode: number; 1369 1370 /** 1371 * Error messages 1372 * 1373 * @type { Array<ErrorMessage> } 1374 * @syscap SystemCapability.Update.UpdateService 1375 * @systemapi hide for inner use. 1376 * @since 9 1377 */ 1378 errorMessages: Array<ErrorMessage>; 1379 1380 /** 1381 * Version component array 1382 * 1383 * @type { Array<VersionComponent> } 1384 * @syscap SystemCapability.Update.UpdateService 1385 * @systemapi hide for inner use. 1386 * @since 9 1387 */ 1388 versionComponents: Array<VersionComponent>; 1389 } 1390 1391 /** 1392 * Represents error message. 1393 * 1394 * @typedef ErrorMessage 1395 * @syscap SystemCapability.Update.UpdateService 1396 * @systemapi hide for inner use. 1397 * @since 9 1398 */ 1399 export interface ErrorMessage { 1400 /** 1401 * Error code 1402 * 1403 * @type { number } 1404 * @syscap SystemCapability.Update.UpdateService 1405 * @systemapi hide for inner use. 1406 * @since 9 1407 */ 1408 errorCode: number; 1409 1410 /** 1411 * Error message 1412 * 1413 * @type { string } 1414 * @syscap SystemCapability.Update.UpdateService 1415 * @systemapi hide for inner use. 1416 * @since 9 1417 */ 1418 errorMessage: string; 1419 } 1420 1421 /** 1422 * Represents event classify info. 1423 * 1424 * @typedef EventClassifyInfo 1425 * @syscap SystemCapability.Update.UpdateService 1426 * @systemapi hide for inner use. 1427 * @since 9 1428 */ 1429 export interface EventClassifyInfo { 1430 /** 1431 * Event classify 1432 * 1433 * @type { EventClassify } 1434 * @syscap SystemCapability.Update.UpdateService 1435 * @systemapi hide for inner use. 1436 * @since 9 1437 */ 1438 eventClassify: EventClassify; 1439 1440 /** 1441 * Additional information 1442 * 1443 * @type { string } 1444 * @syscap SystemCapability.Update.UpdateService 1445 * @systemapi hide for inner use. 1446 * @since 9 1447 */ 1448 extraInfo: string; 1449 } 1450 1451 /** 1452 * Represents upgrade file info. 1453 * 1454 * @typedef UpgradeFile 1455 * @syscap SystemCapability.Update.UpdateService 1456 * @systemapi hide for inner use. 1457 * @since 9 1458 */ 1459 export interface UpgradeFile { 1460 /** 1461 * Upgrade file type 1462 * 1463 * @type { ComponentType } 1464 * @syscap SystemCapability.Update.UpdateService 1465 * @systemapi hide for inner use. 1466 * @since 9 1467 */ 1468 fileType: ComponentType; 1469 1470 /** 1471 * Upgrade file path 1472 * 1473 * @type { string } 1474 * @syscap SystemCapability.Update.UpdateService 1475 * @systemapi hide for inner use. 1476 * @since 9 1477 */ 1478 filePath: string; 1479 } 1480 1481 /** 1482 * Called when upgrade task info changes. 1483 * You need to implement this method in a child class. 1484 * 1485 * @typedef UpgradeTaskCallback 1486 * @syscap SystemCapability.Update.UpdateService 1487 * @systemapi hide for inner use. 1488 * @since 9 1489 */ 1490 export interface UpgradeTaskCallback { 1491 /** 1492 * Event callback. 1493 * 1494 * @param { EventInfo } eventInfo - Event information. 1495 * @syscap SystemCapability.Update.UpdateService 1496 * @systemapi hide for inner use. 1497 * @since 9 1498 */ 1499 (eventInfo: EventInfo): void; 1500 } 1501 1502 /** 1503 * Enumerates business vendor type. 1504 * 1505 * @enum { string } 1506 * @syscap SystemCapability.Update.UpdateService 1507 * @systemapi hide for inner use. 1508 * @since 9 1509 */ 1510 export enum BusinessVendor { 1511 /** 1512 * Device vendor is open source. 1513 * 1514 * @syscap SystemCapability.Update.UpdateService 1515 * @systemapi hide for inner use. 1516 * @since 9 1517 */ 1518 PUBLIC = 'public' 1519 } 1520 1521 /** 1522 * Enumerates business sub type. 1523 * 1524 * @enum { number } 1525 * @syscap SystemCapability.Update.UpdateService 1526 * @systemapi hide for inner use. 1527 * @since 9 1528 */ 1529 export enum BusinessSubType { 1530 /** 1531 * Business sub type is Firmware. 1532 * 1533 * @syscap SystemCapability.Update.UpdateService 1534 * @systemapi hide for inner use. 1535 * @since 9 1536 */ 1537 FIRMWARE = 1 1538 } 1539 1540 /** 1541 * Enumerates component type. 1542 * 1543 * @enum { number } 1544 * @syscap SystemCapability.Update.UpdateService 1545 * @systemapi hide for inner use. 1546 * @since 9 1547 */ 1548 export enum ComponentType { 1549 /** 1550 * Component type is OTA. 1551 * 1552 * @syscap SystemCapability.Update.UpdateService 1553 * @systemapi hide for inner use. 1554 * @since 9 1555 */ 1556 OTA = 1 1557 } 1558 1559 /** 1560 * Enumerates upgrade action type. 1561 * 1562 * @enum { string } 1563 * @syscap SystemCapability.Update.UpdateService 1564 * @systemapi hide for inner use. 1565 * @since 9 1566 */ 1567 export enum UpgradeAction { 1568 /** 1569 * Differential package. 1570 * 1571 * @syscap SystemCapability.Update.UpdateService 1572 * @systemapi hide for inner use. 1573 * @since 9 1574 */ 1575 UPGRADE = 'upgrade', 1576 1577 /** 1578 * Recovery package. 1579 * 1580 * @syscap SystemCapability.Update.UpdateService 1581 * @systemapi hide for inner use. 1582 * @since 9 1583 */ 1584 RECOVERY = 'recovery' 1585 } 1586 1587 /** 1588 * Enumerates effective mode. 1589 * 1590 * @enum { number } 1591 * @syscap SystemCapability.Update.UpdateService 1592 * @systemapi hide for inner use. 1593 * @since 9 1594 */ 1595 export enum EffectiveMode { 1596 /** 1597 * Cold update. 1598 * 1599 * @syscap SystemCapability.Update.UpdateService 1600 * @systemapi hide for inner use. 1601 * @since 9 1602 */ 1603 COLD = 1, 1604 1605 /** 1606 * Live update. 1607 * 1608 * @syscap SystemCapability.Update.UpdateService 1609 * @systemapi hide for inner use. 1610 * @since 9 1611 */ 1612 LIVE = 2, 1613 1614 /** 1615 * Hybrid live and cold update. 1616 * 1617 * @syscap SystemCapability.Update.UpdateService 1618 * @systemapi hide for inner use. 1619 * @since 9 1620 */ 1621 LIVE_AND_COLD = 3 1622 } 1623 1624 /** 1625 * Enumerates description type. 1626 * 1627 * @enum { number } 1628 * @syscap SystemCapability.Update.UpdateService 1629 * @systemapi hide for inner use. 1630 * @since 9 1631 */ 1632 export enum DescriptionType { 1633 /** 1634 * Description type is content. 1635 * 1636 * @syscap SystemCapability.Update.UpdateService 1637 * @systemapi hide for inner use. 1638 * @since 9 1639 */ 1640 CONTENT = 0, 1641 1642 /** 1643 * Description type is link. 1644 * 1645 * @syscap SystemCapability.Update.UpdateService 1646 * @systemapi hide for inner use. 1647 * @since 9 1648 */ 1649 URI = 1 1650 } 1651 1652 /** 1653 * Enumerates description format. 1654 * 1655 * @enum { number } 1656 * @syscap SystemCapability.Update.UpdateService 1657 * @systemapi hide for inner use. 1658 * @since 9 1659 */ 1660 export enum DescriptionFormat { 1661 /** 1662 * Description format is standard format. 1663 * 1664 * @syscap SystemCapability.Update.UpdateService 1665 * @systemapi hide for inner use. 1666 * @since 9 1667 */ 1668 STANDARD = 0, 1669 1670 /** 1671 * Description format is Simple format. 1672 * 1673 * @syscap SystemCapability.Update.UpdateService 1674 * @systemapi hide for inner use. 1675 * @since 9 1676 */ 1677 SIMPLIFIED = 1 1678 } 1679 1680 /** 1681 * Enumerates network type. 1682 * 1683 * @enum { number } 1684 * @syscap SystemCapability.Update.UpdateService 1685 * @systemapi hide for inner use. 1686 * @since 9 1687 */ 1688 export enum NetType { 1689 /** 1690 * Network type is data network. 1691 * 1692 * @syscap SystemCapability.Update.UpdateService 1693 * @systemapi hide for inner use. 1694 * @since 9 1695 */ 1696 CELLULAR = 1, 1697 1698 /** 1699 * Network type is Wi-Fi hotspot. 1700 * 1701 * @syscap SystemCapability.Update.UpdateService 1702 * @systemapi hide for inner use. 1703 * @since 9 1704 */ 1705 METERED_WIFI = 2, 1706 1707 /** 1708 * Network type is non Wi-Fi hotspot. 1709 * 1710 * @syscap SystemCapability.Update.UpdateService 1711 * @systemapi hide for inner use. 1712 * @since 9 1713 */ 1714 NOT_METERED_WIFI = 4, 1715 1716 /** 1717 * Network type is Wi-Fi. 1718 * 1719 * @syscap SystemCapability.Update.UpdateService 1720 * @systemapi hide for inner use. 1721 * @since 9 1722 */ 1723 WIFI = 6, 1724 1725 /** 1726 * Network type is data network and Wi-Fi. 1727 * 1728 * @syscap SystemCapability.Update.UpdateService 1729 * @systemapi hide for inner use. 1730 * @since 9 1731 */ 1732 CELLULAR_AND_WIFI = 7 1733 } 1734 1735 /** 1736 * Enumerates upgrade order. 1737 * 1738 * @enum { number } 1739 * @syscap SystemCapability.Update.UpdateService 1740 * @systemapi hide for inner use. 1741 * @since 9 1742 */ 1743 export enum Order { 1744 /** 1745 * Upgrade order is download. 1746 * 1747 * @syscap SystemCapability.Update.UpdateService 1748 * @systemapi hide for inner use. 1749 * @since 9 1750 */ 1751 DOWNLOAD = 1, 1752 1753 /** 1754 * Upgrade order is Install. 1755 * 1756 * @syscap SystemCapability.Update.UpdateService 1757 * @systemapi hide for inner use. 1758 * @since 9 1759 */ 1760 INSTALL = 2, 1761 1762 /** 1763 * Upgrade order is download and install. 1764 * 1765 * @syscap SystemCapability.Update.UpdateService 1766 * @systemapi hide for inner use. 1767 * @since 9 1768 */ 1769 DOWNLOAD_AND_INSTALL = 3, 1770 1771 /** 1772 * Upgrade order is apply. 1773 * 1774 * @syscap SystemCapability.Update.UpdateService 1775 * @systemapi hide for inner use. 1776 * @since 9 1777 */ 1778 APPLY = 4, 1779 1780 /** 1781 * Upgrade order is install and apply. 1782 * 1783 * @syscap SystemCapability.Update.UpdateService 1784 * @systemapi hide for inner use. 1785 * @since 9 1786 */ 1787 INSTALL_AND_APPLY = 6 1788 } 1789 1790 /** 1791 * Enumerates upgrade status. 1792 * 1793 * @enum { number } 1794 * @syscap SystemCapability.Update.UpdateService 1795 * @systemapi hide for inner use. 1796 * @since 9 1797 */ 1798 export enum UpgradeStatus { 1799 /** 1800 * Upgrade status is waiting for download. 1801 * 1802 * @syscap SystemCapability.Update.UpdateService 1803 * @systemapi hide for inner use. 1804 * @since 9 1805 */ 1806 WAITING_DOWNLOAD = 20, 1807 1808 /** 1809 * Upgrade status is downloading. 1810 * 1811 * @syscap SystemCapability.Update.UpdateService 1812 * @systemapi hide for inner use. 1813 * @since 9 1814 */ 1815 DOWNLOADING = 21, 1816 1817 /** 1818 * Upgrade status is download paused. 1819 * 1820 * @syscap SystemCapability.Update.UpdateService 1821 * @systemapi hide for inner use. 1822 * @since 9 1823 */ 1824 DOWNLOAD_PAUSED = 22, 1825 1826 /** 1827 * Upgrade status is download failed. 1828 * 1829 * @syscap SystemCapability.Update.UpdateService 1830 * @systemapi hide for inner use. 1831 * @since 9 1832 */ 1833 DOWNLOAD_FAIL = 23, 1834 1835 /** 1836 * Upgrade status is waiting for installation. 1837 * 1838 * @syscap SystemCapability.Update.UpdateService 1839 * @systemapi hide for inner use. 1840 * @since 9 1841 */ 1842 WAITING_INSTALL = 30, 1843 1844 /** 1845 * Upgrade status is upgrading. 1846 * 1847 * @syscap SystemCapability.Update.UpdateService 1848 * @systemapi hide for inner use. 1849 * @since 9 1850 */ 1851 UPDATING = 31, 1852 1853 /** 1854 * Upgrade status is waiting for applying the update. 1855 * 1856 * @syscap SystemCapability.Update.UpdateService 1857 * @systemapi hide for inner use. 1858 * @since 9 1859 */ 1860 WAITING_APPLY = 40, 1861 1862 /** 1863 * Upgrade status is applying the update. 1864 * 1865 * @syscap SystemCapability.Update.UpdateService 1866 * @systemapi hide for inner use. 1867 * @since 9 1868 */ 1869 APPLYING = 41, 1870 1871 /** 1872 * Upgrade status is update succeeded. 1873 * 1874 * @syscap SystemCapability.Update.UpdateService 1875 * @systemapi hide for inner use. 1876 * @since 9 1877 */ 1878 UPGRADE_SUCCESS = 50, 1879 1880 /** 1881 * Upgrade status is update failed. 1882 * 1883 * @syscap SystemCapability.Update.UpdateService 1884 * @systemapi hide for inner use. 1885 * @since 9 1886 */ 1887 UPGRADE_FAIL = 51 1888 } 1889 1890 /** 1891 * Enumerates event classify. 1892 * 1893 * @enum { number } 1894 * @syscap SystemCapability.Update.UpdateService 1895 * @systemapi hide for inner use. 1896 * @since 9 1897 */ 1898 export enum EventClassify { 1899 /** 1900 * Event classify is task event. 1901 * 1902 * @syscap SystemCapability.Update.UpdateService 1903 * @systemapi hide for inner use. 1904 * @since 9 1905 */ 1906 TASK = 0x01000000 1907 } 1908 1909 /** 1910 * Enumerates event id. 1911 * 1912 * @enum { number } 1913 * @syscap SystemCapability.Update.UpdateService 1914 * @systemapi hide for inner use. 1915 * @since 9 1916 */ 1917 export enum EventId { 1918 /** 1919 * Event id is task event. 1920 * 1921 * @syscap SystemCapability.Update.UpdateService 1922 * @systemapi hide for inner use. 1923 * @since 9 1924 */ 1925 EVENT_TASK_BASE = EventClassify.TASK, 1926 1927 /** 1928 * Event id is task received. 1929 * 1930 * @syscap SystemCapability.Update.UpdateService 1931 * @systemapi hide for inner use. 1932 * @since 9 1933 */ 1934 EVENT_TASK_RECEIVE, 1935 1936 /** 1937 * Event id is task cancelled. 1938 * 1939 * @syscap SystemCapability.Update.UpdateService 1940 * @systemapi hide for inner use. 1941 * @since 9 1942 */ 1943 EVENT_TASK_CANCEL, 1944 1945 /** 1946 * Event id is waiting for download. 1947 * 1948 * @syscap SystemCapability.Update.UpdateService 1949 * @systemapi hide for inner use. 1950 * @since 9 1951 */ 1952 EVENT_DOWNLOAD_WAIT, 1953 1954 /** 1955 * Event id is download started. 1956 * 1957 * @syscap SystemCapability.Update.UpdateService 1958 * @systemapi hide for inner use. 1959 * @since 9 1960 */ 1961 EVENT_DOWNLOAD_START, 1962 1963 /** 1964 * Event id is download progress update. 1965 * 1966 * @syscap SystemCapability.Update.UpdateService 1967 * @systemapi hide for inner use. 1968 * @since 9 1969 */ 1970 EVENT_DOWNLOAD_UPDATE, 1971 1972 /** 1973 * Event id is download paused. 1974 * 1975 * @syscap SystemCapability.Update.UpdateService 1976 * @systemapi hide for inner use. 1977 * @since 9 1978 */ 1979 EVENT_DOWNLOAD_PAUSE, 1980 1981 /** 1982 * Event id is download resumed. 1983 * 1984 * @syscap SystemCapability.Update.UpdateService 1985 * @systemapi hide for inner use. 1986 * @since 9 1987 */ 1988 EVENT_DOWNLOAD_RESUME, 1989 1990 /** 1991 * Event id is download succeeded. 1992 * 1993 * @syscap SystemCapability.Update.UpdateService 1994 * @systemapi hide for inner use. 1995 * @since 9 1996 */ 1997 EVENT_DOWNLOAD_SUCCESS, 1998 1999 /** 2000 * Event id is download failed. 2001 * 2002 * @syscap SystemCapability.Update.UpdateService 2003 * @systemapi hide for inner use. 2004 * @since 9 2005 */ 2006 EVENT_DOWNLOAD_FAIL, 2007 2008 /** 2009 * Event id is waiting for update. 2010 * 2011 * @syscap SystemCapability.Update.UpdateService 2012 * @systemapi hide for inner use. 2013 * @since 9 2014 */ 2015 EVENT_UPGRADE_WAIT, 2016 2017 /** 2018 * Event id is update started. 2019 * 2020 * @syscap SystemCapability.Update.UpdateService 2021 * @systemapi hide for inner use. 2022 * @since 9 2023 */ 2024 EVENT_UPGRADE_START, 2025 2026 /** 2027 * Event id is update in progress. 2028 * 2029 * @syscap SystemCapability.Update.UpdateService 2030 * @systemapi hide for inner use. 2031 * @since 9 2032 */ 2033 EVENT_UPGRADE_UPDATE, 2034 2035 /** 2036 * Event id is waiting for applying the update. 2037 * 2038 * @syscap SystemCapability.Update.UpdateService 2039 * @systemapi hide for inner use. 2040 * @since 9 2041 */ 2042 EVENT_APPLY_WAIT, 2043 2044 /** 2045 * Event id is applying the update. 2046 * 2047 * @syscap SystemCapability.Update.UpdateService 2048 * @systemapi hide for inner use. 2049 * @since 9 2050 */ 2051 EVENT_APPLY_START, 2052 2053 /** 2054 * Event id is update succeeded. 2055 * 2056 * @syscap SystemCapability.Update.UpdateService 2057 * @systemapi hide for inner use. 2058 * @since 9 2059 */ 2060 EVENT_UPGRADE_SUCCESS, 2061 2062 /** 2063 * Event id is update failed. 2064 * 2065 * @syscap SystemCapability.Update.UpdateService 2066 * @systemapi hide for inner use. 2067 * @since 9 2068 */ 2069 EVENT_UPGRADE_FAIL 2070 } 2071} 2072 2073export default update;