// Use of this source code is governed by an apache-2.0 license that can be
// found in the LICENSE file.
+#include "get_pkginfo_request_handler.hh"
+
+#include <string>
+
#include "parcelable_factory.hh"
-#include "filter_parcelable.hh"
#include "pkg_get_db_handler.hh"
-#include "get_pkginfo_request_handler.hh"
+#include "filter_parcelable.hh"
#include "pkgmgrinfo_debug.h"
-#include <string>
-using namespace pkgmgr_common::parcel;
-using namespace pkgmgr_common::database;
+namespace pcp = pkgmgr_common::parcel;
+namespace pcd = pkgmgr_common::database;
namespace pkgmgr_server {
namespace request_handler {
bool GetPkginfoRequestHandler::HandleRequest(unsigned char* data, int size,
std::string locale) {
- auto abstract_parcel = ParcelableFactory::GetInst().CreateParcel(data, size);
+ auto abstract_parcel =
+ pcp::ParcelableFactory::GetInst().CreateParcel(data, size);
if (abstract_parcel == nullptr ||
- abstract_parcel->GetType() != ParcelableType::Filter) {
+ abstract_parcel->GetType() != pcp::ParcelableType::Filter) {
_LOGE("Invalid parcel or type");
- result_ = std::make_shared<PkgInfoParcelable>(
+ result_ = std::make_shared<pcp::PkgInfoParcelable>(
PMINFO_R_ERROR, std::vector<package_x*>{});
return false;
}
- auto* parcel = dynamic_cast<FilterParcelable*>(abstract_parcel.get());
+ auto* parcel = dynamic_cast<pcp::FilterParcelable*>(abstract_parcel.get());
if (parcel == nullptr) {
_LOGE("Parcel is empty");
- result_ = std::make_shared<PkgInfoParcelable>(
+ result_ = std::make_shared<pcp::PkgInfoParcelable>(
PMINFO_R_ERROR, std::vector<package_x*>{});
return false;
}
- PkgGetDBHandler db(parcel->GetUid(), GetPID());
+ pcd::PkgGetDBHandler db(parcel->GetUid(), GetPID());
db.SetLocale(locale);
db.SetFilter(const_cast<pkgmgrinfo_filter_x*>(parcel->GetFilter()));
int ret = db.Execute();
- result_ = std::make_shared<PkgInfoParcelable>(ret, db.GetPkgHandle());
+ result_ = std::make_shared<pcp::PkgInfoParcelable>(ret, db.GetPkgHandle());
return true;
}
-std::vector<uint8_t> GetPkginfoRequestHandler::GetResult() {
+std::vector<uint8_t> GetPkginfoRequestHandler::ExtractResult() {
tizen_base::Parcel parcel;
parcel.WriteParcelable(*result_.get());
std::vector<uint8_t> raw = parcel.GetRaw();
+ result_.reset();
+
return raw;
}