Release version 1.6.27
[platform/core/appfw/data-provider-master.git] / include / pkgmgr.h
1 /*
2  * Copyright 2016  Samsung Electronics Co., Ltd
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef PKGMGR_H_
18 #define PKGMGR_H_
19
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23
24 enum pkgmgr_event_type {
25         PKGMGR_EVENT_DOWNLOAD,
26         PKGMGR_EVENT_INSTALL,
27         PKGMGR_EVENT_UPDATE,
28         PKGMGR_EVENT_UNINSTALL,
29         PKGMGR_EVENT_RECOVER,
30         PKGMGR_EVENT_APP_ENABLE,
31         PKGMGR_EVENT_APP_DISABLE,
32 };
33
34 enum pkgmgr_status {
35         PKGMGR_STATUS_START,
36         PKGMGR_STATUS_PROCESSING,
37         PKGMGR_STATUS_COMMAND,
38         PKGMGR_STATUS_END,
39         PKGMGR_STATUS_ERROR,
40 };
41
42 extern int pkgmgr_init(void);
43 extern int pkgmgr_fini(void);
44
45 extern int pkgmgr_add_event_callback(enum pkgmgr_event_type type, int (*cb)(uid_t uid, const char *pkgname, enum pkgmgr_status status, double value, void *data), void *data);
46 extern void *pkgmgr_del_event_callback(enum pkgmgr_event_type type, int (*cb)(uid_t uid, const char *pkgname, enum pkgmgr_status status, double value, void *data), void *data);
47 #ifdef __cplusplus
48 }
49 #endif
50
51 #endif //PKGMGR_H_