Remove boost dependency
[platform/core/appfw/app-installers.git] / src / common / step / filesystem / step_remove_icons.cc
index 5c77e7c..0bc5e09 100644 (file)
@@ -4,18 +4,17 @@
 
 #include "common/step/filesystem/step_remove_icons.h"
 
-#include <boost/filesystem/operations.hpp>
-#include <boost/system/error_code.hpp>
 #include <pkgmgr-info.h>
 
 #include <cstring>
+#include <filesystem>
 #include <string>
+#include <system_error>
 
+#include "common/utils/file_util.h"
 #include "common/utils/glist_range.h"
 
-namespace bs = boost::system;
-namespace bf = boost::filesystem;
-
+namespace fs = std::filesystem;
 
 namespace common_installer {
 namespace filesystem {
@@ -30,22 +29,22 @@ Step::Status StepRemoveIcons::precheck() {
 }
 
 Step::Status StepRemoveIcons::process() {
-  for (auto iter = bf::directory_iterator(getIconPath(context_->uid.get(),
-          context_->is_preload_request.get()));
-      iter != bf::directory_iterator(); ++iter) {
-    if (!bf::is_regular_file(iter->path()))
+  const char* extra_icon_path = getIconPath(context_->uid.get(),
+      context_->is_readonly_package.get());
+  if (!extra_icon_path)
+    return Status::OK;
+  for (auto iter = fs::directory_iterator(extra_icon_path);
+      iter != fs::directory_iterator(); ++iter) {
+    if (!fs::is_regular_file(iter->path()))
       continue;
-    bs::error_code error;
+    std::error_code error;
     for (application_x* app :
         GListRange<application_x*>(
            context_->manifest_data.get()->application)) {
       if (app->icon) {
         std::string filename = iter->path().filename().string();
         if (filename.find(app->appid) == 0) {
-          bf::remove(iter->path(), error);
-          if (error) {
-            LOG(WARNING) << "Failed to remove: " << filename;
-          }
+          Remove(iter->path());
         }
       }
     }