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 * Ota mode 942 * 943 * @type { ?OtaMode } 944 * @syscap SystemCapability.Update.UpdateService 945 * @systemapi hide for inner use. 946 * @since 20 947 */ 948 otaMode?: OtaMode; 949 } 950 951 /** 952 * Represents description options. 953 * 954 * @typedef DescriptionOptions 955 * @syscap SystemCapability.Update.UpdateService 956 * @systemapi hide for inner use. 957 * @since 9 958 */ 959 export interface DescriptionOptions { 960 /** 961 * Format of the description file 962 * 963 * @type { DescriptionFormat } 964 * @syscap SystemCapability.Update.UpdateService 965 * @systemapi hide for inner use. 966 * @since 9 967 */ 968 format: DescriptionFormat; 969 970 /** 971 * Language of the description file 972 * 973 * @type { string } 974 * @syscap SystemCapability.Update.UpdateService 975 * @systemapi hide for inner use. 976 * @since 9 977 */ 978 language: string; 979 } 980 981 /** 982 * Represents version component description. 983 * 984 * @typedef ComponentDescription 985 * @syscap SystemCapability.Update.UpdateService 986 * @systemapi hide for inner use. 987 * @since 9 988 */ 989 export interface ComponentDescription { 990 /** 991 * Component id 992 * 993 * @type { string } 994 * @syscap SystemCapability.Update.UpdateService 995 * @systemapi hide for inner use. 996 * @since 9 997 */ 998 componentId: string; 999 1000 /** 1001 * Information about the description file 1002 * 1003 * @type { DescriptionInfo } 1004 * @syscap SystemCapability.Update.UpdateService 1005 * @systemapi hide for inner use. 1006 * @since 9 1007 */ 1008 descriptionInfo: DescriptionInfo; 1009 } 1010 1011 /** 1012 * Represents new version description information. 1013 * 1014 * @typedef DescriptionInfo 1015 * @syscap SystemCapability.Update.UpdateService 1016 * @systemapi hide for inner use. 1017 * @since 9 1018 */ 1019 export interface DescriptionInfo { 1020 /** 1021 * Description content type 1022 * 1023 * @type { DescriptionType } 1024 * @syscap SystemCapability.Update.UpdateService 1025 * @systemapi hide for inner use. 1026 * @since 9 1027 */ 1028 descriptionType: DescriptionType; 1029 1030 /** 1031 * Content of the description file 1032 * 1033 * @type { string } 1034 * @syscap SystemCapability.Update.UpdateService 1035 * @systemapi hide for inner use. 1036 * @since 9 1037 */ 1038 content: string; 1039 } 1040 1041 /** 1042 * Represents current version info. 1043 * 1044 * @typedef CurrentVersionInfo 1045 * @syscap SystemCapability.Update.UpdateService 1046 * @systemapi hide for inner use. 1047 * @since 9 1048 */ 1049 export interface CurrentVersionInfo { 1050 /** 1051 * System version number 1052 * 1053 * @type { string } 1054 * @syscap SystemCapability.Update.UpdateService 1055 * @systemapi hide for inner use. 1056 * @since 9 1057 */ 1058 osVersion: string; 1059 1060 /** 1061 * Device name 1062 * 1063 * @type { string } 1064 * @syscap SystemCapability.Update.UpdateService 1065 * @systemapi hide for inner use. 1066 * @since 9 1067 */ 1068 deviceName: string; 1069 1070 /** 1071 * Current version component array 1072 * 1073 * @type { Array<VersionComponent> } 1074 * @syscap SystemCapability.Update.UpdateService 1075 * @systemapi hide for inner use. 1076 * @since 9 1077 */ 1078 versionComponents: Array<VersionComponent>; 1079 } 1080 1081 /** 1082 * Represents download options. 1083 * 1084 * @typedef DownloadOptions 1085 * @syscap SystemCapability.Update.UpdateService 1086 * @systemapi hide for inner use. 1087 * @since 9 1088 */ 1089 export interface DownloadOptions { 1090 /** 1091 * Allow download with the network type 1092 * 1093 * @type { NetType } 1094 * @syscap SystemCapability.Update.UpdateService 1095 * @systemapi hide for inner use. 1096 * @since 9 1097 */ 1098 allowNetwork: NetType; 1099 1100 /** 1101 * Upgrade command 1102 * 1103 * @type { Order } 1104 * @syscap SystemCapability.Update.UpdateService 1105 * @systemapi hide for inner use. 1106 * @since 9 1107 */ 1108 order: Order; 1109 } 1110 1111 /** 1112 * Represents resume download options. 1113 * 1114 * @typedef ResumeDownloadOptions 1115 * @syscap SystemCapability.Update.UpdateService 1116 * @systemapi hide for inner use. 1117 * @since 9 1118 */ 1119 export interface ResumeDownloadOptions { 1120 /** 1121 * Allow download with the network type 1122 * 1123 * @type { NetType } 1124 * @syscap SystemCapability.Update.UpdateService 1125 * @systemapi hide for inner use. 1126 * @since 9 1127 */ 1128 allowNetwork: NetType; 1129 } 1130 1131 /** 1132 * Represents pause download options. 1133 * 1134 * @typedef PauseDownloadOptions 1135 * @syscap SystemCapability.Update.UpdateService 1136 * @systemapi hide for inner use. 1137 * @since 9 1138 */ 1139 export interface PauseDownloadOptions { 1140 /** 1141 * Whether allow auto resume when net available 1142 * 1143 * @type { boolean } 1144 * @syscap SystemCapability.Update.UpdateService 1145 * @systemapi hide for inner use. 1146 * @since 9 1147 */ 1148 isAllowAutoResume: boolean; 1149 } 1150 1151 /** 1152 * Represents upgrade options. 1153 * 1154 * @typedef UpgradeOptions 1155 * @syscap SystemCapability.Update.UpdateService 1156 * @systemapi hide for inner use. 1157 * @since 9 1158 */ 1159 export interface UpgradeOptions { 1160 /** 1161 * Upgrade command 1162 * 1163 * @type { Order } 1164 * @syscap SystemCapability.Update.UpdateService 1165 * @systemapi hide for inner use. 1166 * @since 9 1167 */ 1168 order: Order; 1169 } 1170 1171 /** 1172 * Represents clear error options. 1173 * 1174 * @typedef ClearOptions 1175 * @syscap SystemCapability.Update.UpdateService 1176 * @systemapi hide for inner use. 1177 * @since 9 1178 */ 1179 export interface ClearOptions { 1180 /** 1181 * Clear status error 1182 * 1183 * @type { UpgradeStatus } 1184 * @syscap SystemCapability.Update.UpdateService 1185 * @systemapi hide for inner use. 1186 * @since 9 1187 */ 1188 status: UpgradeStatus; 1189 } 1190 1191 /** 1192 * Represents upgrade policy. 1193 * 1194 * @typedef UpgradePolicy 1195 * @syscap SystemCapability.Update.UpdateService 1196 * @systemapi hide for inner use. 1197 * @since 9 1198 */ 1199 export interface UpgradePolicy { 1200 /** 1201 * Download strategy: open or close 1202 * 1203 * @type { boolean } 1204 * @syscap SystemCapability.Update.UpdateService 1205 * @systemapi hide for inner use. 1206 * @since 9 1207 */ 1208 downloadStrategy: boolean; 1209 1210 /** 1211 * Auto upgrade strategy: open or close 1212 * 1213 * @type { boolean } 1214 * @syscap SystemCapability.Update.UpdateService 1215 * @systemapi hide for inner use. 1216 * @since 9 1217 */ 1218 autoUpgradeStrategy: boolean; 1219 1220 /** 1221 * Auto upgrade period 1222 * 1223 * @type { Array<UpgradePeriod> } 1224 * @syscap SystemCapability.Update.UpdateService 1225 * @systemapi hide for inner use. 1226 * @since 9 1227 */ 1228 autoUpgradePeriods: Array<UpgradePeriod>; 1229 } 1230 1231 /** 1232 * Represents upgrade period. 1233 * 1234 * @typedef UpgradePeriod 1235 * @syscap SystemCapability.Update.UpdateService 1236 * @systemapi hide for inner use. 1237 * @since 9 1238 */ 1239 export interface UpgradePeriod { 1240 /** 1241 * Start time of upgrade period 1242 * 1243 * @type { number } 1244 * @syscap SystemCapability.Update.UpdateService 1245 * @systemapi hide for inner use. 1246 * @since 9 1247 */ 1248 start: number; 1249 1250 /** 1251 * End time of upgrade period 1252 * 1253 * @type { number } 1254 * @syscap SystemCapability.Update.UpdateService 1255 * @systemapi hide for inner use. 1256 * @since 9 1257 */ 1258 end: number; 1259 } 1260 1261 /** 1262 * Represents task info. 1263 * 1264 * @typedef TaskInfo 1265 * @syscap SystemCapability.Update.UpdateService 1266 * @systemapi hide for inner use. 1267 * @since 9 1268 */ 1269 export interface TaskInfo { 1270 /** 1271 * Whether upgrade task exist 1272 * 1273 * @type { boolean } 1274 * @syscap SystemCapability.Update.UpdateService 1275 * @systemapi hide for inner use. 1276 * @since 9 1277 */ 1278 existTask: boolean; 1279 1280 /** 1281 * Task body info 1282 * 1283 * @type { TaskBody } 1284 * @syscap SystemCapability.Update.UpdateService 1285 * @systemapi hide for inner use. 1286 * @since 9 1287 */ 1288 taskBody: TaskBody; 1289 } 1290 1291 /** 1292 * Represents event info. 1293 * 1294 * @typedef EventInfo 1295 * @syscap SystemCapability.Update.UpdateService 1296 * @systemapi hide for inner use. 1297 * @since 9 1298 */ 1299 export interface EventInfo { 1300 /** 1301 * Event id 1302 * 1303 * @type { EventId } 1304 * @syscap SystemCapability.Update.UpdateService 1305 * @systemapi hide for inner use. 1306 * @since 9 1307 */ 1308 eventId: EventId; 1309 1310 /** 1311 * Task body info 1312 * 1313 * @type { TaskBody } 1314 * @syscap SystemCapability.Update.UpdateService 1315 * @systemapi hide for inner use. 1316 * @since 9 1317 */ 1318 taskBody: TaskBody; 1319 } 1320 1321 /** 1322 * Represents task body info. 1323 * 1324 * @typedef TaskBody 1325 * @syscap SystemCapability.Update.UpdateService 1326 * @systemapi hide for inner use. 1327 * @since 9 1328 */ 1329 export interface TaskBody { 1330 /** 1331 * Digest info of new version 1332 * 1333 * @type { VersionDigestInfo } 1334 * @syscap SystemCapability.Update.UpdateService 1335 * @systemapi hide for inner use. 1336 * @since 9 1337 */ 1338 versionDigestInfo: VersionDigestInfo; 1339 1340 /** 1341 * Upgrade status 1342 * 1343 * @type { UpgradeStatus } 1344 * @syscap SystemCapability.Update.UpdateService 1345 * @systemapi hide for inner use. 1346 * @since 9 1347 */ 1348 status: UpgradeStatus; 1349 1350 /** 1351 * Upgrade sub status 1352 * 1353 * @type { number } 1354 * @syscap SystemCapability.Update.UpdateService 1355 * @systemapi hide for inner use. 1356 * @since 9 1357 */ 1358 subStatus: number; 1359 1360 /** 1361 * Upgrade progress 1362 * 1363 * @type { number } 1364 * @syscap SystemCapability.Update.UpdateService 1365 * @systemapi hide for inner use. 1366 * @since 9 1367 */ 1368 progress: number; 1369 1370 /** 1371 * Install mode 1372 * 1373 * @type { number } 1374 * @syscap SystemCapability.Update.UpdateService 1375 * @systemapi hide for inner use. 1376 * @since 9 1377 */ 1378 installMode: number; 1379 1380 /** 1381 * Error messages 1382 * 1383 * @type { Array<ErrorMessage> } 1384 * @syscap SystemCapability.Update.UpdateService 1385 * @systemapi hide for inner use. 1386 * @since 9 1387 */ 1388 errorMessages: Array<ErrorMessage>; 1389 1390 /** 1391 * Version component array 1392 * 1393 * @type { Array<VersionComponent> } 1394 * @syscap SystemCapability.Update.UpdateService 1395 * @systemapi hide for inner use. 1396 * @since 9 1397 */ 1398 versionComponents: Array<VersionComponent>; 1399 } 1400 1401 /** 1402 * Represents error message. 1403 * 1404 * @typedef ErrorMessage 1405 * @syscap SystemCapability.Update.UpdateService 1406 * @systemapi hide for inner use. 1407 * @since 9 1408 */ 1409 export interface ErrorMessage { 1410 /** 1411 * Error code 1412 * 1413 * @type { number } 1414 * @syscap SystemCapability.Update.UpdateService 1415 * @systemapi hide for inner use. 1416 * @since 9 1417 */ 1418 errorCode: number; 1419 1420 /** 1421 * Error message 1422 * 1423 * @type { string } 1424 * @syscap SystemCapability.Update.UpdateService 1425 * @systemapi hide for inner use. 1426 * @since 9 1427 */ 1428 errorMessage: string; 1429 } 1430 1431 /** 1432 * Represents event classify info. 1433 * 1434 * @typedef EventClassifyInfo 1435 * @syscap SystemCapability.Update.UpdateService 1436 * @systemapi hide for inner use. 1437 * @since 9 1438 */ 1439 export interface EventClassifyInfo { 1440 /** 1441 * Event classify 1442 * 1443 * @type { EventClassify } 1444 * @syscap SystemCapability.Update.UpdateService 1445 * @systemapi hide for inner use. 1446 * @since 9 1447 */ 1448 eventClassify: EventClassify; 1449 1450 /** 1451 * Additional information 1452 * 1453 * @type { string } 1454 * @syscap SystemCapability.Update.UpdateService 1455 * @systemapi hide for inner use. 1456 * @since 9 1457 */ 1458 extraInfo: string; 1459 } 1460 1461 /** 1462 * Represents upgrade file info. 1463 * 1464 * @typedef UpgradeFile 1465 * @syscap SystemCapability.Update.UpdateService 1466 * @systemapi hide for inner use. 1467 * @since 9 1468 */ 1469 export interface UpgradeFile { 1470 /** 1471 * Upgrade file type 1472 * 1473 * @type { ComponentType } 1474 * @syscap SystemCapability.Update.UpdateService 1475 * @systemapi hide for inner use. 1476 * @since 9 1477 */ 1478 fileType: ComponentType; 1479 1480 /** 1481 * Upgrade file path 1482 * 1483 * @type { string } 1484 * @syscap SystemCapability.Update.UpdateService 1485 * @systemapi hide for inner use. 1486 * @since 9 1487 */ 1488 filePath: string; 1489 } 1490 1491 /** 1492 * Called when upgrade task info changes. 1493 * You need to implement this method in a child class. 1494 * 1495 * @typedef UpgradeTaskCallback 1496 * @syscap SystemCapability.Update.UpdateService 1497 * @systemapi hide for inner use. 1498 * @since 9 1499 */ 1500 export interface UpgradeTaskCallback { 1501 /** 1502 * Event callback. 1503 * 1504 * @param { EventInfo } eventInfo - Event information. 1505 * @syscap SystemCapability.Update.UpdateService 1506 * @systemapi hide for inner use. 1507 * @since 9 1508 */ 1509 (eventInfo: EventInfo): void; 1510 } 1511 1512 /** 1513 * Enumerates business vendor type. 1514 * 1515 * @enum { string } 1516 * @syscap SystemCapability.Update.UpdateService 1517 * @systemapi hide for inner use. 1518 * @since 9 1519 */ 1520 export enum BusinessVendor { 1521 /** 1522 * Device vendor is open source. 1523 * 1524 * @syscap SystemCapability.Update.UpdateService 1525 * @systemapi hide for inner use. 1526 * @since 9 1527 */ 1528 PUBLIC = 'public' 1529 } 1530 1531 /** 1532 * Enumerates business sub type. 1533 * 1534 * @enum { number } 1535 * @syscap SystemCapability.Update.UpdateService 1536 * @systemapi hide for inner use. 1537 * @since 9 1538 */ 1539 export enum BusinessSubType { 1540 /** 1541 * Business sub type is Firmware. 1542 * 1543 * @syscap SystemCapability.Update.UpdateService 1544 * @systemapi hide for inner use. 1545 * @since 9 1546 */ 1547 FIRMWARE = 1 1548 } 1549 1550 /** 1551 * Enumerates component type. 1552 * 1553 * @enum { number } 1554 * @syscap SystemCapability.Update.UpdateService 1555 * @systemapi hide for inner use. 1556 * @since 9 1557 */ 1558 export enum ComponentType { 1559 /** 1560 * Component type is OTA. 1561 * 1562 * @syscap SystemCapability.Update.UpdateService 1563 * @systemapi hide for inner use. 1564 * @since 9 1565 */ 1566 OTA = 1 1567 } 1568 1569 /** 1570 * Enumerates upgrade action type. 1571 * 1572 * @enum { string } 1573 * @syscap SystemCapability.Update.UpdateService 1574 * @systemapi hide for inner use. 1575 * @since 9 1576 */ 1577 export enum UpgradeAction { 1578 /** 1579 * Differential package. 1580 * 1581 * @syscap SystemCapability.Update.UpdateService 1582 * @systemapi hide for inner use. 1583 * @since 9 1584 */ 1585 UPGRADE = 'upgrade', 1586 1587 /** 1588 * Recovery package. 1589 * 1590 * @syscap SystemCapability.Update.UpdateService 1591 * @systemapi hide for inner use. 1592 * @since 9 1593 */ 1594 RECOVERY = 'recovery' 1595 } 1596 1597 /** 1598 * Enumerates effective mode. 1599 * 1600 * @enum { number } 1601 * @syscap SystemCapability.Update.UpdateService 1602 * @systemapi hide for inner use. 1603 * @since 9 1604 */ 1605 export enum EffectiveMode { 1606 /** 1607 * Cold update. 1608 * 1609 * @syscap SystemCapability.Update.UpdateService 1610 * @systemapi hide for inner use. 1611 * @since 9 1612 */ 1613 COLD = 1, 1614 1615 /** 1616 * Live update. 1617 * 1618 * @syscap SystemCapability.Update.UpdateService 1619 * @systemapi hide for inner use. 1620 * @since 9 1621 */ 1622 LIVE = 2, 1623 1624 /** 1625 * Hybrid live and cold update. 1626 * 1627 * @syscap SystemCapability.Update.UpdateService 1628 * @systemapi hide for inner use. 1629 * @since 9 1630 */ 1631 LIVE_AND_COLD = 3 1632 } 1633 1634 /** 1635 * Enumerates ota mode. 1636 * 1637 * @enum { number } 1638 * @syscap SystemCapability.Update.UpdateService 1639 * @systemapi hide for inner use. 1640 * @since 20 1641 */ 1642 export enum OtaMode { 1643 /** 1644 * Regular update. 1645 * 1646 * @syscap SystemCapability.Update.UpdateService 1647 * @systemapi hide for inner use. 1648 * @since 20 1649 */ 1650 REGULAR_OTA = 0, 1651 1652 /** 1653 * Stream update. 1654 * 1655 * @syscap SystemCapability.Update.UpdateService 1656 * @systemapi hide for inner use. 1657 * @since 20 1658 */ 1659 STREAM_OTA = 1, 1660 1661 /** 1662 * AB regular update. 1663 * 1664 * @syscap SystemCapability.Update.UpdateService 1665 * @systemapi hide for inner use. 1666 * @since 20 1667 */ 1668 AB_REGULAR_OTA = 2, 1669 1670 /** 1671 * AB stream update. 1672 * 1673 * @syscap SystemCapability.Update.UpdateService 1674 * @systemapi hide for inner use. 1675 * @since 20 1676 */ 1677 AB_STREAM_OTA = 3 1678 } 1679 1680 /** 1681 * Enumerates description type. 1682 * 1683 * @enum { number } 1684 * @syscap SystemCapability.Update.UpdateService 1685 * @systemapi hide for inner use. 1686 * @since 9 1687 */ 1688 export enum DescriptionType { 1689 /** 1690 * Description type is content. 1691 * 1692 * @syscap SystemCapability.Update.UpdateService 1693 * @systemapi hide for inner use. 1694 * @since 9 1695 */ 1696 CONTENT = 0, 1697 1698 /** 1699 * Description type is link. 1700 * 1701 * @syscap SystemCapability.Update.UpdateService 1702 * @systemapi hide for inner use. 1703 * @since 9 1704 */ 1705 URI = 1 1706 } 1707 1708 /** 1709 * Enumerates description format. 1710 * 1711 * @enum { number } 1712 * @syscap SystemCapability.Update.UpdateService 1713 * @systemapi hide for inner use. 1714 * @since 9 1715 */ 1716 export enum DescriptionFormat { 1717 /** 1718 * Description format is standard format. 1719 * 1720 * @syscap SystemCapability.Update.UpdateService 1721 * @systemapi hide for inner use. 1722 * @since 9 1723 */ 1724 STANDARD = 0, 1725 1726 /** 1727 * Description format is Simple format. 1728 * 1729 * @syscap SystemCapability.Update.UpdateService 1730 * @systemapi hide for inner use. 1731 * @since 9 1732 */ 1733 SIMPLIFIED = 1 1734 } 1735 1736 /** 1737 * Enumerates network type. 1738 * 1739 * @enum { number } 1740 * @syscap SystemCapability.Update.UpdateService 1741 * @systemapi hide for inner use. 1742 * @since 9 1743 */ 1744 export enum NetType { 1745 /** 1746 * Network type is data network. 1747 * 1748 * @syscap SystemCapability.Update.UpdateService 1749 * @systemapi hide for inner use. 1750 * @since 9 1751 */ 1752 CELLULAR = 1, 1753 1754 /** 1755 * Network type is Wi-Fi hotspot. 1756 * 1757 * @syscap SystemCapability.Update.UpdateService 1758 * @systemapi hide for inner use. 1759 * @since 9 1760 */ 1761 METERED_WIFI = 2, 1762 1763 /** 1764 * Network type is non Wi-Fi hotspot. 1765 * 1766 * @syscap SystemCapability.Update.UpdateService 1767 * @systemapi hide for inner use. 1768 * @since 9 1769 */ 1770 NOT_METERED_WIFI = 4, 1771 1772 /** 1773 * Network type is Wi-Fi. 1774 * 1775 * @syscap SystemCapability.Update.UpdateService 1776 * @systemapi hide for inner use. 1777 * @since 9 1778 */ 1779 WIFI = 6, 1780 1781 /** 1782 * Network type is data network and Wi-Fi. 1783 * 1784 * @syscap SystemCapability.Update.UpdateService 1785 * @systemapi hide for inner use. 1786 * @since 9 1787 */ 1788 CELLULAR_AND_WIFI = 7 1789 } 1790 1791 /** 1792 * Enumerates upgrade order. 1793 * 1794 * @enum { number } 1795 * @syscap SystemCapability.Update.UpdateService 1796 * @systemapi hide for inner use. 1797 * @since 9 1798 */ 1799 export enum Order { 1800 /** 1801 * Upgrade order is download. 1802 * 1803 * @syscap SystemCapability.Update.UpdateService 1804 * @systemapi hide for inner use. 1805 * @since 9 1806 */ 1807 DOWNLOAD = 1, 1808 1809 /** 1810 * Upgrade order is Install. 1811 * 1812 * @syscap SystemCapability.Update.UpdateService 1813 * @systemapi hide for inner use. 1814 * @since 9 1815 */ 1816 INSTALL = 2, 1817 1818 /** 1819 * Upgrade order is download and install. 1820 * 1821 * @syscap SystemCapability.Update.UpdateService 1822 * @systemapi hide for inner use. 1823 * @since 9 1824 */ 1825 DOWNLOAD_AND_INSTALL = 3, 1826 1827 /** 1828 * Upgrade order is apply. 1829 * 1830 * @syscap SystemCapability.Update.UpdateService 1831 * @systemapi hide for inner use. 1832 * @since 9 1833 */ 1834 APPLY = 4, 1835 1836 /** 1837 * Upgrade order is install and apply. 1838 * 1839 * @syscap SystemCapability.Update.UpdateService 1840 * @systemapi hide for inner use. 1841 * @since 9 1842 */ 1843 INSTALL_AND_APPLY = 6 1844 } 1845 1846 /** 1847 * Enumerates upgrade status. 1848 * 1849 * @enum { number } 1850 * @syscap SystemCapability.Update.UpdateService 1851 * @systemapi hide for inner use. 1852 * @since 9 1853 */ 1854 export enum UpgradeStatus { 1855 /** 1856 * Upgrade status is waiting for download. 1857 * 1858 * @syscap SystemCapability.Update.UpdateService 1859 * @systemapi hide for inner use. 1860 * @since 9 1861 */ 1862 WAITING_DOWNLOAD = 20, 1863 1864 /** 1865 * Upgrade status is downloading. 1866 * 1867 * @syscap SystemCapability.Update.UpdateService 1868 * @systemapi hide for inner use. 1869 * @since 9 1870 */ 1871 DOWNLOADING = 21, 1872 1873 /** 1874 * Upgrade status is download paused. 1875 * 1876 * @syscap SystemCapability.Update.UpdateService 1877 * @systemapi hide for inner use. 1878 * @since 9 1879 */ 1880 DOWNLOAD_PAUSED = 22, 1881 1882 /** 1883 * Upgrade status is download failed. 1884 * 1885 * @syscap SystemCapability.Update.UpdateService 1886 * @systemapi hide for inner use. 1887 * @since 9 1888 */ 1889 DOWNLOAD_FAIL = 23, 1890 1891 /** 1892 * Upgrade status is waiting for installation. 1893 * 1894 * @syscap SystemCapability.Update.UpdateService 1895 * @systemapi hide for inner use. 1896 * @since 9 1897 */ 1898 WAITING_INSTALL = 30, 1899 1900 /** 1901 * Upgrade status is upgrading. 1902 * 1903 * @syscap SystemCapability.Update.UpdateService 1904 * @systemapi hide for inner use. 1905 * @since 9 1906 */ 1907 UPDATING = 31, 1908 1909 /** 1910 * Upgrade status is waiting for applying the update. 1911 * 1912 * @syscap SystemCapability.Update.UpdateService 1913 * @systemapi hide for inner use. 1914 * @since 9 1915 */ 1916 WAITING_APPLY = 40, 1917 1918 /** 1919 * Upgrade status is applying the update. 1920 * 1921 * @syscap SystemCapability.Update.UpdateService 1922 * @systemapi hide for inner use. 1923 * @since 9 1924 */ 1925 APPLYING = 41, 1926 1927 /** 1928 * Upgrade status is update succeeded. 1929 * 1930 * @syscap SystemCapability.Update.UpdateService 1931 * @systemapi hide for inner use. 1932 * @since 9 1933 */ 1934 UPGRADE_SUCCESS = 50, 1935 1936 /** 1937 * Upgrade status is update failed. 1938 * 1939 * @syscap SystemCapability.Update.UpdateService 1940 * @systemapi hide for inner use. 1941 * @since 9 1942 */ 1943 UPGRADE_FAIL = 51 1944 } 1945 1946 /** 1947 * Enumerates event classify. 1948 * 1949 * @enum { number } 1950 * @syscap SystemCapability.Update.UpdateService 1951 * @systemapi hide for inner use. 1952 * @since 9 1953 */ 1954 export enum EventClassify { 1955 /** 1956 * Event classify is task event. 1957 * 1958 * @syscap SystemCapability.Update.UpdateService 1959 * @systemapi hide for inner use. 1960 * @since 9 1961 */ 1962 TASK = 0x01000000 1963 } 1964 1965 /** 1966 * Enumerates event id. 1967 * 1968 * @enum { number } 1969 * @syscap SystemCapability.Update.UpdateService 1970 * @systemapi hide for inner use. 1971 * @since 9 1972 */ 1973 export enum EventId { 1974 /** 1975 * Event id is task event. 1976 * 1977 * @syscap SystemCapability.Update.UpdateService 1978 * @systemapi hide for inner use. 1979 * @since 9 1980 */ 1981 EVENT_TASK_BASE = EventClassify.TASK, 1982 1983 /** 1984 * Event id is task received. 1985 * 1986 * @syscap SystemCapability.Update.UpdateService 1987 * @systemapi hide for inner use. 1988 * @since 9 1989 */ 1990 EVENT_TASK_RECEIVE, 1991 1992 /** 1993 * Event id is task cancelled. 1994 * 1995 * @syscap SystemCapability.Update.UpdateService 1996 * @systemapi hide for inner use. 1997 * @since 9 1998 */ 1999 EVENT_TASK_CANCEL, 2000 2001 /** 2002 * Event id is waiting for download. 2003 * 2004 * @syscap SystemCapability.Update.UpdateService 2005 * @systemapi hide for inner use. 2006 * @since 9 2007 */ 2008 EVENT_DOWNLOAD_WAIT, 2009 2010 /** 2011 * Event id is download started. 2012 * 2013 * @syscap SystemCapability.Update.UpdateService 2014 * @systemapi hide for inner use. 2015 * @since 9 2016 */ 2017 EVENT_DOWNLOAD_START, 2018 2019 /** 2020 * Event id is download progress update. 2021 * 2022 * @syscap SystemCapability.Update.UpdateService 2023 * @systemapi hide for inner use. 2024 * @since 9 2025 */ 2026 EVENT_DOWNLOAD_UPDATE, 2027 2028 /** 2029 * Event id is download paused. 2030 * 2031 * @syscap SystemCapability.Update.UpdateService 2032 * @systemapi hide for inner use. 2033 * @since 9 2034 */ 2035 EVENT_DOWNLOAD_PAUSE, 2036 2037 /** 2038 * Event id is download resumed. 2039 * 2040 * @syscap SystemCapability.Update.UpdateService 2041 * @systemapi hide for inner use. 2042 * @since 9 2043 */ 2044 EVENT_DOWNLOAD_RESUME, 2045 2046 /** 2047 * Event id is download succeeded. 2048 * 2049 * @syscap SystemCapability.Update.UpdateService 2050 * @systemapi hide for inner use. 2051 * @since 9 2052 */ 2053 EVENT_DOWNLOAD_SUCCESS, 2054 2055 /** 2056 * Event id is download failed. 2057 * 2058 * @syscap SystemCapability.Update.UpdateService 2059 * @systemapi hide for inner use. 2060 * @since 9 2061 */ 2062 EVENT_DOWNLOAD_FAIL, 2063 2064 /** 2065 * Event id is waiting for update. 2066 * 2067 * @syscap SystemCapability.Update.UpdateService 2068 * @systemapi hide for inner use. 2069 * @since 9 2070 */ 2071 EVENT_UPGRADE_WAIT, 2072 2073 /** 2074 * Event id is update started. 2075 * 2076 * @syscap SystemCapability.Update.UpdateService 2077 * @systemapi hide for inner use. 2078 * @since 9 2079 */ 2080 EVENT_UPGRADE_START, 2081 2082 /** 2083 * Event id is update in progress. 2084 * 2085 * @syscap SystemCapability.Update.UpdateService 2086 * @systemapi hide for inner use. 2087 * @since 9 2088 */ 2089 EVENT_UPGRADE_UPDATE, 2090 2091 /** 2092 * Event id is waiting for applying the update. 2093 * 2094 * @syscap SystemCapability.Update.UpdateService 2095 * @systemapi hide for inner use. 2096 * @since 9 2097 */ 2098 EVENT_APPLY_WAIT, 2099 2100 /** 2101 * Event id is applying the update. 2102 * 2103 * @syscap SystemCapability.Update.UpdateService 2104 * @systemapi hide for inner use. 2105 * @since 9 2106 */ 2107 EVENT_APPLY_START, 2108 2109 /** 2110 * Event id is update succeeded. 2111 * 2112 * @syscap SystemCapability.Update.UpdateService 2113 * @systemapi hide for inner use. 2114 * @since 9 2115 */ 2116 EVENT_UPGRADE_SUCCESS, 2117 2118 /** 2119 * Event id is update failed. 2120 * 2121 * @syscap SystemCapability.Update.UpdateService 2122 * @systemapi hide for inner use. 2123 * @since 9 2124 */ 2125 EVENT_UPGRADE_FAIL 2126 } 2127} 2128 2129export default update;