# BundleManager

## Overview

Provides structures and functions for managing application bundles and obtaining application information.

You can use functions provided by this module to install, update, or uninstall an application, obtain AbilityInfo and BundleInfo about an application, and obtain the bundle name of an application based on the application’s user ID (UID).

Since:

1.0

Version:

1.0

## Files

File Name

Description

Declares structures and functions for managing ability information.

Declares error codes returned by bundle management functions.

Declares structures and functions for managing application bundle information.

Declares functions used for managing application bundles and obtaining bundle information.

Declares the structure that defines the required information for querying AbilityInfo, including the device ID, bundle name, and class name, and functions for setting such information.

Declares structures and functions for managing HAP package information.

## Data Structures

Data Structure Name

Description

Defines the ability information.

Defines the bundle information.

Defines the ability information.

Defines the metadata information in a ModuleInfo object.

Defines the HAP information.

## Typedefs

Typedef Name

Description

InstallerCallback) (const uint8_t resultCode, const void resultMessage)

typedef void(

Called when an application is installed, updated, or uninstalled.

## Functions

Function Name

Description

ClearAbilityInfo (AbilityInfo abilityInfo)

void

Clears an AbilityInfo object.

ClearBundleInfo (BundleInfo bundleInfo)

void

Clears a BundleInfo object.

RegisterCallback (BundleStatusCallback BundleStatusCallback)

int32_t

Registers a callback to monitor the installation, update, and uninstallation state changes of an application.

int32_t

Unregisters a callback previously registered for monitoring the installation, update, and uninstallation state changes of an application.

Install (const char hapPath, const InstallParam installParam, InstallerCallback installerCallback)

bool

Uninstall (const char bundleName, const InstallParam installParam, InstallerCallback installerCallback)

bool

Uninstalls an application.

QueryAbilityInfo (const Want want, AbilityInfo abilityInfo)

uint8_t

Queries the AbilityInfo of an ability based on the information carried in the Want structure.

GetBundleInfo (const char bundleName, int32_t flags, BundleInfo bundleInfo)

uint8_t

Obtains the BundleInfo of an application based on the specified bundle name.

GetBundleInfos (const int flags, BundleInfo **bundleInfos, int32_t len)

uint8_t

Obtains the BundleInfo of all bundles in the system.

QueryKeepAliveBundleInfos (BundleInfo bundleInfos, int32_t len)

uint8_t

Obtains the BundleInfo of all keep-alive applications in the system.

uint8_t

Obtains the BundleInfo of application bundles based on the specified MetaData.

GetBundleNameForUid (int32_t uid, char **bundleName)

uint8_t

Obtains the bundle name of an application based on the specified UID.

ClearElement (ElementName element)

void

Clears the internal data of a specified ElementName.

SetElementDeviceID (ElementName element, const char deviceId)

bool

Sets the device ID used to query AbilityInfo.

SetElementBundleName (ElementName element, const char bundleName)

bool

Sets the bundle name used to query AbilityInfo.

SetElementAbilityName (ElementName element, const char abilityName)

bool

Sets the class name of the ability used to query AbilityInfo.

ClearModuleInfo (ModuleInfo *moduleInfo)

void

Clears a ModuleInfo object.

## InstallerCallback

typedef void(* InstallerCallback) (const uint8_t resultCode, const void *resultMessage)

Description:

Called when an application is installed, updated, or uninstalled.

This function can be registered through Install and Uninstall to receive the installation, update, and uninstallation result.

Parameters:

Name

Description

resultCode Indicates the status code returned for the application installation, update, or uninstallation result. For details, see AppexecfwkErrors.
resultMessage Indicates the result message returned with the status code.

enum [AbilityType]($api-api-SmartVision-Devices-BundleManager.md#ga44b675d687acff3d739404c1227b4259) Description: Enumerates types of templates used by an ability. Enumerator Description UNKNOWN Unknown PAGE Page SERVICE ## AppexecfwkErrors enum [AppexecfwkErrors]($api-api-SmartVision-Devices-BundleManager.md#gac318d4f4dc0125e2367ea8c539770ed1)

Description:

Enumerates error codes provided by the Bundle Manager Service.

Enumerator

Description

ERR_OK

The function is successfully called.

ERR_APPEXECFWK_QUERY_PARAMETER_ERROR

Incorrect parameter for querying AbilityInfo or BundleInfo.

ERR_APPEXECFWK_QUERY_NO_INFOS

No AbilityInfo or BundleInfo is found.

ERR_APPEXECFWK_QUERY_INFOS_INIT_ERROR

An error occurred when initializing BundleInfo or AbilityInfo during information query.

ERR_APPEXECFWK_OBJECT_NULL

The object or pointer is null.

ERR_APPEXECFWK_INSTALL_FAILED_INTERNAL_ERROR

Failed to install the application due to an internal logic error.

ERR_APPEXECFWK_INSTALL_FAILED_PARAM_ERROR

Failed to install the application due to incorrect parameters.

ERR_APPEXECFWK_INSTALL_FAILED_FILE_PATH_INVALID

Failed to install the application because the installation file path is invalid.

ERR_APPEXECFWK_INSTALL_FAILED_FILE_NOT_EXISTS

Failed to install the application because the installation file does not exist.

ERR_APPEXECFWK_INSTALL_FAILED_INVALID_FILE_NAME

Failed to install the application because the installation file name is invalid.

Failed to install the application due to incorrect file content.

ERR_APPEXECFWK_INSTALL_FAILED_CREATE_FILE_ERROR

Failed to install the application due to a file creation error.

ERR_APPEXECFWK_INSTALL_FAILED_CREATE_CODE_DIR_ERROR

Failed to install the application due to a file path creation error.

ERR_APPEXECFWK_INSTALL_FAILED_REMOVE_CODE_DIR_ERROR

Failed to install the application due to a file path deletion error.

ERR_APPEXECFWK_INSTALL_FAILED_CREATE_PERMISSIONS_DIR_ERROR

Failed to install the application because an error occurred when creating the permission file directory.

ERR_APPEXECFWK_INSTALL_FAILED_RENAME_DIR_ERROR

Failed to install the application due to a path renaming error.

ERR_APPEXECFWK_INSTALL_FAILED_RENAME_FILE_ERROR

Failed to install the application due to a file renaming error.

ERR_APPEXECFWK_INSTALL_FAILED_REMOVE_DATA_DIR_ERROR

Failed to install the application due to an error occurred when removing the data path.

ERR_APPEXECFWK_INSTALL_FAILED_CREATE_DATA_DIR_ERROR

Failed to install the application due to an error occurred when creating the data path.

ERR_APPEXECFWK_INSTALL_FAILED_RECORD_INFO_ERROR

Failed to install the application due to an error occurred when recording installation information.

ERR_APPEXECFWK_INSTALL_FAILED_UID_AND_GID_BACKUP_ERROR

Failed to install the application due to an error occurred when backing up the UID and GID.

ERR_APPEXECFWK_INSTALL_FAILED_CHOWN_DATA_DIR_ERROR

Failed to install the application due to an error occurred when changing ownership of the data directory.

Failed to install the application because an application of a later version has been installed.

ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_BUNDLE_NUMBER

Failed to install the application because the number of installed applications exceeds the maximum (30). This error code is available only to basic watches.

ERR_APPEXECFWK_INSTALL_FAILED_STORE_PERMISSIONS_ERROR

Failed to install the application due to an error occurred when storing permission information.

ERR_APPEXECFWK_INSTALL_FAILED_FILE_DATA_INVALID

Failed to install the application due to invalid file data. This error code is available only to basic watches.

ERR_APPEXECFWK_INSTALL_FAILED_INCOMPATIBLE_SIGNATURE

Failed to install the application due to unmatched signature used for version update.

ERR_APPEXECFWK_INSTALL_FAILED_INVALID_PROVISIONINFO

Failed to install the application due to unmatched provisioning information during signature verification.

ERR_APPEXECFWK_INSTALL_FAILED_OPERATE_SIGNED_FILE_ERROR

Failed to install the application due to an error occurred when processing the signature file.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_APP_SIGNATURE_ERROR

Failed to install the application due to an error occurred when parsing the application signature.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_PROFILE_SIGNATURE_ERROR

Failed to install the application due to an error occurred when parsing the file signature.

ERR_APPEXECFWK_INSTALL_FAILED_INTERNAL_SIGNATURE_ERROR

Failed to install the application due to an internal error during signature verification.

ERR_APPEXECFWK_SET_DEBUG_MODE_ERROR

Failed to install the application due to an error occurred when setting the signature verification mode.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_PROFILE_ERROR

Failed to parse the file.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_BUNDLENAME_ERROR

Failed to parse the bundle name.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_INVALID_BUNDLENAME

Invalid bundle name.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_VENDOR_ERROR

Failed to parse the vendor information.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_VERSIONCODE_ERROR

Failed to parse the version code.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_VERSIONNAME_ERROR

Failed to parse the version name.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_PERMISSIONS_ERROR

Failed to parse the installation permission information.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_API_VERSION_ERROR

Failed to parse the API version.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DEVICE_CONFIG_ERROR

Failed to parse the device configuration.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_KEEPALIVE_ERROR

Failed to parse the isKeepAlive field of the application.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_MODULENAME_ERROR

Failed to parse the name field of the application’s HAP package. The HAP information is encapsulated in a ModuleInfo object.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_INVALID_MODULENAME

Invalid HAP name.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_MODULE_DESCRIPTION_ERROR

Failed to parse the HAP description information.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DEVICETYPE_ERROR

Failed to parse the deviceType field of the application’s HAP package.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_ERROR

Failed to parse the HAP information.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_MODULENAME_ERROR

Failed to parse the moduleName field of the application’s HAP package.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_MODULETYPE_ERROR

Invalid HAP type.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DISTRO_DELIVERY_ERROR

Failed to parse the isDeliveryInstall field of the application’s HAP package.

Failed to parse the MetaData information.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITIES_ERROR

Failed to parse the AbilityInfo.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_NAME_ERROR

Failed to parse the class name of the ability.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_TYPE_ERROR

Failed to parse the template used by the ability.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_ICONPATH_ERROR

Failed to parse the icon path of the ability.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_LABEL_ERROR

Failed to parse the label of the ability.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_DESCRIPTION_ERROR

Failed to parse the description of the ability.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_LAUNCHTYPE_ERROR

Failed to parse the startup mode of the ability.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ABILITY_VISIBLE_ERROR

Failed to parse the isVisible field of the ability.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_INVALID_BUNDLENAME_LENGTH

Invalid length of the bundle name.

ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_LABEL_LENGTH_ERROR

The parsed application label exceeds the maximum length (255 bytes).

ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_VERSIONNAME_LENGTH_ERROR

The parsed application version name exceeds the maximum length (127 bytes).

The parsed application metadata name exceeds the maximum length (255 bytes).

The parsed application metadata value exceeds the maximum length (255 bytes).

ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_VENDOR_LENGTH_ERROR

The parsed application vendor name exceeds the maximum length (255 bytes).

ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_MODULENAME_LENGTH_ERROR

The parsed HAP name exceeds the maximum length (31 bytes).

ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_ABILITYNAME_LENGTH_ERROR

The parsed ability class name exceeds the maximum length (127 bytes).

ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_ABILITY_DESCRIPTION_LENGTH_ERROR

The parsed ability description exceeds the maximum length (255 bytes).

ERR_APPEXECFWK_INSTALL_FAILED_EXCEED_MAX_ABILITY_LABEL_LENGTH_ERROR

The parsed ability label exceeds the maximum length (255 bytes).

ERR_APPEXECFWK_INSTALL_FAILED_EXTRACTOR_NOT_INIT

Failed to initialize the extractor.

ERR_APPEXECFWK_INSTALL_FAILED_EXTRACT_HAP_ERROR

Failed to extract hap.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_JS_DIR_ERROR

Failed to parse the JavaScript path. This error code is available only to basic watches.

ERR_APPEXECFWK_INSTALL_FAILED_RESOURCE_INDEX_NOT_EXISTS

The resource index does not exist.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_LABEL_RES_ERROR

Failed to parse the label resource.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_ICON_RES_ERROR

Failed to parse the icon resource.

ERR_APPEXECFWK_INSTALL_FAILED_PARSE_DESCRIPTION_RES_ERROR

Failed to parse the description resource.

ERR_APPEXECFWK_INSTALL_FAILED_SEND_REQUEST_ERROR

Failed to install the application due to a request sending error.

ERR_APPEXECFWK_UNINSTALL_FAILED_INTERNAL_ERROR

Failed to uninstall the application due to an internal error.

ERR_APPEXECFWK_UNINSTALL_FAILED_PARAM_ERROR

Failed to uninstall the application due to incorrect input parameters.

ERR_APPEXECFWK_UNINSTALL_FAILED_BUNDLE_NOT_EXISTS

Failed to uninstall the application because it does not exist.

ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_DIRS_ERROR

Failed to uninstall the application due to an error occurred when deleting the path.

ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_RECORD_INFO_ERROR

Failed to uninstall the application due to an error occurred when deleting the installation record.

ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_PERMISSIONS_ERROR

Failed to uninstall the application due to an error occurred when deleting the permission information.

ERR_APPEXECFWK_UNINSTALL_FAILED_BUNDLE_NOT_UNINSTALLABLE

Failed to uninstall the application because the application cannot be uninstalled.

ERR_APPEXECFWK_UNINSTALL_FAILED_DELETE_UID_INFO_ERROR

Failed to uninstall the application due to an error occurred when deleting the UID information.

ERR_APPEXECFWK_UNINSTALL_FAILED_SEND_REQUEST_ERROR

Failed to uninstall the application due to a request sending error.

ERR_APPEXECFWK_DUMP_ERROR

Incorrect dump information.

ERR_APPEXECFWK_COMMAND_ERROR

Incorrect command.

ERR_APPEXECFWK_CALLBACK_REGISTER_FAILED

Failed to register the callback.

ERR_APPEXECFWK_CALLBACK_UNREGISTER_FAILED

Failed to unregister the callback.

ERR_APPEXECFWK_CALLBACK_GENERATE_LOCAL_SERVICEID_FAILED

Failed to generate a service ID for the current process.

ERR_APPEXECFWK_CALLBACK_SERVICEID_TRANSMITTED_FAILED

Failed to transmit the service ID of the current process.

ERR_APPEXECFWK_CALLBACK_NEVER_REGISTERED

The callback is never registered.

ERR_APPEXECFWK_CALLBACK_OBTAIN_ALL_BUNDLE_FAILED

Failed to obtain the bundle names of all applications in the system.

ERR_APPEXECFWK_CALLBACK_NULL_CORRESPONDING_CALLBACK

The required callback is unavailable.

ERR_APPEXECFWK_CALLBACK_GET_INSTALLTYPE_FAILED

Failed to obtain the installation type (installation or uninstallation).

ERR_APPEXECFWK_CALLBACK_GET_ERROR_INSTALLTYPE

Incorrect installation type.

ERR_APPEXECFWK_SERIALIZATION_FAILED

Serialization failed.

ERR_APPEXECFWK_DESERIALIZATION_FAILED

Deserialization failed.

ERR_APPEXECFWK_SYSTEM_INTERNAL_ERROR

Internal system error.

ERR_APPEXECFWK_NO_BUNDLENAME_FOR_UID

No bundle name associated with the UID is found.

ERR_APPEXECFWK_IPCIO_UNAVAILABLED

The IpcIo structure is unavailable.

ERR_APPEXECFWK_INVOKE_ERROR

An error occurred when calling the invoke function of the Bundle Manager Service.

ERR_APPEXECFWK_PERMISSION_DENIED

The server that invokes the Bundle Manager Service does not have required permission.

enum [LaunchMode]($api-api-SmartVision-Devices-BundleManager.md#ga605d46d860e356a74db6842e66522854) Description: Enumerates startup modes of an ability. Enumerator Description SINGLETON Singleton mode, allowing only one instance STANDARD Standard mode, allowing multiple instances ## Function Documentation ## ClearAbilityInfo() void ClearAbilityInfo ([AbilityInfo]($api-api-SmartVision-Devices-AbilityInfo.md) * abilityInfo)

Description:

Clears an AbilityInfo object.

This function clears and releases the memory occupied by the fields of the pointer type included in the specified AbilityInfo object.

Parameters:

Name

Description

abilityInfo Indicates the pointer to the AbilityInfo object to clear.

void ClearBundleInfo ([BundleInfo]($api-api-SmartVision-Devices-BundleInfo.md) * bundleInfo) Description: Clears a BundleInfo object. This function clears and releases the memory occupied by the fields of the pointer type included in the specified BundleInfo object. Parameters: Name Description bundleInfo Indicates the pointer to the BundleInfo object to clear. ## ClearElement() void ClearElement ([ElementName]($api-api-SmartVision-Devices-ElementName.md) * element)

Description:

Clears the internal data of a specified ElementName.

After AbilityInfo is queried, clear the internal data of an ElementName if it is no longer required.

Parameters:

Name

Description

element Indicates the pointer to the ElementName to clear.

void ClearModuleInfo ([ModuleInfo]($api-api-SmartVision-Devices-ModuleInfo.md) * moduleInfo) Description: Clears a ModuleInfo object. This function clears and releases the memory occupied by the fields of the pointer type included in the specified ModuleInfo object. Parameters: Name Description moduleInfo Indicates the pointer to the ModuleInfo object to clear. ## GetBundleInfo() uint8_t GetBundleInfo (const char * bundleName, int32_t flags, [BundleInfo]($api-api-SmartVision-Devices-BundleInfo.md) * bundleInfo )

Description:

Obtains the BundleInfo of an application based on the specified bundle name.

Parameters:

Name

Description

bundleName Indicates the pointer to the name of the application bundle to query.
flags Specifies whether the obtained BundleInfo object can contain AbilityInfo. The value 1 indicates that it can contain AbilityInfo, and 0 indicates that it cannot.
bundleInfo Indicates the pointer to the obtained BundleInfo object.

Attention:

Before querying a BundleInfo object, you should first call memset on the constructed BundleInfo object so that each field in it can be properly initialized for carrying the obtained information.

Returns:

Returns ERR_OK if this function is successfully called; returns another error code defined in AppexecfwkErrors otherwise.

uint8_t GetBundleInfos (const int flags, [BundleInfo]($api-api-SmartVision-Devices-BundleInfo.md) ** bundleInfos, int32_t * len ) Description: Obtains the BundleInfo of all bundles in the system. Parameters: Name Description flags Specifies whether each of the obtained BundleInfo objects can contain AbilityInfo. The value 1 indicates that it can contain AbilityInfo, and 0 indicates that it cannot. bundleInfos Indicates the double pointer to the obtained BundleInfo objects. len Indicates the pointer to the number of BundleInfo objects obtained. Returns: Returns ERR_OK if this function is successfully called; returns another error code defined in AppexecfwkErrors otherwise. ## GetBundleInfosByMetaData() uint8_t GetBundleInfosByMetaData (const char * metaDataKey, [BundleInfo]($api-api-SmartVision-Devices-BundleInfo.md) ** bundleInfos, int32_t * len )

Description:

Obtains the BundleInfo of application bundles based on the specified MetaData.

Parameters:

Name

Description

bundleInfos Indicates the double pointer to the obtained BundleInfo objects.
len Indicates the pointer to the number of BundleInfo objects obtained.

Returns:

Returns ERR_OK if this function is successfully called; returns another error code defined in AppexecfwkErrors otherwise.

## GetBundleNameForUid()

uint8_t GetBundleNameForUid (int32_t uid, char ** bundleName )

Description:

Obtains the bundle name of an application based on the specified UID.

Parameters:

Name

Description

uid Indicates the UID of the application to query.
bundleName Indicates the double pointer to the bundle name of the application.

Returns:

Returns ERR_OK if this function is successfully called; returns another error code defined in AppexecfwkErrors otherwise.

bool Install (const char * hapPath, const InstallParam * installParam, [InstallerCallback]($api-api-SmartVision-Devices-BundleManager.md#ga00f021e76d728d2d44e1a28887ccc3af) installerCallback ) Description: Installs or updates an application. Parameters: Name Description hapPath Indicates the pointer to the path for storing the OpenHarmony Ability Package (HAP) of the application to install or update. bundleCallback Indicates the callback to be invoked for notifying the installation or update result. Returns: Returns true if this function is successfully called; returns false otherwise. ## QueryAbilityInfo() uint8_t QueryAbilityInfo (const [Want]($api-api-SmartVision-Devices-Want.md) * want, [AbilityInfo]($api-api-SmartVision-Devices-AbilityInfo.md) * abilityInfo ) Description: Queries the AbilityInfo of an ability based on the information carried in the Want structure. Parameters: Name Description want Indicates the pointer to the Want structure used for querying the specified ability. abilityInfo Indicates the pointer to the obtained AbilityInfo object. Attention: Before querying an AbilityInfo object, you should first call memset on the constructed AbilityInfo object so that each field in it can be properly initialized for carrying the obtained information. Returns: Returns ERR_OK if this function is successfully called; returns another error code defined in AppexecfwkErrors otherwise. ## QueryKeepAliveBundleInfos() uint8_t QueryKeepAliveBundleInfos ([BundleInfo]($api-api-SmartVision-Devices-BundleInfo.md) ** bundleInfos, int32_t * len )

Description:

Obtains the BundleInfo of all keep-alive applications in the system.

Parameters:

Name

Description

bundleInfos Indicates the double pointer to the obtained BundleInfo objects.
len Indicates the pointer to the number of BundleInfo objects obtained.

Returns:

Returns ERR_OK if this function is successfully called; returns another error code defined in AppexecfwkErrors otherwise.

## RegisterCallback()

int32_t RegisterCallback (BundleStatusCallback * BundleStatusCallback)

Description:

Registers a callback to monitor the installation, update, and uninstallation state changes of an application.

Parameters:

Name

Description

bundleCallback Indicates the callback to be invoked when the installation, update, or uninstallation state of the monitored application changes.
bundleName Indicates the pointer to the bundle name of the application to monitor. If this parameter is set to nullptr, the installation, update, or uninstallation state of all applications will be monitored.

Returns:

Returns ERR_OK if this function is successfully called; returns another error code defined in AppexecfwkErrors otherwise.

bool SetElementAbilityName ([ElementName]($api-api-SmartVision-Devices-ElementName.md) * element, const char * abilityName ) Description: Sets the class name of the ability used to query AbilityInfo. Parameters: Name Description element Indicates the pointer to the ElementName to set. abilityName Indicates the pointer to the class name to set. Returns: Returns true if the setting is successful; returns false otherwise. ## SetElementBundleName() bool SetElementBundleName ([ElementName]($api-api-SmartVision-Devices-ElementName.md) * element, const char * bundleName )

Description:

Sets the bundle name used to query AbilityInfo.

Parameters:

Name

Description

element Indicates the pointer to the ElementName to set.
bundleName Indicates the pointer to the bundle name to set.

Returns:

Returns true if the setting is successful; returns false otherwise.

bool SetElementDeviceID ([ElementName]($api-api-SmartVision-Devices-ElementName.md) * element, const char * deviceId ) Description: Sets the device ID used to query AbilityInfo. Parameters: Name Description element Indicates the pointer to the ElementName to set. deviceId Indicates the pointer to the device ID to set. Returns: Returns true if the setting is successful; returns false otherwise. ## Uninstall() bool Uninstall (const char * bundleName, const InstallParam * installParam, [InstallerCallback]($api-api-SmartVision-Devices-BundleManager.md#ga00f021e76d728d2d44e1a28887ccc3af) installerCallback )

Description:

Uninstalls an application.

Parameters:

Name

Description

bundleName Indicates the pointer to the bundle name of the application to uninstall.
bundleCallback Indicates the callback to be invoked for notifying the uninstallation result.

Returns:

Returns true if this function is successfully called; returns false otherwise.

## UnregisterCallback()

int32_t UnregisterCallback ()

Description:

Unregisters a callback previously registered for monitoring the installation, update, and uninstallation state changes of an application.

Parameters:

Name

Description

bundleName Indicates the pointer to the bundle name of the application being monitored. If this parameter is set to nullptr, monitoring on the installation, update, or uninstallation state of all applications will be canceled.

Returns:

Returns ERR_OK if this function is successfully called; returns another error code defined in AppexecfwkErrors otherwise.