[Release] wrt-installer_0.1.9
[framework/web/wrt-installer.git] / src / jobs / widget_install / task_certificates.cpp
index 14395d4..04247fa 100644 (file)
@@ -37,10 +37,10 @@ using namespace WrtDB;
 
 namespace Jobs {
 namespace WidgetInstall {
-
 TaskCertificates::TaskCertificates(InstallerContext& context) :
     DPL::TaskDecl<TaskCertificates>(this),
-    m_context(context)
+    m_context(context),
+    m_pkgHandle(NULL)
 {
     AddStep(&TaskCertificates::StepSetCertiInfo);
     AddAbortStep(&TaskCertificates::StepAbortCertiInfo);
@@ -53,19 +53,20 @@ void TaskCertificates::StepSetCertiInfo()
     if (pkgmgr_installer_create_certinfo_set_handle(&m_pkgHandle) < 0) {
         LogError("pkgmgrInstallerCreateCertinfoSetHandle fail");
         ThrowMsg(Exceptions::SetCertificateInfoFailed,
-                "Failed to create certificate handle");
+                 "Failed to create certificate handle");
     }
 
     SetCertiInfo(SIGNATURE_AUTHOR);
     SetCertiInfo(SIGNATURE_DISTRIBUTOR);
 
     if ((pkgmgr_installer_save_certinfo(
-                    const_cast<char*>(DPL::ToUTF8String(
-                            m_context.widgetConfig.tzPkgid).c_str()),
-                    m_pkgHandle)) < 0) {
+             const_cast<char*>(DPL::ToUTF8String(
+                                   m_context.widgetConfig.tzPkgid).c_str()),
+             m_pkgHandle)) < 0)
+    {
         LogError("pkgmgrInstallerSaveCertinfo fail");
         ThrowMsg(Exceptions::SetCertificateInfoFailed,
-                "Failed to Installer Save Certinfo");
+                 "Failed to Installer Save Certinfo");
     } else {
         LogDebug("Succeed to save Certinfo");
     }
@@ -73,6 +74,10 @@ void TaskCertificates::StepSetCertiInfo()
     if (pkgmgr_installer_destroy_certinfo_set_handle(m_pkgHandle) < 0) {
         LogError("pkgmgrInstallerDestroyCertinfoSetHandle fail");
     }
+
+    m_context.job->UpdateProgress(
+            InstallerContext::INSTALL_SET_CERTINFO,
+            "Save certinfo to pkgmgr");
 }
 
 void TaskCertificates::SetCertiInfo(CertificateSource source)
@@ -89,22 +94,22 @@ void TaskCertificates::SetCertiInfo(CertificateSource source)
         if (false == chain.load(*it)) {
             LogError("Chain is broken");
             ThrowMsg(Exceptions::SetCertificateInfoFailed,
-                    "Failed to Installer Save Certinfo");
+                     "Failed to Installer Save Certinfo");
         }
 
-        if (!chain.sort()){
+        if (!chain.sort()) {
             LogError("Chain failed at sorting");
         }
 
         ValidationCore::CertificateList list = chain.getCertificateList();
 
-        FOREACH(certIt, list) 
+        FOREACH(certIt, list)
         {
             pkgmgr_instcert_type instCertType;
 
             if (source == SIGNATURE_DISTRIBUTOR) {
                 std::string
-                    Name(DPL::ToUTF8String(*(*certIt)->getOrganizationName()));
+                Name(DPL::ToUTF8String(*(*certIt)->getOrganizationName()));
                 size_t found = Name.find("Tizen");
 
                 if (found != std::string::npos) {
@@ -124,7 +129,8 @@ void TaskCertificates::SetCertiInfo(CertificateSource source)
                         instCertType = PM_SET_DISTRIBUTOR2_ROOT_CERT;
                     } else {
                         if ((*certIt)->isCA()) {
-                            instCertType = PM_SET_DISTRIBUTOR2_INTERMEDIATE_CERT;
+                            instCertType =
+                                PM_SET_DISTRIBUTOR2_INTERMEDIATE_CERT;
                         } else {
                             instCertType = PM_SET_DISTRIBUTOR2_SIGNER_CERT;
                         }
@@ -143,13 +149,14 @@ void TaskCertificates::SetCertiInfo(CertificateSource source)
                 }
             }
             LogDebug("cert type : " << instCertType);
-            if((pkgmgr_installer_set_cert_value(
-                            m_pkgHandle,
-                            instCertType,
-                            const_cast<char*>(((*certIt)->getBase64()).c_str()))) < 0) {
+            if ((pkgmgr_installer_set_cert_value(
+                     m_pkgHandle,
+                     instCertType,
+                     const_cast<char*>(((*certIt)->getBase64()).c_str()))) < 0)
+            {
                 LogError("pkgmgrInstallerSetCertValue fail");
                 ThrowMsg(Exceptions::SetCertificateInfoFailed,
-                        "Failed to Set CertValue");
+                         "Failed to Set CertValue");
             }
         }
     }
@@ -158,11 +165,12 @@ void TaskCertificates::SetCertiInfo(CertificateSource source)
 void TaskCertificates::StepAbortCertiInfo()
 {
     if ((pkgmgr_installer_delete_certinfo(
-                    const_cast<char*>(DPL::ToUTF8String(
-                            m_context.widgetConfig.tzPkgid).c_str()))) < 0) {
+             const_cast<char*>(DPL::ToUTF8String(
+                                   m_context.widgetConfig.tzPkgid).c_str()))) <
+        0)
+    {
         LogError("pkgmgr_installer_delete_certinfo fail");
     }
 }
-
 } //namespace WidgetInstall
 } //namespace Jobs