namespace parcel {
QueryParcelable::QueryParcelable()
- : AbstractParcelable(0, ParcelableType::Query) {}
+ : AbstractParcelable(0, ParcelableType::Query), query_(""), db_type_(AbstractDBHandler::DBType::DB_TYPE_NONE), op_type_(AbstractDBHandler::OperationType::OPERATION_TYPE_NONE) {}
-QueryParcelable::QueryParcelable(uid_t uid, std::string query)
- : AbstractParcelable(uid, ParcelableType::Query), query_(query) {}
+QueryParcelable::QueryParcelable(uid_t uid, std::string query, AbstractDBHandler::DBType db_type, AbstractDBHandler::OperationType op_type)
+ : AbstractParcelable(uid, ParcelableType::Query), query_(query), db_type_(db_type), op_type_(op_type) {}
void QueryParcelable::WriteToParcel(tizen_base::Parcel* parcel) const {
AbstractParcelable::WriteToParcel(parcel);
WriteString(parcel, query_.c_str());
+ WriteInt(parcel, db_type_);
+ WriteInt(parcel, op_type_);
}
void QueryParcelable::ReadFromParcel(tizen_base::Parcel* parcel) {
char *query = nullptr;
+ int op_type = 0;
+ int db_type = 0;
AbstractParcelable::ReadFromParcel(parcel);
ReadString(parcel, &query);
query_ = query;
free(query);
+ ReadInt(parcel, &db_type);
+ db_type_ = static_cast<AbstractDBHandler::DBType>(db_type);
+ ReadInt(parcel, &op_type);
+ op_type_ = static_cast<AbstractDBHandler::OperationType>(op_type);
}
const std::string& QueryParcelable::GetQuery() {
return query_;
}
+AbstractDBHandler::DBType QueryParcelable::GetDBType() {
+ return db_type_;
+}
+
+AbstractDBHandler::OperationType QueryParcelable::GetOpType() {
+ return op_type_;
+}
+
std::unique_ptr<AbstractParcelable> QueryParcelable::Factory::CreateParcel() {
return nullptr;
}
#define QUERY_PARCELABLE_HH_
#include "abstract_parcelable.hh"
+#include "abstract_db_handler.hh"
#include <vector>
#include "pkgmgrinfo_private.h"
+using namespace pkgmgr_common::database;
+
namespace pkgmgr_common {
namespace parcel {
};
QueryParcelable();
- QueryParcelable(uid_t uid, std::string query);
+ QueryParcelable(uid_t uid, std::string query, AbstractDBHandler::DBType db_type, AbstractDBHandler::OperationType op_type);
const std::string& GetQuery();
+ AbstractDBHandler::DBType GetDBType();
+ AbstractDBHandler::OperationType GetOpType();
void WriteToParcel(tizen_base::Parcel* parcel) const override;
void ReadFromParcel(tizen_base::Parcel* parcel) override;
private:
std::string query_;
+ AbstractDBHandler::DBType db_type_;
+ AbstractDBHandler::OperationType op_type_;
};
} // namespace parcel
#include "pkgmgrinfo_private.h"
#include "logging.hh"
+#include "common/database/abstract_db_handler.hh"
#include "common/parcel/appinfo_parcelable.hh"
#include "common/parcel/filter_parcelable.hh"
#include "common/parcel/pkginfo_parcelable.hh"
}
std::shared_ptr<pkgmgr_common::parcel::AbstractParcelable> parcelable(
- new pkgmgr_common::parcel::QueryParcelable(uid, std::string(query)));
+ new pkgmgr_common::parcel::QueryParcelable(uid, std::string(query),
+ pkgmgr_common::database::AbstractDBHandler::DBType::DB_TYPE_FILE_PKGDB,
+ pkgmgr_common::database::AbstractDBHandler::OperationType::OPERATION_TYPE_READ));
pkgmgr_client::PkgInfoClient client(parcelable, uid,
pkgmgr_common::ReqType::QUERY);
}
std::shared_ptr<pkgmgr_common::parcel::AbstractParcelable> parcelable(
- new pkgmgr_common::parcel::QueryParcelable(uid, std::string(query)));
+ new pkgmgr_common::parcel::QueryParcelable(uid, std::string(query),
+ pkgmgr_common::database::AbstractDBHandler::DBType::DB_TYPE_FILE_PKGDB,
+ pkgmgr_common::database::AbstractDBHandler::OperationType::OPERATION_TYPE_READ));
pkgmgr_client::PkgInfoClient client(parcelable, uid,
pkgmgr_common::ReqType::QUERY);
return PMINFO_R_ERROR;
}
std::shared_ptr<pkgmgr_common::parcel::AbstractParcelable> parcelable(
- new pkgmgr_common::parcel::QueryParcelable(uid, std::string(query)));
+ new pkgmgr_common::parcel::QueryParcelable(uid, std::string(query),
+ pkgmgr_common::database::AbstractDBHandler::DBType::DB_TYPE_FILE_PKGDB,
+ pkgmgr_common::database::AbstractDBHandler::OperationType::OPERATION_TYPE_READ));
pkgmgr_client::PkgInfoClient client(parcelable, uid,
pkgmgr_common::ReqType::QUERY);
}
std::shared_ptr<pkgmgr_common::parcel::AbstractParcelable> parcelable(
- new pkgmgr_common::parcel::QueryParcelable(uid, std::string(query)));
+ new pkgmgr_common::parcel::QueryParcelable(uid, std::string(query),
+ pkgmgr_common::database::AbstractDBHandler::DBType::DB_TYPE_FILE_PKGDB,
+ pkgmgr_common::database::AbstractDBHandler::OperationType::OPERATION_TYPE_READ));
pkgmgr_client::PkgInfoClient client(parcelable, uid,
pkgmgr_common::ReqType::QUERY);
}
std::shared_ptr<pkgmgr_common::parcel::AbstractParcelable> parcelable(
- new pkgmgr_common::parcel::QueryParcelable(uid, std::string(query)));
+ new pkgmgr_common::parcel::QueryParcelable(uid, std::string(query),
+ pkgmgr_common::database::AbstractDBHandler::DBType::DB_TYPE_FILE_PKGDB,
+ pkgmgr_common::database::AbstractDBHandler::OperationType::OPERATION_TYPE_READ));
pkgmgr_client::PkgInfoClient client(parcelable, uid,
pkgmgr_common::ReqType::QUERY);
}
std::shared_ptr<pkgmgr_common::parcel::AbstractParcelable> parcelable(
- new pkgmgr_common::parcel::QueryParcelable(uid, std::string(query)));
+ new pkgmgr_common::parcel::QueryParcelable(uid, std::string(query),
+ pkgmgr_common::database::AbstractDBHandler::DBType::DB_TYPE_FILE_PKGDB,
+ pkgmgr_common::database::AbstractDBHandler::OperationType::OPERATION_TYPE_READ));
pkgmgr_client::PkgInfoClient client(parcelable, uid,
pkgmgr_common::ReqType::QUERY);
}
std::shared_ptr<pkgmgr_common::parcel::AbstractParcelable> parcelable(
- new pkgmgr_common::parcel::QueryParcelable(_getuid(), std::string(query)));
+ new pkgmgr_common::parcel::QueryParcelable(_getuid(), std::string(query),
+ pkgmgr_common::database::AbstractDBHandler::DBType::DB_TYPE_FILE_PKGDB,
+ pkgmgr_common::database::AbstractDBHandler::OperationType::OPERATION_TYPE_READ));
sqlite3_free(query);
pkgmgr_client::PkgInfoClient client(parcelable, _getuid(),
}
std::shared_ptr<pkgmgr_common::parcel::AbstractParcelable> parcelable(
- new pkgmgr_common::parcel::QueryParcelable(uid, std::string(query)));
+ new pkgmgr_common::parcel::QueryParcelable(uid, std::string(query),
+ pkgmgr_common::database::AbstractDBHandler::DBType::DB_TYPE_FILE_PKGDB,
+ pkgmgr_common::database::AbstractDBHandler::OperationType::OPERATION_TYPE_READ));
sqlite3_free(query);
pkgmgr_client::PkgInfoClient client(parcelable, uid,
#include <iostream>
#include <tuple>
+#include "common/database/abstract_db_handler.hh"
#include "common/parcel/abstract_parcelable.hh"
#include "common/parcel/appinfo_parcelable.hh"
#include "common/parcel/certinfo_parcelable.hh"
tizen_base::Parcel parcel;
std::string query = "select * from package_info";
- pp::QueryParcelable origin_parcelable(0, query);
+ pp::QueryParcelable origin_parcelable(0, query,
+ pkgmgr_common::database::AbstractDBHandler::DBType::DB_TYPE_FILE_PKGDB,
+ pkgmgr_common::database::AbstractDBHandler::OperationType::OPERATION_TYPE_READ);
pp::QueryParcelable new_parcelable;
parcel.WriteParcelable(origin_parcelable);
parcel.ReadParcelable(&new_parcelable);
EXPECT_EQ(origin_parcelable.GetQuery(), new_parcelable.GetQuery());
+ EXPECT_EQ(origin_parcelable.GetDBType(), new_parcelable.GetDBType());
+ EXPECT_EQ(origin_parcelable.GetOpType(), new_parcelable.GetOpType());
}
TEST_F(ParcelTest, ParcelableFactory) {