service initialization refactoring
authorYoung Ik Cho <youngik.cho@samsung.com>
Thu, 5 Sep 2013 08:08:57 +0000 (17:08 +0900)
committerYoung Ik Cho <youngik.cho@samsung.com>
Fri, 6 Sep 2013 05:02:51 +0000 (14:02 +0900)
Change-Id: I10688dc9578628cedd6e2d3f1507918550e0f2db
Signed-off-by: Young Ik Cho <youngik.cho@samsung.com>
src/app/FApp_ServiceAppImpl.cpp
src/app/inc/FAppPkg_PackageManagerImpl.h
src/app/package/FAppPkg_PackageManagerImpl.cpp

index dd80c88..8167e25 100644 (file)
@@ -26,6 +26,7 @@
 #include <FBaseErrors.h>
 #include <FBaseSysLog.h>
 #include <FAppPkgPackageInfo.h>
+#include <FAppPkgPackageAppInfo.h>
 
 #include <FBaseRt_LibraryImpl.h>
 
@@ -35,7 +36,6 @@
 #include "FAppPkg_PackageManagerImpl.h"
 #include "FAppPkg_PackageInfoImpl.h"
 #include "FApp_AppManagerImpl.h"
-#include "FApp_TemplateUtil.h"
 #include "FApp_IAppEventListener.h"
 
 using namespace Tizen::App::Package;
@@ -227,21 +227,20 @@ _ServiceAppImpl::GetServiceAppInstance(void)
 bool
 _ServiceAppImpl::OnAppInitializing(void)
 {
-       const String& packageId = _AppInfo::GetPackageId();
-       const String& exeName = _AppInfo::GetAppExecutableName();
+       SysTryReturn(NID_APP, __pServiceApp != null, false, E_INVALID_STATE, "[E_INVALID_STATE] Getting ServiceApp instance failed.");
 
-       HashMapT<String, _AppFeatureInfoImpl*>* pInfo = _PackageManagerImpl::GetInstance()->GetPackageAppFeatureMapN(packageId, exeName);
+       const AppId& appId = _AppInfo::GetApplicationId();
 
-       if (pInfo)
+       std::unique_ptr<PackageAppInfo> pInfo(_PackageManagerImpl::GetInstance()->GetPackageAppInfoN(appId));
+       if (pInfo.get())
        {
-               _AppFeatureInfoImpl* pFeature = null;
-
-               result r = pInfo->GetValue(USE_UI_KEY, pFeature);
-
-               if (r == E_SUCCESS)
+               const _PackageAppInfoImpl* pInfoImpl = _PackageAppInfoImpl::GetInstance(pInfo.get());
+               if (pInfoImpl)
                {
-                       const String& val = pFeature->GetValue();
-                       if (val == USE_UI_VAL_TRUE)
+                       const String& useUi = pInfoImpl->GetAppFeature(USE_UI_KEY);
+                       const String& lifeDuration = pInfoImpl->GetAppFeature(LIFE_DURATION_KEY);
+
+                       if (useUi.Equals(USE_UI_VAL_TRUE, false))
                        {
                                SysLog(NID_APP, "Using remote ui on service application.");
 
@@ -251,28 +250,23 @@ _ServiceAppImpl::OnAppInitializing(void)
                                pInit = reinterpret_cast<result (*)()>(lib.GetProcAddress(L"InitializeUiFramework"));
                                if (pInit)
                                {
-                                       r = (*pInit)();
+                                       result r = (*pInit)();
                                        SysLog(NID_APP, "[%s] UI initialized.", GetErrorMessage(r));
                                }
                        }
-               }
 
-               r = pInfo->GetValue(LIFE_DURATION_KEY, pFeature);
-               if (r == E_SUCCESS)
-               {
-                       const String& val = pFeature->GetValue();
-                       r = Integer::Parse(val, __lifeDuration);
-                       if( r == E_SUCCESS )
+                       if (!lifeDuration.IsEmpty())
                        {
-                               SysLog(NID_APP, "LifeDuration is (%d) millis.", __lifeDuration);
+                               result r = Integer::Parse(lifeDuration, __lifeDuration);
+                               if( r == E_SUCCESS )
+                               {
+                                       SysLog(NID_APP, "LifeDuration is (%d) millis.", __lifeDuration);
+                               }
                        }
-               }
 
-               _DeleteCollectionMapValue<String, _AppFeatureInfoImpl>(*pInfo);
-               delete pInfo;
+               }
        }
 
-       SysTryReturn(NID_APP, __pServiceApp != null, false, E_INVALID_STATE, "[E_INVALID_STATE] Getting ServiceApp instance failed.");
        return __pServiceApp->OnAppInitializing(*(AppRegistry::GetInstance()));
 }
 
index b3efe2a..0882913 100755 (executable)
@@ -167,8 +167,6 @@ public:
        Tizen::Base::Collection::IMap* GetUiThemeListN(const PackageId& packageId) const;
 
        Tizen::Base::Collection::ArrayList* GetPackageAppInfoImplListN(const PackageId& packageId) const;
-       Tizen::Base::Collection::ArrayList* GetPackageAppFeatureListN(const PackageId& packageId, const Tizen::Base::String& executableName) const;
-       Tizen::Base::Collection::HashMapT<Tizen::Base::String, _AppFeatureInfoImpl*>* GetPackageAppFeatureMapN(const PackageId& packageId, const Tizen::Base::String& executableName) const;
        Tizen::Base::Collection::ArrayList* GetAppLaunchConditionListN(const Tizen::Base::String& packageName) const;
 
        result GetPackageName(const PackageId& packageId, const Tizen::Base::String* pName, char* pPackageName, int bufferSize);
index 835b5bd..7517cfb 100755 (executable)
@@ -2001,67 +2001,6 @@ CATCH:
        return pList;
 }
 
-ArrayList*
-_PackageManagerImpl::GetPackageAppFeatureListN(const PackageId& packageId, const Tizen::Base::String& appExecutableName) const
-{
-       ArrayList* pAppInfoList = GetPackageAppInfoImplListN(packageId);
-       SysTryReturn(NID_APP, pAppInfoList != null, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] AppInfo list instance must not be null.");
-
-       ArrayList* pResult = null;
-
-       for (int i = 0; i < pAppInfoList->GetCount(); i++)
-       {
-               const _PackageAppInfoImpl* pAppInfoImpl = static_cast<const _PackageAppInfoImpl*>(pAppInfoList->GetAt(i));
-               if (pAppInfoImpl == null)
-               {
-                       continue;
-               }
-
-               if (pAppInfoImpl->GetName() == appExecutableName)
-               {
-                       pResult = pAppInfoImpl->GetAppFeatureListN();
-                       goto OUT;
-               }
-       }
-
-OUT:
-       pAppInfoList->RemoveAll(true);
-       delete pAppInfoList;
-
-       return pResult;
-}
-
-HashMapT<String, _AppFeatureInfoImpl*>*
-_PackageManagerImpl::GetPackageAppFeatureMapN(const PackageId& packageId, const Tizen::Base::String& appExecutableName) const
-{
-       ArrayList* pAppInfoList = GetPackageAppInfoImplListN(packageId);
-       SysTryReturn(NID_APP, pAppInfoList != null, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] AppInfo list instance must not be null.");
-
-       HashMapT<String, _AppFeatureInfoImpl*>* pResult = null;
-
-       std::auto_ptr<IEnumerator> pEnum(pAppInfoList->GetEnumeratorN());
-
-       while (pEnum->MoveNext() == E_SUCCESS)
-       {
-               const _PackageAppInfoImpl* pAppInfoImpl = static_cast<const _PackageAppInfoImpl*>(pEnum->GetCurrent());
-               if (pAppInfoImpl == null)
-               {
-                       continue;
-               }
-
-               if (pAppInfoImpl->GetName() == appExecutableName)
-               {
-                       pResult = pAppInfoImpl->GetAppFeatureMapN();
-                       goto OUT;
-               }
-       }
-
-OUT:
-       pAppInfoList->RemoveAll(true);
-       delete pAppInfoList;
-
-       return pResult;
-}
 
 ArrayList*
 _PackageManagerImpl::GetAppLaunchConditionListN(const String& packageName) const