Fix wrong type size
[platform/core/appfw/pkgmgr-info.git] / src / server / request_handler / command_request_handler.cc
index e928b93..d98e4a4 100644 (file)
@@ -9,6 +9,7 @@
 #include "db_handle_provider.hh"
 #include "parcelable_factory.hh"
 #include "pkginfo_parcelable.hh"
+#include "remove_cache_db_handler.hh"
 #include "utils/logging.hh"
 
 #include "pkgmgrinfo_debug.h"
@@ -19,8 +20,8 @@ namespace pcp = pkgmgr_common::parcel;
 namespace pkgmgr_server {
 namespace request_handler {
 
-bool CommandRequestHandler::HandleRequest(unsigned char* data, int size,
-                                             const std::string& locale) {
+bool CommandRequestHandler::HandleRequest(unsigned char* data, size_t size,
+    const std::string& locale) {
   auto abstract_parcel =
       pcp::ParcelableFactory::GetInst().CreateParcel(data, size);
 
@@ -41,25 +42,15 @@ bool CommandRequestHandler::HandleRequest(unsigned char* data, int size,
   }
 
   if (parcel->GetCmd() == CommandType::RemoveCache) {
-    database::DBHandleProvider::GetInst(
-        parcel->GetUid()).UnsetMemoryMode(GetPID());
+    database::RemoveCacheDBHandler db(parcel->GetUid(), GetPID());
+    int ret = db.Execute();
     result_ = std::make_shared<pcp::ResultParcelable>(
-        PMINFO_R_OK, std::vector<pcp::StrArgs>{});
+        ret, std::vector<pcp::StrArgs>{});
     return true;
   }
 
   return true;
 }
 
-std::vector<uint8_t> CommandRequestHandler::ExtractResult() {
-  tizen_base::Parcel parcel;
-
-  parcel.WriteParcelable(*result_);
-  std::vector<uint8_t> raw = parcel.GetRaw();
-  result_.reset();
-
-  return raw;
-}
-
 }  // namespace request_handler
 }  // namespace pkgmgr_server