4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Jayoun Lee <airjany@samsung.com>, Sewook Park <sewook7.park@samsung.com>,
7 * Jaeho Lee <jaeho81.lee@samsung.com>, Shobhit Srivastava <shobhit.s@samsung.com>
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
25 * @file pkgmgr_parser_db.h
26 * @author Shobhit Srivastava <shobhit.s@samsung.com>
28 * @brief This file declares API to store/retrieve manifest data in DB
30 * @addtogroup APPLICATION_FRAMEWORK
33 * @defgroup PackageManagerParserDB
34 * @section Header Header file to include:
36 * #include <pkgmgr_parser_db.h>
42 #ifndef __PKGMGR_PARSER_DB_H__
43 #define __PKGMGR_PARSER_DB_H__
48 #include "pkgmgr_parser.h"
51 * @fn int pkgmgr_parser_insert_manifest_info_in_db(manifest_x *mfx)
52 * @brief This API inserts the parsed manifest info in db
54 * @par This API is for package-manager installer backends
55 * @par Sync (or) Async : Synchronous API
57 * @param[in] mfx pointer to manifest info
58 * @return 0 if success, error code(<0) if fail
61 * @see pkgmgr_parser_update_manifest_info_in_db()
62 * @see pkgmgr_parser_delete_manifest_info_from_db()
64 static int insert_manifest_data(manifest_x *mfx)
67 ret = pkgmgr_parser_insert_manifest_info_in_db(mfx);
74 int pkgmgr_parser_insert_manifest_info_in_db(manifest_x *mfx);
77 * @fn int pkgmgr_parser_update_manifest_info_in_db(manifest_x *mfx)
78 * @brief This API updates the manifest info in db
80 * @par This API is for package-manager installer backends
81 * @par Sync (or) Async : Synchronous API
83 * @param[in] mfx pointer to manifest info
84 * @return 0 if success, error code(<0) if fail
87 * @see pkgmgr_parser_insert_manifest_info_in_db()
88 * @see pkgmgr_parser_delete_manifest_info_from_db()
90 static int update_manifest_data(manifest_x *mfx)
93 ret = pkgmgr_parser_update_manifest_info_in_db(mfx);
100 int pkgmgr_parser_update_manifest_info_in_db(manifest_x *mfx);
103 * @fn int pkgmgr_parser_delete_manifest_info_from_db(manifest_x *mfx)
104 * @brief This API deletes the parsed manifest info from db
106 * @par This API is for package-manager installer backends
107 * @par Sync (or) Async : Synchronous API
109 * @param[in] mfx pointer to manifest info
110 * @return 0 if success, error code(<0) if fail
113 * @see pkgmgr_parser_update_manifest_info_in_db()
114 * @see pkgmgr_parser_insert_manifest_info_in_db()
116 static int delete_manifest_data(manifest_x *mfx)
119 ret = pkgmgr_parser_delete_manifest_info_from_db(mfx);
126 int pkgmgr_parser_delete_manifest_info_from_db(manifest_x *mfx);
128 int pkgmgr_parser_update_preload_info_in_db();
129 int pkgmgr_parser_check_and_create_db();
130 int pkgmgr_parser_initialize_db();
132 /* libprivilege-control specific operations prototype*/
133 int pkgmgr_parser_privilege_register_package(const char *pkgid);
134 int pkgmgr_parser_privilege_unregister_package(const char *pkgid);
135 int pkgmgr_parser_privilege_revoke_permissions(const char *pkgid);
136 int pkgmgr_parser_privilege_enable_permissions(const char *pkgid, int apptype,
137 const char **perms, int persistent);
138 int pkgmgr_parser_privilege_setup_path(const char *pkgid, const char *dirpath,
139 int apppathtype, const char *groupid);
140 int pkgmgr_parser_privilege_add_friend(const char *pkgid1, const char *pkgid2);
141 int pkgmgr_parser_privilege_change_smack_label(const char *path, const char *label,
148 #endif /* __PKGMGR_PARSER_DB_H__ */