2 * Copyright (c) 2017-2018 Samsung Electronics Co.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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
17 * @file src/common/policy/PkgInfo.h
18 * @author Zofia Abramowska <z.abramowska@samsung.com>
19 * @author Tomasz Swierczek <t.swierczek@samsung.com>
20 * @brief Definition of package-data wrappers/cache (sub)classes
26 #include <sys/types.h>
32 PkgInfo() : m_uid(0) {};
33 virtual ~PkgInfo() {};
35 virtual void purgeCache() {
42 std::string mainAppId(const std::string &pkgId, uid_t uid) {
47 std::string pkgLabel(const std::string &pkgId, uid_t uid) {
53 virtual void fetch(const std::string &pkgId, uid_t uid) = 0;
55 virtual void update(const std::string &pkgId, uid_t uid) {
56 if (pkgId != m_pkgId || uid != m_uid) {
64 std::string m_mainAppId;
65 std::string m_pkgLabel;
68 class AulPkgInfo : public PkgInfo {
70 virtual void fetch(const std::string &pkgId, uid_t uid);
73 class PkgMgrPkgInfo : public PkgInfo {
75 virtual void fetch(const std::string &pkgId, uid_t uid);
78 } // namespace AskUser