fix not to terminate app when last dynamic box provider is removed. (instead the... accepted/tizen/20131031.112415 submit/tizen/20131031.063745
authorjungmin76.park <jungmin76.park@samsung.com>
Wed, 30 Oct 2013 10:26:01 +0000 (19:26 +0900)
committerjungmin76.park <jungmin76.park@samsung.com>
Thu, 31 Oct 2013 02:10:42 +0000 (11:10 +0900)
Change-Id: I2fb83ae3b5fefd2e174569c5d2960ae74924fb74
Signed-off-by: jungmin76.park <jungmin76.park@samsung.com>
inc/FShell_AppContext.h
inc/FShell_AppWidgetManagerService.h
inc/FShell_AppWidgetManagerStub.h
src/FShell_AppContext.cpp
src/FShell_AppWidgetManagerService.cpp
src/FShell_AppWidgetManagerStub.cpp

index d6bca4f..9699e00 100644 (file)
@@ -99,6 +99,7 @@ public:
 
 private:
        void SetConnectionState(_ConnectionState state);
+       static const wchar_t* GetConnectionStateString(_ConnectionState state);
        void SetWaitingStatus(bool status);
        _AppWidgetContext* FindInvalidAppWidget(void) const;
 
@@ -125,7 +126,7 @@ private:
        bool __isWaitingResult;
        int __ipcClientId;
        _ConnectionState __connectionState;
-       Tizen::Base::Collection::HashMapT<Tizen::Base::String, _AppWidgetContext*> __appWidgetContextList;
+       Tizen::Base::Collection::HashMapT<Tizen::Base::String, _AppWidgetContext*> __appWidgetContexts;
        Tizen::Base::Collection::ArrayListT<PendingEvent*>* __pPendingEventList;
 };
 
index dec320f..e6a6a79 100644 (file)
@@ -97,7 +97,6 @@ private:
        virtual result SendAccessStatus(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int accessStatus);
 
        // stub implementations(response)
-       virtual result RequestProviderCount(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int& providerCount);
        virtual result SendResult(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, bool isSucceeded);
 
        // stub implementations(ipc connection)
@@ -112,9 +111,10 @@ private:
        virtual void OnApplicationTerminated(const Tizen::App::AppId& appId, int pid);
 
        // helpers
+       _AppContext* GetOrCreateAppContext(const Tizen::App::AppId& appId);
        _AppContext* FindAppContext(const Tizen::App::AppId& appId) const;
        result RemoveAppContext(const Tizen::App::AppId& appId);
-       _AppWidgetContext* FindAppWidget(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId) const;
+//     _AppWidgetContext* FindAppWidget(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId) const;
        void StartPingTimer(void);
        virtual void OnTimerExpired(Tizen::Base::Runtime::Timer& timer);
        result RequestUpdateAllInactiveted(void) const;
@@ -125,7 +125,7 @@ private:
 
 private:
        static AppWidgetManagerService* __pTheInstance;
-       Tizen::Base::Collection::HashMapT<Tizen::Base::String, _AppContext*> __appContextList;
+       Tizen::Base::Collection::HashMapT<Tizen::Base::String, _AppContext*> __appContexts;
        Tizen::Base::Runtime::Timer __pingTimer;
 
        enum CoreDaemonConnectionState
index 8ce1148..1e4082b 100644 (file)
@@ -62,7 +62,6 @@ protected:
        bool OnSyncRemoteBufferForPD(const Tizen::Base::String& instanceId, result* pRes);
        bool OnReleaseRemoteBuffer(const Tizen::Base::String& instanceId, result* pRes);
        bool OnReleaseRemoteBufferForPD(const Tizen::Base::String& instanceId, result* pRes);
-       bool OnRequestProviderCount(const Tizen::Base::String& instanceId, int* pProviderCount);
        bool OnSendResult(const Tizen::Base::String& instanceId, bool isSucceeded);
        bool OnSendAccessStatus(const Tizen::Base::String& instanceId, int accessStatus);
 
@@ -77,7 +76,6 @@ protected:
        virtual result ReleaseRemoteBufferForPD(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId) = 0;
        virtual result SendAccessStatus(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int accessStatus) = 0;
 
-       virtual result RequestProviderCount(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int& pProviderCount) = 0;
        virtual result SendResult(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, bool isSucceeded) = 0;
 
        virtual void OnIpcClientConnected(const Tizen::App::AppId& appId, int clientId) = 0;
index b1704ee..69b0f01 100644 (file)
@@ -57,8 +57,10 @@ _AppContext::_AppContext(const AppId& appId)
        result r = __pPendingEventList->Construct();
        SysTryReturnVoidResult(NID_SHELL, !IsFailed(r), E_SYSTEM, "Failed to execute Construct.");
 
-       r = __appWidgetContextList.Construct();
+       r = __appWidgetContexts.Construct();
        SysTryReturnVoidResult(NID_SHELL, !IsFailed(r), E_SYSTEM, "Failed to execute Construct.");
+
+       SysLog(NID_SHELL, "Constructed.");
 }
 
 _AppContext::~_AppContext(void)
@@ -77,7 +79,7 @@ _AppContext::~_AppContext(void)
                delete __pPendingEventList;
        }
 
-       IMapEnumeratorT<String, _AppWidgetContext*>* pMapEnum = __appWidgetContextList.GetMapEnumeratorN();
+       IMapEnumeratorT<String, _AppWidgetContext*>* pMapEnum = __appWidgetContexts.GetMapEnumeratorN();
        if (pMapEnum != null)
        {
                while (pMapEnum->MoveNext() == E_SUCCESS)
@@ -99,12 +101,12 @@ _AppContext::AddAppWidget(const Tizen::Base::String& userInfo, const Tizen::Base
        _AppWidgetContext* pAppWidgetContext = null;
        bool containsKey = false;
 
-       __appWidgetContextList.ContainsKey(instanceId, containsKey);
+       __appWidgetContexts.ContainsKey(instanceId, containsKey);
        if (containsKey == true)
        {
                SysSecureLog(NID_SHELL, "The appwidget(%ls) is already exist, so requesting to update.", instanceId.GetPointer() );
 
-               __appWidgetContextList.GetValue(instanceId, pAppWidgetContext);
+               __appWidgetContexts.GetValue(instanceId, pAppWidgetContext);
                pAppWidgetContext->OnUpdate(L"");
        }
        else
@@ -112,10 +114,10 @@ _AppContext::AddAppWidget(const Tizen::Base::String& userInfo, const Tizen::Base
                pAppWidgetContext = new (std::nothrow)_AppWidgetContext(this, instanceId, providerId, width, height, userInfo, period, priority);
                SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OUT_OF_MEMORY, "");
 
-               __appWidgetContextList.Add(instanceId, pAppWidgetContext);
+               __appWidgetContexts.Add(instanceId, pAppWidgetContext);
                pAppWidgetContext->OnAdded();
 
-               SysSecureLog(NID_SHELL, "%ls, %ls, count(%d)", pAppWidgetContext->GetProviderId().GetPointer(), pAppWidgetContext->GetInstanceId().GetPointer(), __appWidgetContextList.GetCount());
+               SysSecureLog(NID_SHELL, "%ls, %ls, count(%d)", pAppWidgetContext->GetProviderId().GetPointer(), pAppWidgetContext->GetInstanceId().GetPointer(), __appWidgetContexts.GetCount());
        }
        return E_SUCCESS;
 }
@@ -159,14 +161,14 @@ _AppContext::DestroyAppWidget(const Tizen::Base::String& instanceId, bool isTrig
        _AppWidgetContext* pAppWidgetContext = FindAppWidget(instanceId);
        SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "Failed to find _AppWidgetContext.");
 
-       __appWidgetContextList.Remove(instanceId);
+       __appWidgetContexts.Remove(instanceId);
 
        result r = pAppWidgetContext->OnRemoved(isTriggeredByViewer);
        SysTryLog(NID_SHELL, !IsFailed(r), "Failed to execute OnRemoved.");
 
        delete pAppWidgetContext;
 
-    SysLog(NID_SHELL, "AppWidget(%ls) is removed. remain count(%d)", instanceId.GetPointer(), __appWidgetContextList.GetCount());
+    SysLog(NID_SHELL, "AppWidget(%ls) is removed. remain count(%d)", instanceId.GetPointer(), __appWidgetContexts.GetCount());
        return E_SUCCESS;
 }
 
@@ -190,9 +192,24 @@ _AppContext::GetConnectionState(void) const
 void
 _AppContext::SetConnectionState(_ConnectionState state)
 {
+       SysLog(NID_SHELL, "state transition has occurred: %ls -> %ls", GetConnectionStateString(__connectionState), GetConnectionStateString(state));
        __connectionState = state;
 }
 
+const wchar_t*
+_AppContext::GetConnectionStateString(_ConnectionState state)
+{
+       static const wchar_t* const connectionStateStringArray[] =
+       {
+               L"Invalid state",
+               L"Connecting",
+               L"Connected",
+               L"Disconnected",
+       };
+
+       return connectionStateStringArray[state];
+}
+
 Tizen::App::AppId
 _AppContext::GetAppId(void) const
 {
@@ -218,7 +235,7 @@ _AppContext::OnIpcDisconnected(void)
        __ipcClientId = -1;
        SetConnectionState(CONNECTION_STATE_DISCONNECTED);
 
-       unique_ptr< IMapEnumeratorT<String, _AppWidgetContext*> > pAppWidgetContextEnum(__appWidgetContextList.GetMapEnumeratorN());
+       unique_ptr< IMapEnumeratorT<String, _AppWidgetContext*> > pAppWidgetContextEnum(__appWidgetContexts.GetMapEnumeratorN());
        SysTryReturnVoidResult(NID_SHELL, pAppWidgetContextEnum, E_SYSTEM, "");
 
        _AppWidgetContext* pAppWidgetContext = null;
@@ -265,28 +282,35 @@ _AppContext::SendRequestToApp(const AppId& providerAppId, const String& operatio
 {
        result r = E_SUCCESS;
 
-       if (GetConnectionState() == CONNECTION_STATE_NONE || GetConnectionState() == CONNECTION_STATE_DISCONNECTED)
+       const _ConnectionState connectionState = GetConnectionState();
+       SysLog(NID_SHELL, "Connection(%ls), Waiting response(%d)", GetConnectionStateString(connectionState), GetWaitingStatus() ? "true":"false");
+
+       if (connectionState == CONNECTION_STATE_NONE || connectionState == CONNECTION_STATE_DISCONNECTED)
        {
-               SysLog(NID_SHELL, "The application is not running.");
+               const _ConnectionState oldConnectionState = connectionState;
+               SetConnectionState(CONNECTION_STATE_CONNECTING);
                r = _AppWidgetRequestHelper::SendAppControlRequest(providerAppId, operation, pArgs);
                pArgs->RemoveAll(true);
                delete pArgs;
 
-               SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "[%s] Failed to SendRequestToApp", GetErrorMessage(r));
+               SysTryCatch(NID_SHELL, !IsFailed(r), , r, "[%s] Failed to SendRequestToApp", GetErrorMessage(r));
 
                SetWaitingStatus(true);
-               SetConnectionState(CONNECTION_STATE_CONNECTING);
+               return E_SUCCESS;
+
+       CATCH:
+               SetConnectionState(oldConnectionState);
+               return E_SYSTEM;
        }
        else
        {
-               if (GetConnectionState() == CONNECTION_STATE_CONNECTING || GetWaitingStatus() == true)
+               if (GetWaitingStatus() == true || GetConnectionState() == CONNECTION_STATE_CONNECTING)
                {
-                       SysLog(NID_SHELL, "The application is running but IPC is not connected yet. Queueing the request (%ls).", operation.GetPointer() );
+                       SysLog(NID_SHELL, "Queueing the request (%ls).", operation.GetPointer() );
                        __pPendingEventList->Add(new (nothrow) PendingEvent(operation, pArgs));
                }
                else
                {
-                       SysLog(NID_SHELL, "The application is running and IPC is connected.");
                        r  = _AppWidgetRequestHelper::SendIpcRequest(GetClientId(), operation, pArgs);
                        pArgs->RemoveAll(true);
                        delete pArgs;
@@ -308,7 +332,7 @@ _AppContext::SendPendingEvent(void)
        PendingEvent* pEvent = null;
        __pPendingEventList->GetAt(0, pEvent);
        __pPendingEventList->RemoveAt(0);
-       SysLog(NID_SHELL, "(%d) Remains in __pPendingEventList.", __pPendingEventList->GetCount());
+       SysLog(NID_SHELL, "(%d) pending event(s) remains.", __pPendingEventList->GetCount());
 
        result r = _AppWidgetRequestHelper::SendIpcRequest(GetClientId(), pEvent->operation, pEvent->pArgs);
        delete pEvent;
@@ -386,7 +410,7 @@ _AppContext::FindAppWidget(const String& instanceId) const
        }
        else
        {
-               result r = __appWidgetContextList.GetValue(instanceId, pAppWidgetContext);
+               result r = __appWidgetContexts.GetValue(instanceId, pAppWidgetContext);
                SysTryReturn(NID_SHELL, !IsFailed(r), null, E_OBJ_NOT_FOUND, "instanceId(%ls) is not found", instanceId.GetPointer() );
        }
        return pAppWidgetContext;
@@ -398,7 +422,7 @@ _AppContext::FindInvalidAppWidget(void) const
        SysTryReturn(NID_SHELL, GetConnectionState() == CONNECTION_STATE_NONE, null, E_INVALID_STATE, "[E_INVALID_STATE] connectionState(%d)", GetConnectionState());
 
        _AppWidgetContext* pAppWidgetContext = null;
-       unique_ptr< IMapEnumeratorT<String, _AppWidgetContext*> > pAppWidgetContextEnum(__appWidgetContextList.GetMapEnumeratorN());
+       unique_ptr< IMapEnumeratorT<String, _AppWidgetContext*> > pAppWidgetContextEnum(__appWidgetContexts.GetMapEnumeratorN());
        SysTryReturn(NID_SHELL, pAppWidgetContextEnum, null, E_SYSTEM, "");
 
        while (pAppWidgetContextEnum->MoveNext() == E_SUCCESS)
@@ -416,7 +440,7 @@ _AppContext::FindInvalidAppWidget(void) const
 int
 _AppContext::GetProviderCount(void) const
 {
-       return __appWidgetContextList.GetCount();
+       return __appWidgetContexts.GetCount();
 }
 
 result
@@ -425,8 +449,8 @@ _AppContext::RequestUpdate(const Tizen::Base::String& providerName, const Tizen:
        SysLog(NID_SHELL, "Enter.");
        bool found = false;
 
-       unique_ptr< IMapEnumeratorT<String, _AppWidgetContext*> > pAppWidgetContextEnum(__appWidgetContextList.GetMapEnumeratorN());
-       SysTryReturnResult(NID_SHELL, pAppWidgetContextEnum, E_SYSTEM, "Failed to invoke __appWidgetContextList.GetMapEnumeratorN()");
+       unique_ptr< IMapEnumeratorT<String, _AppWidgetContext*> > pAppWidgetContextEnum(__appWidgetContexts.GetMapEnumeratorN());
+       SysTryReturnResult(NID_SHELL, pAppWidgetContextEnum, E_SYSTEM, "Failed to invoke __appWidgetContexts.GetMapEnumeratorN()");
 
        while (pAppWidgetContextEnum->MoveNext() == E_SUCCESS)
        {
@@ -448,8 +472,8 @@ result
 _AppContext::RequestUpdateAllInactiveted(void)
 {
        SysLog(NID_SHELL, "Exit.");
-       unique_ptr< IMapEnumeratorT<String, _AppWidgetContext*> > pAppWidgetContextEnum(__appWidgetContextList.GetMapEnumeratorN());
-       SysTryReturnResult(NID_SHELL, pAppWidgetContextEnum, E_SYSTEM, "Failed to invoke __appWidgetContextList.GetMapEnumeratorN()");
+       unique_ptr< IMapEnumeratorT<String, _AppWidgetContext*> > pAppWidgetContextEnum(__appWidgetContexts.GetMapEnumeratorN());
+       SysTryReturnResult(NID_SHELL, pAppWidgetContextEnum, E_SYSTEM, "Failed to invoke __appWidgetContexts.GetMapEnumeratorN()");
 
        while (pAppWidgetContextEnum->MoveNext() == E_SUCCESS)
        {
@@ -480,7 +504,7 @@ _AppContext::OnAppWidgetBackground(const Tizen::Base::String& instanceId)
 result
 _AppContext::OnAppWidgetBackgroundAll(void)
 {
-       unique_ptr< IMapEnumeratorT<String, _AppWidgetContext*> > pAppWidgetContextEnum(__appWidgetContextList.GetMapEnumeratorN());
+       unique_ptr< IMapEnumeratorT<String, _AppWidgetContext*> > pAppWidgetContextEnum(__appWidgetContexts.GetMapEnumeratorN());
        SysTryReturnResult(NID_SHELL, pAppWidgetContextEnum, E_SYSTEM, "Failed to invoke GetMapEnumeratorN()");
 
        while (pAppWidgetContextEnum->MoveNext() == E_SUCCESS)
@@ -510,7 +534,7 @@ _AppContext::OnAppWidgetForeground(const Tizen::Base::String& instanceId)
 result
 _AppContext::OnAppWidgetForegroundAll(void)
 {
-       unique_ptr< IMapEnumeratorT<String, _AppWidgetContext*> > pAppWidgetContextEnum(__appWidgetContextList.GetMapEnumeratorN());
+       unique_ptr< IMapEnumeratorT<String, _AppWidgetContext*> > pAppWidgetContextEnum(__appWidgetContexts.GetMapEnumeratorN());
        SysTryReturnResult(NID_SHELL, pAppWidgetContextEnum, E_SYSTEM, "Failed to invoke GetMapEnumeratorN()");
 
        while (pAppWidgetContextEnum->MoveNext() == E_SUCCESS)
index 89a8a62..b335295 100644 (file)
@@ -77,7 +77,7 @@ AppWidgetManagerService::~AppWidgetManagerService(void)
 
        SysTryReturnVoidResult(NID_SHELL, __coreDaemonConnectionState == CONNECTED, E_SERVICE_DEACTIVATED, "Core daemon is already terminated.");
 
-       IMapEnumeratorT<String, _AppContext*>* pMapEnum = __appContextList.GetMapEnumeratorN();
+       IMapEnumeratorT<String, _AppContext*>* pMapEnum = __appContexts.GetMapEnumeratorN();
        if (pMapEnum != null)
        {
                while (pMapEnum->MoveNext() == E_SUCCESS)
@@ -147,7 +147,7 @@ AppWidgetManagerService::CreateInstance(const char* pCoreDaemonId)
 result
 AppWidgetManagerService::Construct(const char* pCoreDaemonId)
 {
-       result r = __appContextList.Construct();
+       result r = __appContexts.Construct();
        SysTryReturnResult(NID_SHELL, !IsFailed(r), E_SYSTEM, "Failed to execute Construct.");
 
        _AppWidgetManagerStub::StartIpcServer();
@@ -237,7 +237,7 @@ _AppContext*
 AppWidgetManagerService::FindAppContext(const Tizen::App::AppId& appId) const
 {
     _AppContext* pAppContext = null;
-       result r = __appContextList.GetValue(appId, pAppContext);
+       result r = __appContexts.GetValue(appId, pAppContext);
        SysTryReturn(NID_SHELL, !IsFailed(r), null, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND]");
 
        return pAppContext;
@@ -246,17 +246,7 @@ AppWidgetManagerService::FindAppContext(const Tizen::App::AppId& appId) const
 result
 AppWidgetManagerService::RemoveAppContext(const Tizen::App::AppId& appId)
 {
-       return __appContextList.Remove(appId);
-}
-
-_AppWidgetContext*
-AppWidgetManagerService::FindAppWidget(const AppId& appId, const String& instanceId) const
-{
-       _AppContext* pAppContext = null;
-       result r = __appContextList.GetValue(appId, pAppContext);
-       SysTryReturn(NID_SHELL, !IsFailed(r), null, E_OBJ_NOT_FOUND, "appId(%ls) is not found", appId.GetPointer() );
-
-       return pAppContext->FindAppWidget(instanceId);
+       return __appContexts.Remove(appId);
 }
 
 void
@@ -269,7 +259,7 @@ void
 AppWidgetManagerService::OnApplicationTerminated(const AppId& appId, int pid)
 {
        _AppContext* pAppContext = null;
-       __appContextList.GetValue(appId, pAppContext);
+       __appContexts.GetValue(appId, pAppContext);
        if (pAppContext)
        {
                pAppContext->OnApplicationTerminated();
@@ -281,8 +271,7 @@ AppWidgetManagerService::OnIpcClientConnected(const AppId& appId, int clientId)
 {
        SysLog(NID_SHELL, "appId(%ls)", appId.GetPointer());
 
-       _AppContext* pAppContext = null;
-       __appContextList.GetValue(appId, pAppContext);
+       _AppContext* pAppContext = GetOrCreateAppContext(appId);
        if (pAppContext)
        {
                pAppContext->OnIpcConnected(clientId);
@@ -295,7 +284,7 @@ AppWidgetManagerService::OnIpcClientDisconnected(const AppId& appId, int clientI
        SysLog(NID_SHELL, "appId(%ls)", appId.GetPointer());
 
        _AppContext* pAppContext = null;
-       __appContextList.GetValue(appId, pAppContext);
+       __appContexts.GetValue(appId, pAppContext);
        if (pAppContext)
        {
                pAppContext->OnIpcDisconnected();
@@ -320,27 +309,36 @@ AppWidgetManagerService::OnSettingChanged(Tizen::Base::String& key)
        }
 }
 
-result
-AppWidgetManagerService::AddAppWidget(const Tizen::Base::String& userInfo, const Tizen::Base::String& providerId, const Tizen::Base::String& instanceId, int width, int height, int period, int priority)
+_AppContext*
+AppWidgetManagerService::GetOrCreateAppContext(const AppId& appId)
 {
-       AppId appId;
-       String providerName;
-       _AppWidgetManagerImpl::ExtractAppIdAndProviderName(providerId, appId, providerName);
-
        _AppContext* pAppContext = null;
        bool containsKey = false;
-       __appContextList.ContainsKey(appId, containsKey);
+       __appContexts.ContainsKey(appId, containsKey);
        if( containsKey == false)
        {
                pAppContext = new(std::nothrow) _AppContext(appId);
-               SysTryReturnResult(NID_SHELL, pAppContext, E_OUT_OF_MEMORY, "");
-               __appContextList.Add(appId, pAppContext);
+               SysTryReturn(NID_SHELL, pAppContext, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient.");
+               __appContexts.Add(appId, pAppContext);
        }
        else
        {
-               __appContextList.GetValue(appId, pAppContext);
+               __appContexts.GetValue(appId, pAppContext);
        }
 
+       return pAppContext;
+}
+
+result
+AppWidgetManagerService::AddAppWidget(const Tizen::Base::String& userInfo, const Tizen::Base::String& providerId, const Tizen::Base::String& instanceId, int width, int height, int period, int priority)
+{
+       AppId appId;
+       String providerName;
+       _AppWidgetManagerImpl::ExtractAppIdAndProviderName(providerId, appId, providerName);
+
+       _AppContext* pAppContext = GetOrCreateAppContext(appId);
+       SysTryReturnResult(NID_SHELL, pAppContext, E_OUT_OF_MEMORY, "The memory is insufficient.");
+
        return pAppContext->AddAppWidget(userInfo, providerId, instanceId, width, height, period, priority);
 }
 
@@ -351,7 +349,7 @@ int
 AppWidgetManagerService::OnAppWidgetCreate(struct event_arg *arg, int *width, int *height, double *priority, void* data)
 {
        SysAssertf(arg != null && arg->pkgname != null && arg->id != null && arg->type == event_arg::EVENT_NEW, "The status of data-provider-master is invalid.");
-       SysSecureLog(NID_SHELL, "providerId(%s) id(%s) content(%s) cluster(%s) category(%s)", arg->pkgname, arg->id, arg->info.lb_create.content, arg->info.lb_create.cluster, arg->info.lb_create.category);
+       SysSecureLog(NID_SHELL, "providerId(%s) id(%s) content(%s)", arg->pkgname, arg->id, arg->info.lb_create.content);
 
        const int MAX_LENGTH = 0xFFFF;// FUi_Control.h
        *width = arg->info.lb_create.width;
@@ -469,8 +467,8 @@ AppWidgetManagerService::OnAppWidgetBackgroundAll(struct event_arg *arg, void* d
 {
        SysAssertf(arg != null && arg->type == event_arg::EVENT_PAUSE, "The status of data-provider-master is invalid.");
 
-       unique_ptr< IMapEnumeratorT<String, _AppContext*> > pAppContextEnum(AppWidgetManagerService::GetInstance()->__appContextList.GetMapEnumeratorN());
-       SysTryReturnResult(NID_SHELL, pAppContextEnum, E_SYSTEM, "Failed to invoke __appContextList.GetMapEnumeratorN()");
+       unique_ptr< IMapEnumeratorT<String, _AppContext*> > pAppContextEnum(AppWidgetManagerService::GetInstance()->__appContexts.GetMapEnumeratorN());
+       SysTryReturnResult(NID_SHELL, pAppContextEnum, E_SYSTEM, "Failed to invoke __appContexts.GetMapEnumeratorN()");
 
        while (pAppContextEnum->MoveNext() == E_SUCCESS)
        {
@@ -507,8 +505,8 @@ AppWidgetManagerService::OnAppWidgetForegroundAll(struct event_arg *arg, void* d
 {
        SysAssertf(arg != null && arg->type == event_arg::EVENT_RESUME, "The status of data-provider-master is invalid.");
 
-       unique_ptr< IMapEnumeratorT<String, _AppContext*> > pAppContextEnum(AppWidgetManagerService::GetInstance()->__appContextList.GetMapEnumeratorN());
-       SysTryReturnResult(NID_SHELL, pAppContextEnum, E_SYSTEM, "Failed to invoke __appContextList.GetMapEnumeratorN()");
+       unique_ptr< IMapEnumeratorT<String, _AppContext*> > pAppContextEnum(AppWidgetManagerService::GetInstance()->__appContexts.GetMapEnumeratorN());
+       SysTryReturnResult(NID_SHELL, pAppContextEnum, E_SYSTEM, "Failed to invoke __appContexts.GetMapEnumeratorN()");
 
        while (pAppContextEnum->MoveNext() == E_SUCCESS)
        {
@@ -566,7 +564,7 @@ AppWidgetManagerService::OnAppWidgetRecreate(struct event_arg *arg, void* data)
        SysAssertf(arg != null && arg->pkgname != null && arg->id != null && arg->type == event_arg::EVENT_RENEW, "The status of data-provider-master is invalid.");
        SysAssertf(arg->info.lb_recreate.width >= 0 && arg->info.lb_recreate.height >= 0 && arg->info.lb_recreate.width <= MAX_LENGTH && arg->info.lb_recreate.height <= MAX_LENGTH, "w:%d, h:%d", arg->info.lb_recreate.width, arg->info.lb_recreate.height);
 
-       SysSecureLog(NID_SHELL, "providerId(%s) id(%s) content(%s) cluster(%s) category(%s)", arg->pkgname, arg->id, arg->info.lb_recreate.content, arg->info.lb_recreate.cluster, arg->info.lb_recreate.category);
+       SysSecureLog(NID_SHELL, "providerId(%s) id(%s) content(%s)", arg->pkgname, arg->id, arg->info.lb_recreate.content);
 
        AppWidgetManagerService* pAppWidgetManagerService = AppWidgetManagerService::GetInstance();
        SysTryReturn(NID_SHELL, pAppWidgetManagerService != null, -EBUSY, E_SYSTEM, "Failed to get the instance for AppWidgetManagerService.");
@@ -624,7 +622,7 @@ result
 AppWidgetManagerService::RequestUpdate(const Tizen::App::AppId& appId, const Tizen::Base::String& providerName, const Tizen::Base::String& argument) const
 {
        _AppContext* pAppContext = null;
-       result r = __appContextList.GetValue(appId, pAppContext);
+       result r = __appContexts.GetValue(appId, pAppContext);
        SysTryReturn(NID_SHELL, !IsFailed(r), null, E_OBJ_NOT_FOUND, "appId(%ls) is not found", appId.GetPointer() );
 
        return pAppContext->RequestUpdate(providerName, argument);
@@ -634,8 +632,8 @@ result
 AppWidgetManagerService::RequestUpdateAllInactiveted(void) const
 {
        SysLog(NID_SHELL, "Enter.");
-       unique_ptr< IMapEnumeratorT<String, _AppContext*> > pAppContextEnum(__appContextList.GetMapEnumeratorN());
-       SysTryReturnResult(NID_SHELL, pAppContextEnum, E_SYSTEM, "Failed to invoke __appContextList.GetMapEnumeratorN()");
+       unique_ptr< IMapEnumeratorT<String, _AppContext*> > pAppContextEnum(__appContexts.GetMapEnumeratorN());
+       SysTryReturnResult(NID_SHELL, pAppContextEnum, E_SYSTEM, "Failed to invoke __appContexts.GetMapEnumeratorN()");
 
        while (pAppContextEnum->MoveNext() == E_SUCCESS)
        {
@@ -721,31 +719,10 @@ AppWidgetManagerService::ReleaseRemoteBufferForPD(const Tizen::App::AppId& appId
 }
 
 result
-AppWidgetManagerService::RequestProviderCount(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int& providerCount)
-{
-       SysLog(NID_SHELL, "ENTER");
-
-       _AppContext* pAppContext = null;
-       result r = __appContextList.GetValue(appId, pAppContext);
-       SysTryReturnResult(NID_SHELL, pAppContext, E_OBJ_NOT_FOUND, "Failed to find _AppContext.");
-
-       providerCount = pAppContext->GetProviderCount();
-
-       r = pAppContext->DestroyAppWidget(instanceId, false);
-       SysTryReturnResult(NID_SHELL, !IsFailed(r), E_SYSTEM, "Failed to execute DestroyAppWidget.");
-
-       providerCount--;
-
-       pAppContext->SendPendingEvent();
-
-       return E_SUCCESS;
-}
-
-result
 AppWidgetManagerService::SendResult(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, bool isSucceeded)
 {
        _AppContext* pAppContext = null;
-       result r = __appContextList.GetValue(appId, pAppContext);
+       result r = __appContexts.GetValue(appId, pAppContext);
        SysTryReturnResult(NID_SHELL, !IsFailed(r), E_OBJ_NOT_FOUND, "appId(%ls) is not found.", appId.GetPointer());
 
        if (!isSucceeded)
index 99ef7e8..ca37641 100644 (file)
@@ -60,14 +60,13 @@ _AppWidgetManagerStub::~_AppWidgetManagerStub(void)
 result
 _AppWidgetManagerStub::StartIpcServer(void)
 {
-       SysLog(NID_SHELL, "Enter.");
        __pIpcServer = new (std::nothrow) _IpcServer();
        SysTryReturn(NID_SHELL, __pIpcServer != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Not enough memory.");
 
        result r = __pIpcServer->Construct( IPC_SERVER_NAME, *this, false);
-       SysTryCatch(NID_SHELL, !IsFailed(r), , r, "[%s] Failed to create IPC server(%s)", GetErrorMessage(r), "osp.app.ipcserver.appmanager");
-       SysLog(NID_SHELL, "Exit.");
+       SysTryCatch(NID_SHELL, !IsFailed(r), , r, "[%s] Failed to create IPC server(%s)", GetErrorMessage(r), IPC_SERVER_NAME);
 
+       SysLog(NID_SHELL, "IpcServer started.");
        return E_SUCCESS;
 
 CATCH:
@@ -79,7 +78,6 @@ CATCH:
 bool
 _AppWidgetManagerStub::OnRequestUpdate(const Tizen::App::AppId& appId, const Tizen::Base::String& providerName, const Tizen::Base::String& argument, result* pRes)
 {
-       SysLog(NID_SHELL, "");
        *pRes = RequestUpdate(appId, providerName, argument);
        return true;
 }
@@ -87,7 +85,6 @@ _AppWidgetManagerStub::OnRequestUpdate(const Tizen::App::AppId& appId, const Tiz
 bool
 _AppWidgetManagerStub::OnRequestUpdateInstance(const Tizen::Base::String& instanceId, const Tizen::Base::String& argument, result* pRes)
 {
-       SysLog(NID_SHELL, "");
        *pRes = RequestUpdateInstance(__pIpcServer->GetClientApplicationId(), instanceId, argument);
        return true;
 }
@@ -153,16 +150,6 @@ _AppWidgetManagerStub::OnReleaseRemoteBufferForPD(const String& instanceId, resu
 }
 
 bool
-_AppWidgetManagerStub::OnRequestProviderCount(const String& instanceId, int* pProviderCount)
-{
-       SysSecureLog(NID_SHELL, "(instanceId:%ls)", instanceId.GetPointer());
-
-       RequestProviderCount(__pIpcServer->GetClientApplicationId(), instanceId, *pProviderCount);
-
-       return true;
-}
-
-bool
 _AppWidgetManagerStub::OnSendResult(const String& instanceId, bool isSucceeded)
 {
        SysSecureLog(NID_SHELL, "(instanceId:%ls, data:%d)", instanceId.GetPointer(), isSucceeded);
@@ -185,8 +172,6 @@ _AppWidgetManagerStub::OnSendAccessStatus(const String& instanceId, int accessSt
 void
 _AppWidgetManagerStub::OnIpcRequestReceived(_IpcServer& server, const IPC::Message& message)
 {
-       SysLog(NID_SHELL, "(appId:%ls, clientId:%d)\n", server.GetClientApplicationId().GetPointer(), server.GetClientId());
-
        SysAssertf(__pIpcServer, "__pIpcServer is null!");
 
        IPC_BEGIN_MESSAGE_MAP(_AppWidgetManagerStub, message)
@@ -198,7 +183,6 @@ _AppWidgetManagerStub::OnIpcRequestReceived(_IpcServer& server, const IPC::Messa
                IPC_MESSAGE_HANDLER_EX(AppWidgetManager_SyncRemoteBufferForPD, &server, OnSyncRemoteBufferForPD)
                IPC_MESSAGE_HANDLER_EX(AppWidgetManager_ReleaseRemoteBuffer, &server, OnReleaseRemoteBuffer)
                IPC_MESSAGE_HANDLER_EX(AppWidgetManager_ReleaseRemoteBufferForPD, &server, OnReleaseRemoteBufferForPD)
-               IPC_MESSAGE_HANDLER_EX(AppWidgetManager_RequestProviderCount, &server, OnRequestProviderCount)
                IPC_MESSAGE_HANDLER_EX(AppWidgetManager_SendResult, &server, OnSendResult)
                IPC_MESSAGE_HANDLER_EX(AppWidgetManager_SendAccessStatus, &server, OnSendAccessStatus)
        IPC_END_MESSAGE_MAP()