Add SMACK check signal for transaction.
[framework/web/wrt-installer.git] / src / jobs / widget_install / task_smack.cpp
index cfac8b0..5efa392 100644 (file)
@@ -36,6 +36,7 @@
 #endif
 #include <sstream>
 #include <installer_log.h>
+#include <privilege-control.h>
 
 using namespace WrtDB;
 using namespace ValidationCore;
@@ -275,11 +276,19 @@ bool TaskSmack::setLabelForSharedDir(const char* pkgId)
 void TaskSmack::StartStep()
 {
     _D("--------- <TaskSmack> : START ----------");
+    if (PC_OPERATION_SUCCESS != perm_begin()) {
+        _E("Failed to smack transaction begin.");
+        ThrowMsg(Exceptions::SmackTransactionFailed, "Failed to smack transaction begin");
+    }
 }
 
 void TaskSmack::EndStep()
 {
     _D("--------- <TaskSmack> : END ----------");
+    if (PC_OPERATION_SUCCESS != perm_end()) {
+        _E("Failed to smack transaction end.");
+        ThrowMsg(Exceptions::SmackTransactionFailed, "Failed to smack transaction end");
+    }
 }
 } //namespace WidgetInstall
 } //namespace Jobs