Fix Jira issue for smack api
authorDuyoung Jang <duyoung.jang@samsung.com>
Sat, 13 Apr 2013 10:21:47 +0000 (19:21 +0900)
committerDuyoung Jang <duyoung.jang@samsung.com>
Sat, 13 Apr 2013 10:21:47 +0000 (19:21 +0900)
Change-Id: I3334ff8f5a47f426ba6e614ee6b90ffaad15ab88
Signed-off-by: Duyoung Jang <duyoung.jang@samsung.com>
inc/InstallerDefs.h
src/Manager/SmackManager.cpp

index 730d5aa..c2f4ded 100755 (executable)
@@ -23,7 +23,7 @@
 
 #include "InstallerUtil.h"
 
-#define OSP_INSTALLER_VERSION "version=[20130412.2]"
+#define OSP_INSTALLER_VERSION "version=[20130413.1]"
 
 #define DIR_BIN                                L"/bin"
 #define DIR_INFO                       L"/info"
index 2cc6d3b..3923dbf 100755 (executable)
@@ -266,26 +266,36 @@ SmackManager::EnablePermissions(const PackageId& packageId)
        std::unique_ptr<char[]> pPackageId(_StringConverter::CopyToCharArrayN(packageId));
        TryReturn(pPackageId, false, "pPackageId is null.");
 
-       int count = __pContext->__pPrivilegeList->GetCount();
+       if (__pContext->__pPrivilegeList)
+       {
+               int count = __pContext->__pPrivilegeList->GetCount();
 
-       const char** pList = new (std::nothrow) const char*[count+1];
-       TryReturn(pList, false, "pList is null.");
+               const char** pList = new (std::nothrow) const char*[count+1];
+               TryReturn(pList, false, "pList is null.");
 
-       for (int i = 0; i < count; i++)
-       {
-               String* pPrivilege = dynamic_cast < String* >(__pContext->__pPrivilegeList->GetAt(i));
-               if (pPrivilege)
+               for (int i = 0; i < count; i++)
                {
-                       char* pPrivilegeString = _StringConverter::CopyToCharArrayN(*pPrivilege);
-                       TryReturn(pPrivilegeString, false, "pPrivilegeString is null.");
+                       String* pPrivilege = dynamic_cast < String* >(__pContext->__pPrivilegeList->GetAt(i));
+                       if (pPrivilege)
+                       {
+                               char* pPrivilegeString = _StringConverter::CopyToCharArrayN(*pPrivilege);
+                               TryReturn(pPrivilegeString, false, "pPrivilegeString is null.");
 
-                       pList[i] = pPrivilegeString;
-               }
-        }
+                               pList[i] = pPrivilegeString;
+                       }
+                }
 
-       pList[count] = null;
+               pList[count] = null;
+
+               res = EnablePermissions(pPackageId.get(), 1, pList, true);
 
-       res = EnablePermissions(pPackageId.get(), 1, pList, true);
+               for (int i = 0; pList[i] != null; i++)
+               {
+                       AppLog("delete Privilege - [%s]", pList[i]);
+                       delete[] pList[i];
+                }
+               delete[] pList;
+       }
 
        if ((__pContext->__isPreloaded == true) && (__pContext->__isUpdated == false))
        {
@@ -319,13 +329,6 @@ SmackManager::EnablePermissions(const PackageId& packageId)
                }
        }
 
-       for (int i = 0; pList[i] != null; i++)
-       {
-               AppLog("delete Privilege - [%s]", pList[i]);
-               delete[] pList[i];
-        }
-       delete[] pList;
-
        return true;
 }
 
@@ -476,6 +479,7 @@ SmackManager::Install(const char* pPackageId)
                return -1;
        }
 
+       AppLog("[smack] app_install(%s)", pPackageId);
        ret = app_install(pPackageId);
        AppLog("[smack] app_install(%s), result = [%d]", pPackageId, ret);
 
@@ -508,6 +512,7 @@ SmackManager::Uninstall(const char* pPackageId)
                return -1;
        }
 
+       AppLog("[smack] app_uninstall(%s)", pPackageId);
        ret = app_uninstall(pPackageId);
        AppLog("[smack] app_uninstall(%s), result = [%d]", pPackageId, ret);
 
@@ -540,6 +545,7 @@ SmackManager::AddLabelDir(const char* pLabel, const char* pDirPath)
                return -1;
        }
 
+       AppLog("[smack] app_label_dir(%s, %s)", pLabel, pDirPath);
        ret = app_label_dir(pLabel, pDirPath);
        AppLog("[smack] app_label_dir(%s, %s), result = [%d]", pLabel, pDirPath, ret);
 
@@ -572,6 +578,7 @@ SmackManager::AddLabelSharedDir(const char* pLabel, const char* pSharedLabel, co
                return -1;
        }
 
+       AppLog("[smack] app_label_shared_dir(%s, %s, %s)", pLabel, pSharedLabel, pDirPath);
        ret = app_label_shared_dir(pLabel, pSharedLabel, pDirPath);
        AppLog("[smack] app_label_shared_dir(%s, %s, %s), result = [%d]", pLabel, pSharedLabel, pDirPath, ret);
 
@@ -604,6 +611,7 @@ SmackManager::AddSharedDirReaders(const char* pSharedLabel, const char** ppAppLi
                return -1;
        }
 
+       AppLog("[smack] add_shared_dir_readers(%s)", pSharedLabel);
        ret = add_shared_dir_readers(pSharedLabel, ppAppList);
        AppLog("[smack] add_shared_dir_readers(%s), result = [%d]", pSharedLabel, ret);
 
@@ -636,6 +644,7 @@ SmackManager::AddFriend(const char* pPackageId1, const char* pPackageId2)
                return -1;
        }
 
+       AppLog("[smack] app_add_friend(%s, %s)", pPackageId1, pPackageId2);
        ret = app_add_friend(pPackageId1, pPackageId2);
        AppLog("[smack] app_add_friend(%s, %s), result = [%d]", pPackageId1, pPackageId2, ret);
 
@@ -668,6 +677,7 @@ SmackManager::EnablePermissions(const char* pPackageId, int appType, const char*
                return -1;
        }
 
+       AppLog("[smack] app_enable_permissions(%s, %d)", pPackageId, appType);
        ret = app_enable_permissions(pPackageId, appType, ppPermissions, persistent);
        AppLog("[smack] app_enable_permissions(%s, %d), result = [%d]", pPackageId, appType, ret);
 
@@ -700,6 +710,7 @@ SmackManager::RevokePermissions(const char* pPackageId)
                return -1;
        }
 
+       AppLog("[smack] app_revoke_permissions(%s)", pPackageId);
        ret = app_revoke_permissions(pPackageId);
        AppLog("[smack] app_revoke_permissions(%s), result = [%d]", pPackageId, ret);