2 * Copyright (c) 2021 Samsung Electronics Co., Ltd All Rights Reserved
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 #ifndef PKG_SET_DB_HANDLER_HH_
18 #define PKG_SET_DB_HANDLER_HH_
24 #include <sys/types.h>
26 #include "abstract_db_handler.hh"
27 #include "pkg_write_type.hh"
28 #include "pkginfo_parcelable.hh"
29 #include "pkgmgrinfo_basic.h"
30 #include "pkgmgrinfo_private.h"
32 namespace pkgmgr_server {
36 #define EXPORT_API __attribute__((visibility("default")))
39 class EXPORT_API PkgSetDBHandler : public AbstractDBHandler{
41 PkgSetDBHandler(uid_t uid, int pid, bool is_offline = false);
43 void SetPkgInfo(package_x* package);
44 void SetPkgID(std::string pkgid);
45 void SetWriteType(pkgmgr_common::PkgWriteType write_type);
46 int Execute() override;
47 std::vector<std::vector<std::string>> GetResult();
51 package_x* package_ = nullptr;
54 pkgmgr_common::PkgWriteType write_type_ = pkgmgr_common::PkgWriteType::None;
55 std::vector<std::vector<std::string>> result_;
58 } // namespace database
59 } // namespace pkgmgr_server
61 #endif // PKG_SET_DB_HANDLER_HH_