1 #ifndef QUERY_PARCELABLE_HH_
2 #define QUERY_PARCELABLE_HH_
4 #include "abstract_parcelable.hh"
5 #include "abstract_db_handler.hh"
9 #include "pkgmgrinfo_private.h"
11 using namespace pkgmgr_common::database;
13 namespace pkgmgr_common {
17 #define EXPORT_API __attribute__((visibility("default")))
20 class EXPORT_API QueryParcelable : public AbstractParcelable {
22 class EXPORT_API Factory : IFactory {
24 std::unique_ptr<AbstractParcelable> CreateParcel();
28 QueryParcelable(uid_t uid, std::string query, AbstractDBHandler::DBType db_type, AbstractDBHandler::OperationType op_type);
29 QueryParcelable(uid_t uid, std::vector<std::string> query, AbstractDBHandler::DBType db_type, AbstractDBHandler::OperationType op_type);
30 const std::vector<std::string>& GetQueries();
31 AbstractDBHandler::DBType GetDBType();
32 AbstractDBHandler::OperationType GetOpType();
34 void WriteToParcel(tizen_base::Parcel* parcel) const override;
35 void ReadFromParcel(tizen_base::Parcel* parcel) override;
38 std::vector<std::string> queries_;
39 AbstractDBHandler::DBType db_type_;
40 AbstractDBHandler::OperationType op_type_;
44 } // namespace pkgmgr_common
46 #endif // QUERY_PARCELABLE_HH_