Remove libprivilege-control for dependency issue
[platform/core/appfw/app2sd.git] / inc / SLP_app2ext_PG.h
1 /*
2  * app2ext
3  *
4  * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Jyotsna Dhumale <jyotsna.a@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21
22 /**
23  *
24  * @ingroup SLP_PG
25  * @defgroup app2ext_PG App2Ext
26  * @{
27
28 <h1 class="pg">Introduction</h1>
29 App2Ext is a feature that enables package installers to install applications on external storage like SD card, Micro USB flash drive or Cloud.
30 It also provides option to move installed applications from external memory to internal memory and vice versa.
31
32 <h1 class="pg">App2Ext process view</h1>
33 \image html app2ext_diag.png "Picture 1. App2Ext Process View Diagram"
34 \image rtf app2ext_diag.png "Picture 1. App2Ext Process View Diagram"
35
36 <h1 class="pg">Installation to SD Card</h1>
37 Package installer should call the App2Ext's Init API to initialize SD plug-in. Once the plug-in initialization is done App2Ext returns a storage handle to the Package installer. Package installer should then call the pre-install setup API with respect to the storage handle which will be mapped to app2sd's pre-install API. The App2Ext Pre-install API performs the setup required for the installation based on the external storage type.
38 After pre-install setup is done Package installer can proceed with the installation of the application. When package installation is completed by the package installer, post-install setup API should be called. This API removes the setup created for installation during pre-install API.
39
40 Refer to Picture 2. for flow diagram.
41
42 <h1 class="pg">Installation Setup Flow for App2SD plug-in</h1>
43 \image html app2ext_install_diag.png "Picture 2. Installation on SD card Flow Diagram"
44 \image rtf app2ext_install_diag.png "Picture 2. Installation on SD card Flow Diagram"
45
46 <h1 class="pg">Un-installation from SD Card</h1>
47 Package installer should call the App2Ext's Init API to initialize SD plug-in. Once the plug-in initialization is done App2Ext returns a storage handle to the Package installer. Package installer should then call the pre-uninstall setup API with respect to the storage handle which will be mapped to app2sd's pre-uninstall API. Pre-uninstall API performs the setup required for the package un-installation based on the external storage type.
48 After pre-uninstall setup is done Package installer can proceed with un-installation of the package. When package un-installation is completed by the package installer, post-uninstall setup API should be called. This API removes the setup created for un-installation during pre-uninstall API.
49
50 Refer to Picture 3. for flow diagram.
51
52 <h1 class="pg">Un-installation Setup Flow for App2SD plug-in</h1>
53 \image html app2ext_uninstall_diag.png "Picture 3. Un-installation from SD card Flow Diagram"
54 \image rtf app2ext_uninstall_diag.png "Picture 3. Un-installation from SD card Flow Diagram"
55
56
57 <h1 class="pg">API list and description</h1>
58 <ul>
59         <li>app2ext_init() : Initialize plug-in based on storage type </li>
60         <li>app2ext_deinit() : De-initialize plug-in</li>
61         <li>app2ext_get_app_location() : Returns application current location</li>
62 </ul>
63
64  * @}
65  */