Tizen Native API  3.0
Package Manager Request

Package Manager Request API. It is responsible for installing, uninstalling, moving packages, and storing their information.

Required Header

#include <package_manager.h>

Overview

The Package Manager API provides functions to install and uninstall the package, and also provides event listening function. The package_manager_request_install() method is used to asynchronously install a package. Similarly, the package_manager_request_uninstall() and package_manager_request_move() methods are used to asynchronously uninstall a package. The callback function is called when the progress of the request changes. Use package_manager_request_event_cb() to listen to package installation related events.

Functions

int package_manager_request_create (package_manager_request_h *request)
 Creates a request handle to the package manager.
int package_manager_request_destroy (package_manager_request_h request)
 Destroys the request handle to the package manager.
int package_manager_request_set_event_cb (package_manager_request_h request, package_manager_request_event_cb callback, void *user_data)
 Registers a callback function to be invoked when the progress of the request changes.
int package_manager_request_unset_event_cb (package_manager_request_h request)
 Unregisters the callback function.
int package_manager_request_set_type (package_manager_request_h request, const char *type)
 Sets the type of the package to install, uninstall, or update.
int package_manager_request_set_mode (package_manager_request_h request, package_manager_request_mode_e mode)
 Sets the mode of the request.
int package_manager_request_set_tep (package_manager_request_h request, const char *tep_path)
 Sets the path of TEP file to the request. The TEP file that is set will be installed when the package is installed.
int package_manager_request_install (package_manager_request_h request, const char *path, int *id)
 Installs the package located at the given path.
int package_manager_request_uninstall (package_manager_request_h request, const char *name, int *id)
 Uninstalls the package with the given name.
int package_manager_request_move (package_manager_request_h request, const char *name, package_manager_move_type_e move_type)
 Moves the package from SD card to the internal memory and vice versa.

Typedefs

typedef struct
package_manager_request_s * 
package_manager_request_h
 The Package manager request handle.
typedef void(* package_manager_request_event_cb )(int id, const char *type, const char *package, package_manager_event_type_e event_type, package_manager_event_state_e event_state, int progress, package_manager_error_e error, void *user_data)
 Called when the progress of the request to the package manager changes.

Typedef Documentation

typedef void(* package_manager_request_event_cb)(int id, const char *type, const char *package, package_manager_event_type_e event_type, package_manager_event_state_e event_state, int progress, package_manager_error_e error, void *user_data)

Called when the progress of the request to the package manager changes.

Warning:
This is not for use by third-party applications.
Since :
2.3
Parameters:
[in]idThe ID of the request to the package manager
[in]typeThe type of the package to install, uninstall or update
[in]packageThe name of the package to install, uninstall or update
[in]event_typeThe type of the request to the package manager
[in]event_stateThe current state of the request to the package manager
[in]progressThe progress for the request that is being processed by the package manager
The range of progress is from 0 to 100.
[in]errorThe error code when the package manager failed to process the request
[in]user_dataThe user data passed from package_manager_request_set_event_cb()
See also:
package_manager_request_set_event_cb()
package_manager_request_unset_event_cb()
typedef struct package_manager_request_s* package_manager_request_h

The Package manager request handle.

Warning:
This is not for use by third-party applications.
Since :
2.3

Enumeration Type Documentation

Enumeration for request mode.

Warning:
This is not for use by third-party applications.
Since :
2.3
Enumerator:
PACKAGE_MANAGER_REQUEST_MODE_DEFAULT 
Warning:
This is not for use by third-party applications. Default request mode
PACKAGE_MANAGER_REQUEST_MODE_QUIET 
Warning:
This is not for use by third-party applications. Quiet request mode

Function Documentation

Creates a request handle to the package manager.

Warning:
This is not for use by third-party applications.
Since :
2.3
Remarks:
You must release request using package_manager_request_destroy().
Parameters:
[out]requestThe request handle that is newly created on success
Returns:
0 on success, otherwise a negative error value
Return values:
PACKAGE_MANAGER_ERROR_NONESuccessful
PACKAGE_MANAGER_ERROR_INVALID_PARAMETERInvalid parameter
PACKAGE_MANAGER_ERROR_OUT_OF_MEMORYOut of memory
PACKAGE_MANAGER_ERROR_IO_ERRORInternal I/O error
See also:
package_manager_request_destroy()

Destroys the request handle to the package manager.

Warning:
This is not for use by third-party applications.
Since :
2.3
Parameters:
[in]requestThe request handle to the package manager
Returns:
0 on success, otherwise a negative error value
Return values:
PACKAGE_MANAGER_ERROR_NONESuccessful
PACKAGE_MANAGER_ERROR_INVALID_PARAMETERInvalid parameter
See also:
package_manager_request_create()
int package_manager_request_install ( package_manager_request_h  request,
const char *  path,
int *  id 
)

Installs the package located at the given path.

Warning:
This is not for use by third-party applications.
Since :
2.3
Privilege Level:
platform
Privilege:
http://tizen.org/privilege/packagemanager.admin
Parameters:
[in]requestThe request handle
[in]pathThe absolute path to the package to be installed
[out]idThe ID of the request to the package manager
Returns:
0 on success, otherwise a negative error value
Return values:
PACKAGE_MANAGER_ERROR_NONESuccessful
PACKAGE_MANAGER_ERROR_INVALID_PARAMETERInvalid parameter
PACKAGE_MANAGER_ERROR_PERMISSION_DENIEDPermission denied
See also:
package_manager_request_uninstall()
int package_manager_request_move ( package_manager_request_h  request,
const char *  name,
package_manager_move_type_e  move_type 
)

Moves the package from SD card to the internal memory and vice versa.

Warning:
This is not for use by third-party applications.
Since :
2.3
Privilege Level:
platform
Privilege:
http://tizen.org/privilege/packagemanager.admin
Parameters:
[in]requestThe request handle
[in]nameThe name of the package to be moved
[in]move_typeThe move type [enum package_manager_move_type_e], [external to internal/internal to external]
Returns:
0 on success, otherwise a negative error value
Return values:
PACKAGE_MANAGER_ERROR_NONESuccessful
PACKAGE_MANAGER_ERROR_INVALID_PARAMETERInvalid parameter
PACKAGE_MANAGER_ERROR_PERMISSION_DENIEDPermission denied

Registers a callback function to be invoked when the progress of the request changes.

Warning:
This is not for use by third-party applications.
Since :
2.3
Privilege Level:
public
Privilege:
http://tizen.org/privilege/packagemanager.info
Parameters:
[in]requestThe request handle
[in]callbackThe callback function to be registered
[in]user_dataThe user data to be passed to the callback function
Returns:
0 on success, otherwise a negative error value
Return values:
PACKAGE_MANAGER_ERROR_NONESuccessful
PACKAGE_MANAGER_ERROR_INVALID_PARAMETERInvalid parameter
PACKAGE_MANAGER_ERROR_PERMISSION_DENIEDPermission denied
Postcondition:
package_manager_request_event_cb() will be invoked.
See also:
package_manager_request_event_cb()
package_manager_request_unset_event_cb()

Sets the mode of the request.

Warning:
This is not for use by third-party applications.
Since :
2.3
Parameters:
[in]requestThe request handle
[in]modeThe mode of the request
Returns:
0 on success, otherwise a negative error value
Return values:
PACKAGE_MANAGER_ERROR_NONESuccessful
PACKAGE_MANAGER_ERROR_INVALID_PARAMETERInvalid parameter
int package_manager_request_set_tep ( package_manager_request_h  request,
const char *  tep_path 
)

Sets the path of TEP file to the request. The TEP file that is set will be installed when the package is installed.

Warning:
This is not for use by third-party applications.
Since :
2.4
Privilege Level:
platform
Privilege:
http://tizen.org/privilege/packagemanager.admin
Parameters:
[in]requestThe request handle
[in]tep_pathThe TEP path to set. If this is NULL on update, installed TEP will be removed.
Returns:
0 on success, otherwise a negative error value
Return values:
PACKAGE_MANAGER_ERROR_NONESuccessful
PACKAGE_MANAGER_ERROR_INVALID_PARAMETERInvalid parameter
PACKAGE_MANAGER_ERROR_PERMISSION_DENIEDPermission denied
PACKAGE_MANAGER_ERROR_SYSTEM_ERRORSevere system error
int package_manager_request_set_type ( package_manager_request_h  request,
const char *  type 
)

Sets the type of the package to install, uninstall, or update.

Warning:
This is not for use by third-party applications.
Since :
2.3
Parameters:
[in]requestThe request handle
[in]typeThe type of the package
Returns:
0 on success, otherwise a negative error value
Return values:
PACKAGE_MANAGER_ERROR_NONESuccessful
PACKAGE_MANAGER_ERROR_INVALID_PARAMETERInvalid parameter
int package_manager_request_uninstall ( package_manager_request_h  request,
const char *  name,
int *  id 
)

Uninstalls the package with the given name.

Warning:
This is not for use by third-party applications.
Since :
2.3
Privilege Level:
platform
Privilege:
http://tizen.org/privilege/packagemanager.admin
Parameters:
[in]requestThe request handle
[in]nameThe name of the package to be uninstalled
[out]idThe ID of the request to the package manager
Returns:
0 on success, otherwise a negative error value
Return values:
PACKAGE_MANAGER_ERROR_NONESuccessful
PACKAGE_MANAGER_ERROR_INVALID_PARAMETERInvalid parameter
PACKAGE_MANAGER_ERROR_PERMISSION_DENIEDPermission denied

Unregisters the callback function.

Warning:
This is not for use by third-party applications.
Since :
2.3
Parameters:
[in]requestThe request handle
Returns:
0 on success, otherwise a negative error value
Return values:
PACKAGE_MANAGER_ERROR_NONESuccessful
PACKAGE_MANAGER_ERROR_INVALID_PARAMETERInvalid parameter
See also:
package_manager_request_event_cb()
package_manager_request_set_event_cb()