Add SMACK check signal for transaction.
authorsung-su.kim <sung-su.kim@samsung.com>
Thu, 24 Oct 2013 06:35:10 +0000 (15:35 +0900)
committerGerrit Code Review <gerrit@gerrit.vlan144.tizendev.org>
Mon, 28 Oct 2013 08:01:23 +0000 (08:01 +0000)
[Issue#]   N/A
[Problem]  N/A
[Cause]    Changed SMACK policy from rule file to db.
[Solution] Add send start/end signal for smack db transaction.
[SCMRequest] N/A

Change-Id: I8727ccc7c9254cd56bfd361fddb7b2238c60128c

src/jobs/widget_install/task_smack.cpp
src/jobs/widget_install/widget_install_errors.h

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
index 473d9cb..75a97bb 100644 (file)
@@ -91,6 +91,8 @@ DECLARE_JOB_EXCEPTION(Base, EncryptionFailed, ErrorEncryptionFailed)
 DECLARE_JOB_EXCEPTION(Base, InstallOspsvcFailed, ErrorInstallOspServcie)
 DECLARE_JOB_EXCEPTION(Base, PrivilegeLevelViolation, ErrorPrivilegeLevelViolation)
 DECLARE_JOB_EXCEPTION(Base, NotSupportRDSUpdate, ErrorNotSupportRDSUpdate)
+DECLARE_JOB_EXCEPTION(Base, SmackTransactionFailed, ErrorFatalError)
+
 } //namespace
 } //namespace
 } //namespace