Implementation for "[ACR] change return type for Livebox pure virtual"
authorkyeongwoo.lee <kyeongwoo.lee@samsung.com>
Sun, 12 May 2013 11:13:40 +0000 (20:13 +0900)
committerGerrit Code Review <gerrit2@kim11>
Mon, 13 May 2013 02:30:59 +0000 (11:30 +0900)
Change-Id: I558fb8724671f4139657127347bc512ae6f74406

inc/FShellAppWidgetProvider.h
src/FShell_AppWidgetBuffer.cpp
src/FShell_AppWidgetManagerProxy.cpp
src/FShell_AppWidgetProviderInfoImpl.cpp
src/FShell_AppWidgetProviderManagerImpl.cpp
src/inc/FShell_AppWidgetManagerIpcMessage.h
src/inc/FShell_AppWidgetManagerProxy.h
src/inc/FShell_AppWidgetProviderManagerImpl.h

index bb75bb5..c401fd1 100644 (file)
@@ -69,6 +69,7 @@ protected:
         * @param[in]   height          The height of the AppWidget
         * @param[in]   userInfo        User information that is specified when the AppWidget is added
         * @remarks     AppWidgetFrame should be created and set here.
+        *                              If this method returns false, the AppWidget provider will be terminated.
         * @see         SetAppWidgetFrame()
         *
         * The following example demonstrates how to initialize the %AppWidgetProvider instance.
@@ -124,7 +125,8 @@ protected:
         *              else @c false
         * @param[in]   argument                User information to update the AppWidget provider @n
         *                                                              This parameter is delivered from AppWidgetProvider::RequestUpdate().
-        * @remarks             This method is called when UpdatePeriod timer is expired or AppWidgetManager::RequestUpdate() is called.
+        * @remarks             This method is called when UpdatePeriod timer is expired or AppWidgetManager::RequestUpdate() is called. @n
+        *                                      If this method returns false, the AppWidget provider will be terminated.
         */
        virtual bool OnAppWidgetProviderUpdating(const Tizen::Base::String& argument) = 0;
 
index ecd8d1f..8b38a84 100644 (file)
@@ -418,7 +418,7 @@ _AppWidgetBuffer::_GemBuffer::OnCreateBuffer(void)
        __gemSize.width = width;
        __gemSize.height = height;
 
-       SysLog(NID_SHELL, "0x%x [%d %d %d] [%d %d]", __pDri2Buffer, __outCount, __pDri2Buffer->name, __pDri2Buffer->pitch, width, height);
+       SysSecureLog(NID_SHELL, "0x%x [%d %d %d] [%d %d]", __pDri2Buffer, __outCount, __pDri2Buffer->name, __pDri2Buffer->pitch, width, height);
 
        __pTbmBo = tbm_bo_import(__pAppWidgetBuffer->__pBufMgr.get(), __pDri2Buffer->name);
        SysTryCatch(NID_SHELL, __pTbmBo, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory is insufficient.");
index e36ef64..fcfc1b7 100644 (file)
@@ -42,14 +42,17 @@ _AppWidgetManagerProxy::_AppWidgetManagerProxy()
 
 _AppWidgetManagerProxy::~_AppWidgetManagerProxy()
 {
-       delete __pIpcClient;
+       if (__pIpcClient)
+       {
+               delete __pIpcClient;
+       }
 }
 
 _AppWidgetManagerProxy*
 _AppWidgetManagerProxy::GetInstance()
 {
        static std::unique_ptr<_AppWidgetManagerProxy> __pAppWidgetProxy(null);
-       if__pAppWidgetProxy.get() == null)
+       if (__pAppWidgetProxy.get() == null)
        {
                std::unique_ptr<_AppWidgetManagerProxy> pAppWidgetProxy(new (std::nothrow)_AppWidgetManagerProxy);
                SysTryReturn(NID_SHELL, pAppWidgetProxy.get(), null, E_OUT_OF_MEMORY, "Allocating new _AppWidgetManagerProxy failed!");
@@ -59,6 +62,14 @@ _AppWidgetManagerProxy::GetInstance()
 
                __pAppWidgetProxy = std::move(pAppWidgetProxy);
        }
+       else
+       {
+               if (!__pAppWidgetProxy->IsConnected())
+               {
+                       result r = __pAppWidgetProxy->Construct();
+                       SysTryReturn(NID_SHELL, !IsFailed(r), null, r, "[%s] Propagating.", GetErrorMessage(r));
+               }
+       }
 
        return __pAppWidgetProxy.get();
 }
@@ -72,7 +83,7 @@ _AppWidgetManagerProxy::Construct(void)
        SysTryReturnResult(NID_SHELL, __pIpcClient != null, E_OUT_OF_MEMORY, "_IpcClient creation failed.");
 
        result r = __pIpcClient->Construct(IPC_SERVER_NAME, this);
-       SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "_IpcClient constructing faliied [%s].", GetErrorMessage(r));
+       SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "_IpcClient constructing failed [%s].", GetErrorMessage(r));
 
        SysLog(NID_SHELL, "Exit.");
        return E_SUCCESS;
@@ -96,7 +107,7 @@ _AppWidgetManagerProxy::RequestUpdate(const Tizen::App::AppId& appId, const Tize
        result ret = E_SUCCESS;
        std::auto_ptr<IPC::Message> pMsg (new (std::nothrow) AppWidgetManager_RequestUpdate(appId, providerName, argument, &ret));
        result r = __pIpcClient->SendRequest(*pMsg.get());
-       SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "SendRequest is failed.");
+       SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "SendRequest failed.");
 
        return ret;
 }
@@ -110,7 +121,7 @@ _AppWidgetManagerProxy::RequestUpdateInstance(const Tizen::Base::String& instanc
        result ret = E_SUCCESS;
        std::auto_ptr<IPC::Message> pMsg (new (std::nothrow) AppWidgetManager_RequestUpdateInstance(instanceId, argument, &ret));
        result r = __pIpcClient->SendRequest(*pMsg.get());
-       SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "SendRequest is failed.");
+       SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "SendRequest failed.");
 
        return ret;
 }
@@ -122,7 +133,7 @@ _AppWidgetManagerProxy::RequestSharedMemoryId(const Tizen::Base::String& instanc
 
        std::auto_ptr<IPC::Message> pMsg (new (std::nothrow) AppWidgetManager_RequestSharedMemoryId(instanceId, width, height, &shmId));
        result r = __pIpcClient->SendRequest(*pMsg.get());
-       SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "SendRequest is failed.");
+       SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "SendRequest failed.");
        SysLog(NID_SHELL, "shmId(%d) is retrieved from appwidget-service", shmId);
 
        return E_SUCCESS;
@@ -150,7 +161,7 @@ _AppWidgetManagerProxy::RequestSyncSharedMemory(const Tizen::Base::String& insta
        result ret = E_FAILURE;
        std::auto_ptr<IPC::Message> pMsg (new (std::nothrow) AppWidgetManager_RequestSyncSharedMemory(instanceId, width, height, &ret));
        result r = __pIpcClient->SendRequest(*pMsg.get());
-       SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "SendRequest is failed.");
+       SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "SendRequest failed.");
        return E_SUCCESS;
 }
 
@@ -163,7 +174,7 @@ _AppWidgetManagerProxy::RequestSyncSharedMemoryForPD(const Tizen::Base::String&
        result ret = E_FAILURE;
        std::auto_ptr<IPC::Message> pMsg (new (std::nothrow) AppWidgetManager_RequestSyncSharedMemoryForPD(instanceId, &ret));
        result r = __pIpcClient->SendRequest(*pMsg.get());
-       SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "SendRequest is failed.");
+       SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "SendRequest failed.");
        return E_SUCCESS;
 }
 
@@ -176,7 +187,7 @@ _AppWidgetManagerProxy::RequestReleaseSharedMemory(const Tizen::Base::String& in
        result ret = E_FAILURE;
        std::auto_ptr<IPC::Message> pMsg (new (std::nothrow) AppWidgetManager_RequestReleaseSharedMemory(instanceId, &ret));
        result r = __pIpcClient->SendRequest(*pMsg.get());
-       SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "SendRequest is failed.");
+       SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "SendRequest failed.");
        return E_SUCCESS;
 }
 
@@ -189,10 +200,22 @@ _AppWidgetManagerProxy::RequestReleaseSharedMemoryForPD(const Tizen::Base::Strin
        result ret = E_FAILURE;
        std::auto_ptr<IPC::Message> pMsg (new (std::nothrow) AppWidgetManager_RequestReleaseSharedMemoryForPD(instanceId, &ret));
        result r = __pIpcClient->SendRequest(*pMsg.get());
-       SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "SendRequest is failed.");
+       SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "SendRequest failed.");
        return E_SUCCESS;
 }
 
+result
+_AppWidgetManagerProxy::SendResult(const Tizen::Base::String& instanceId, bool isSucceeded)
+{
+       SysTryReturnResult(NID_SHELL, __pIpcClient != null, E_INVALID_STATE, "__pIpcClient instance must not be null.");
+       SysLog(NID_SHELL, "");
+
+       std::auto_ptr<IPC::Message> pMsg (new (std::nothrow) AppWidgetManager_SendResult(instanceId, isSucceeded));
+       result r = __pIpcClient->SendRequest(*pMsg.get());
+       SysTryReturnResult(NID_SHELL, !IsFailed(r), r, "SendResult failed.");
+
+       return E_SUCCESS;
+}
 
 result
 _AppWidgetManagerProxy::OnTouchEventReceived(const Tizen::Base::String& instanceId, int eventType, double timeStamp, double x, double y )
@@ -218,4 +241,19 @@ _AppWidgetManagerProxy::OnIpcResponseReceived(_IpcClient& client, const IPC::Mes
        SysLog(NID_SHELL, "Exit.");
 }
 
+bool
+_AppWidgetManagerProxy::IsConnected(void) const
+{
+       return (__pIpcClient != null);
+}
+
+void
+_AppWidgetManagerProxy::OnIpcServerDisconnected(_IpcClient& client)
+{
+       SysLog(NID_SHELL, "IPC Server[%ls] is disconnected.", client.GetName().GetPointer());
+
+       delete __pIpcClient;
+       __pIpcClient = null;
+}
+
 }} // Tizen::Shell
index 7d33dda..fbb1b93 100644 (file)
@@ -52,7 +52,7 @@ _AppWidgetProviderInfoImpl::_AppWidgetProviderInfoImpl(const Tizen::App::AppId&
        __displayName = livebox_service_i18n_name(pProviderId.get(), null);
        __configurationAppControlAppId = livebox_service_setup_appid(pProviderId.get());
 
-       SysLog(NID_SHELL, "appId(%ls), name(%ls), providerId(%ls), displayName(%ls), configuration(%ls)", appId.GetPointer(), name.GetPointer(), __providerId.GetPointer(), __displayName.GetPointer(), __configurationAppControlAppId.GetPointer() );
+       SysSecureLog(NID_SHELL, "appId(%ls), name(%ls), providerId(%ls), displayName(%ls), configuration(%ls)", appId.GetPointer(), name.GetPointer(), __providerId.GetPointer(), __displayName.GetPointer(), __configurationAppControlAppId.GetPointer() );
 }
 
 /*_AppWidgetProviderInfoImpl::_AppWidgetProviderInfoImpl(const _AppWidgetProviderInfoImpl& rhs)
index 6cb5f9b..b4a84ae 100644 (file)
@@ -132,7 +132,7 @@ _AppWidgetProviderManagerImpl::Construct()
        __appwidgetProviders.Construct();
        __touchEventListeners.Construct();
 
-       Tizen::App::_AppImpl::GetInstance()->SetAppControlProviderInternalEventListener(this);
+       _AppImpl::GetInstance()->SetAppControlProviderInternalEventListener(this);
        _ServiceAppImpl* pServiceAppImpl = _ServiceAppImpl::GetInstance();
        if( pServiceAppImpl)
        {
@@ -177,7 +177,7 @@ _AppWidgetProviderManagerImpl::ValidateApplicationAttributeForAppWidget(void)
 
        const String& lifeDurationValue = pFeature->GetValue();
        int lifeDuration = 0;
-       r = Tizen::Base::Integer::Parse(lifeDurationValue, lifeDuration);
+       r = Integer::Parse(lifeDurationValue, lifeDuration);
        SysTryReturnResult(NID_SHELL, !IsFailed(r), E_INVALID_OPERATION, "Failed to parse %ls attribute for the ServiceApp in package information.", LIFE_DURATION_KEY );
 //     SysTryReturnResult(NID_SHELL, lifeDuration <= LIFE_DURATION_MIN, E_INVALID_OPERATION, "%ls attribute value should be less than '%d' to be an application that providing AppWidget, but value is %d", LIFE_DURATION_KEY, LIFE_DURATION_MIN, lifeDuration );
 
@@ -211,7 +211,7 @@ _AppWidgetProviderManagerImpl::SetAppWidgetPopupEventListener(_IAppWidgetTouchEv
 
 
 bool
-_AppWidgetProviderManagerImpl::IsPackagedWithTPK(const Tizen::App::AppId& appId)
+_AppWidgetProviderManagerImpl::IsPackagedWithTPK(const AppId& appId)
 {
        String packageId = _PackageManagerImpl::GetPackageIdByAppId(appId);
        PackageInfo* pInfo = _PackageManagerImpl::GetInstance()->GetPackageInfoN(packageId);
@@ -231,7 +231,7 @@ _AppWidgetProviderManagerImpl::IsPackagedWithTPK(const Tizen::App::AppId& appId)
 }
 
 result
-_AppWidgetProviderManagerImpl::RequestUpdate(const Tizen::App::AppId& appId, const Tizen::Base::String& providerName, const Tizen::Base::String& argument)
+_AppWidgetProviderManagerImpl::RequestUpdate(const AppId& appId, const String& providerName, const String& argument)
 {
 
        SysLog(NID_SHELL, "Enter.");
@@ -271,7 +271,7 @@ _AppWidgetProviderManagerImpl::RequestUpdate(const Tizen::App::AppId& appId, con
 }
 
 result
-_AppWidgetProviderManagerImpl::RequestUpdateInstance(const Tizen::Base::String& instanceId, const Tizen::Base::String& argument)
+_AppWidgetProviderManagerImpl::RequestUpdateInstance(const String& instanceId, const String& argument)
 {
        if(ContainsAppWidget(instanceId))
        {
@@ -281,7 +281,16 @@ _AppWidgetProviderManagerImpl::RequestUpdateInstance(const Tizen::Base::String&
                AppWidgetFrame* pAppWidgetFrame = pAppWidgetProvider->GetAppWidgetFrame();
                SysTryReturnResult(NID_SHELL, pAppWidgetFrame, E_SYSTEM, "Failed to GetAppWidgetFrame");
 
-               pAppWidgetProvider->OnAppWidgetProviderUpdating(argument);
+               bool isUpdated = pAppWidgetProvider->OnAppWidgetProviderUpdating(argument);
+               if (!isUpdated)
+               {
+                       SysLog(NID_SHELL, "Failed to update.");
+
+                       result r = SendResult(instanceId, false);
+                       SysTryLog(NID_SHELL, !IsFailed(r), "Failed to send the result.");
+
+                       return E_SYSTEM;
+               }
        }
        else
        {
@@ -308,7 +317,7 @@ int AddAppWidgetCallback(int ret, int pid, void *data)
 }
 
 bool
-_AppWidgetProviderManagerImpl::IsSamePackage(const Tizen::App::AppId& appId1, const Tizen::App::AppId& appId2)
+_AppWidgetProviderManagerImpl::IsSamePackage(const AppId& appId1, const AppId& appId2)
 {
        String PackageId1 = _PackageManagerImpl::GetPackageIdByAppId(appId1);
        String PackageId2 = _PackageManagerImpl::GetPackageIdByAppId(appId2);
@@ -317,7 +326,7 @@ _AppWidgetProviderManagerImpl::IsSamePackage(const Tizen::App::AppId& appId1, co
 }
 
 result
-_AppWidgetProviderManagerImpl::CheckCertificate(const Tizen::App::AppId& localAppId, const Tizen::App::AppId& remoteAppId)
+_AppWidgetProviderManagerImpl::CheckCertificate(const AppId& localAppId, const AppId& remoteAppId)
 {
        if( IsSamePackage( localAppId, remoteAppId))
        {
@@ -344,14 +353,14 @@ _AppWidgetProviderManagerImpl::CheckCertificate(const Tizen::App::AppId& localAp
 }
 
 result
-_AppWidgetProviderManagerImpl::AddAppWidget(const Tizen::App::AppId& providerAppId, const Tizen::Base::String& providerName, const Tizen::Base::String& text, const Tizen::Base::String& userInfo)
+_AppWidgetProviderManagerImpl::AddAppWidget(const AppId& providerAppId, const String& providerName, const String& text, const String& userInfo)
 {
        result r = _AccessController::CheckUserPrivilege(_PRV_APPWIDGETPROVIDER_INSTALL);
        SysTryReturnResult(NID_SHELL, !IsFailed(r), E_PRIVILEGE_DENIED, "The application does not have the privilege to call this method.");
 
        SysTryReturnResult(NID_SHELL, providerAppId.IsEmpty()==false, E_INVALID_ARG, "The providerAppId is empty.");
        SysTryReturnResult(NID_SHELL, providerAppId.GetLength() < NATIVE_APP_MAX_APPID_LENGTH, E_INVALID_ARG, "The providerAppId is too long (Maximum %d bytes).", NATIVE_APP_MAX_APPID_LENGTH);
-       SysTryReturnResult(NID_SHELL, Tizen::App::_Aul::IsInstalled(providerAppId) == true, E_APP_NOT_INSTALLED, "The application(%ls) is not installed.", providerAppId.GetPointer());
+       SysTryReturnResult(NID_SHELL, _Aul::IsInstalled(providerAppId) == true, E_APP_NOT_INSTALLED, "The application(%ls) is not installed.", providerAppId.GetPointer());
 
        r = CheckCertificate(Tizen::App::App::GetInstance()->GetAppId(), providerAppId);
        SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "[%s] VerifyCertification is failed.", GetErrorMessage(r));
@@ -412,7 +421,7 @@ _AppWidgetProviderManagerImpl::OnAppControlRequestReceived(RequestId reqId, cons
        const String* pParam = dynamic_cast<const String*>(pArgs->GetValue(ARG_KEY_USER_INFO));
        SysTryReturnVoidResult(NID_SHELL, pParam, E_FAILURE, "Failed to GetValue(%ls)", ARG_KEY_USER_INFO.GetPointer() );
 
-       SysLog(NID_SHELL, "id(%ls), name(%ls), param(%ls)", pInstanceId->GetPointer(), pName->GetPointer(), pParam->GetPointer());
+       SysSecureLog(NID_SHELL, "id(%ls), name(%ls), param(%ls)", pInstanceId->GetPointer(), pName->GetPointer(), pParam->GetPointer());
 
        if(this->ContainsAppWidget(*pInstanceId) == false)
        {
@@ -451,7 +460,7 @@ _AppWidgetProviderManagerImpl::OnAppControlRequestReceived(RequestId reqId, cons
 }
 
 result
-_AppWidgetProviderManagerImpl::HandleAppWidgetRequest(const Tizen::Base::String& operationId, const Tizen::Base::Collection::IMap* pArgs)
+_AppWidgetProviderManagerImpl::HandleAppWidgetRequest(const String& operationId, const IMap* pArgs)
 {
        if( pArgs == null || pArgs->GetCount() < 3)
        {
@@ -530,7 +539,7 @@ _AppWidgetProviderManagerImpl::HandleAppWidgetRequest(const Tizen::Base::String&
 }
 
 result
-_AppWidgetProviderManagerImpl::HandleAppWidgetPopupRequest(const Tizen::Base::String& operationId, const Tizen::Base::Collection::IMap* pArgs)
+_AppWidgetProviderManagerImpl::HandleAppWidgetPopupRequest(const String& operationId, const IMap* pArgs)
 {
        SysTryReturnResult(NID_SHELL, __pAppWidgetPopupProviderFactory, E_FAILURE, "[E_FAILURE] __pAppWidgetPopupProviderFactory is null");
        if( pArgs == null || pArgs->GetCount() < 3)
@@ -619,7 +628,7 @@ result
 _AppWidgetProviderManagerImpl::CreateAppWidget(const String& name, const String& instanceId, int width, int height, const String& userInfo)
 {
        SysLog(NID_SHELL, "instanceId(%ls), w:%d, h:%d, userInfo:%ls", instanceId.GetPointer(), width, height, userInfo.GetPointer());
-       SysTryReturnResult(NID_SHELL, __pAppWidgetFactory, E_FAILURE, "[E_INVALID_OPERATION] __pAppWidgetFactory should not be null");
+       SysTryReturnResult(NID_SHELL, __pAppWidgetFactory, E_FAILURE, "__pAppWidgetFactory should not be null");
 
        if( ContainsAppWidget(instanceId))
        {
@@ -628,14 +637,23 @@ _AppWidgetProviderManagerImpl::CreateAppWidget(const String& name, const String&
        }
 
        AppWidgetProvider* pAppWidget = __pAppWidgetFactory->CreateInstance(name, width, height, userInfo);
-       SysTryReturnResult(NID_SHELL, pAppWidget, E_INVALID_OPERATION, "[E_INVALID_OPERATION]");
+       SysTryReturnResult(NID_SHELL, pAppWidget, E_INVALID_OPERATION, "Failed to create an instance for AppWidgetProvider.");
 
        pAppWidget->Construct(instanceId);
        __appwidgetProviders.Add(instanceId, pAppWidget);
 
-       pAppWidget->OnAppWidgetProviderInitializing(width, height, userInfo);
+       bool isCreated = pAppWidget->OnAppWidgetProviderInitializing(width, height, userInfo);
+       if (!isCreated)
+       {
+               SysLog(NID_SHELL, "Failed to initialize the instance.");
 
-       SysTryReturnResult(NID_SHELL, pAppWidget->GetAppWidgetFrame(), E_INVALID_OPERATION, "[E_INVALID_OPERATION]");
+               result r = SendResult(instanceId, false);
+               SysTryLog(NID_SHELL, !IsFailed(r), "Failed to send the result.");
+
+               return E_SYSTEM;
+       }
+
+       SysTryReturnResult(NID_SHELL, pAppWidget->GetAppWidgetFrame(), E_INVALID_OPERATION, "Failed to get the frame.");
 
        return E_SUCCESS;
 }
@@ -649,7 +667,16 @@ _AppWidgetProviderManagerImpl::UpdateAppWidget(const String& instanceId, int wid
        __appwidgetProviders.GetValue(instanceId, pAppWidget);
        SysTryReturnResult(NID_SHELL, pAppWidget, E_SYSTEM, "Can't find the AppWidget provider");
 
-       pAppWidget->OnAppWidgetProviderUpdating(argument);
+       bool isUpdated = pAppWidget->OnAppWidgetProviderUpdating(argument);
+       if (!isUpdated)
+       {
+               SysLog(NID_SHELL, "Failed to update.");
+
+               result r = SendResult(instanceId, false);
+               SysTryLog(NID_SHELL, !IsFailed(r), "Failed to send the result.");
+
+               return E_SYSTEM;
+       }
 
        return E_SUCCESS;
 }
@@ -765,7 +792,7 @@ _AppWidgetProviderManagerImpl::ForwardTouchEventForPD(const String& instanceId,
 //////////////////////////////////////////////////////////////////////////
 
 result
-_AppWidgetProviderManagerImpl::RequestSharedMemoryId(const Tizen::Base::String& instanceId, int width, int height, int& shmId)
+_AppWidgetProviderManagerImpl::RequestSharedMemoryId(const String& instanceId, int width, int height, int& shmId)
 {
        _AppWidgetManagerProxy* pProxy = _AppWidgetManagerProxy::GetInstance();
        SysTryReturnResult(NID_SHELL, pProxy, E_SYSTEM, "Failed to get proxy instance!");
@@ -774,7 +801,7 @@ _AppWidgetProviderManagerImpl::RequestSharedMemoryId(const Tizen::Base::String&
 }
 
 result
-_AppWidgetProviderManagerImpl::RequestSharedMemoryIdForPD(const Tizen::Base::String& instanceId, int width, int height, int& shmId)
+_AppWidgetProviderManagerImpl::RequestSharedMemoryIdForPD(const String& instanceId, int width, int height, int& shmId)
 {
        _AppWidgetManagerProxy* pProxy = _AppWidgetManagerProxy::GetInstance();
        SysTryReturnResult(NID_SHELL, pProxy, E_SYSTEM, "Failed to get proxy instance!");
@@ -783,7 +810,7 @@ _AppWidgetProviderManagerImpl::RequestSharedMemoryIdForPD(const Tizen::Base::Str
 }
 
 result
-_AppWidgetProviderManagerImpl::RequestReleaseSharedMemory(const Tizen::Base::String& instanceId)
+_AppWidgetProviderManagerImpl::RequestReleaseSharedMemory(const String& instanceId)
 {
        _AppWidgetManagerProxy* pProxy = _AppWidgetManagerProxy::GetInstance();
        SysTryReturnResult(NID_SHELL, pProxy, E_SYSTEM, "Failed to get proxy instance!");
@@ -792,7 +819,7 @@ _AppWidgetProviderManagerImpl::RequestReleaseSharedMemory(const Tizen::Base::Str
 }
 
 result
-_AppWidgetProviderManagerImpl::RequestReleaseSharedMemoryForPD(const Tizen::Base::String& instanceId)
+_AppWidgetProviderManagerImpl::RequestReleaseSharedMemoryForPD(const String& instanceId)
 {
        _AppWidgetManagerProxy* pProxy = _AppWidgetManagerProxy::GetInstance();
        SysTryReturnResult(NID_SHELL, pProxy, E_SYSTEM, "Failed to get proxy instance!");
@@ -801,7 +828,7 @@ _AppWidgetProviderManagerImpl::RequestReleaseSharedMemoryForPD(const Tizen::Base
 }
 
 result
-_AppWidgetProviderManagerImpl::RequestSyncSharedMemory(const Tizen::Base::String& instanceId, int width, int height)
+_AppWidgetProviderManagerImpl::RequestSyncSharedMemory(const String& instanceId, int width, int height)
 {
        _AppWidgetManagerProxy* pProxy = _AppWidgetManagerProxy::GetInstance();
        SysTryReturnResult(NID_SHELL, pProxy, E_SYSTEM, "Failed to get proxy instance!");
@@ -812,7 +839,7 @@ _AppWidgetProviderManagerImpl::RequestSyncSharedMemory(const Tizen::Base::String
 }
 
 result
-_AppWidgetProviderManagerImpl::RequestSyncSharedMemoryForPD(const Tizen::Base::String& instanceId)
+_AppWidgetProviderManagerImpl::RequestSyncSharedMemoryForPD(const String& instanceId)
 {
        _AppWidgetManagerProxy* pProxy = _AppWidgetManagerProxy::GetInstance();
        SysTryReturnResult(NID_SHELL, pProxy, E_SYSTEM, "Failed to get proxy instance!");
@@ -820,6 +847,15 @@ _AppWidgetProviderManagerImpl::RequestSyncSharedMemoryForPD(const Tizen::Base::S
        return pProxy->RequestSyncSharedMemoryForPD(instanceId);
 }
 
+result
+_AppWidgetProviderManagerImpl::SendResult(const String& instanceId, bool isSucceeded)
+{
+       _AppWidgetManagerProxy* pProxy = _AppWidgetManagerProxy::GetInstance();
+       SysTryReturnResult(NID_SHELL, pProxy, E_SYSTEM, "Failed to get proxy instance!");
+
+       return pProxy->SendResult(instanceId, isSucceeded);
+}
+
 void
 _AppWidgetProviderManagerImpl::OnApplicationTerminated(const AppId& appId, int pid)
 {
@@ -828,7 +864,7 @@ _AppWidgetProviderManagerImpl::OnApplicationTerminated(const AppId& appId, int p
        ///////////////////////////////////////////////
 
        AppWidgetProvider* pAppWidgetProvider;
-       unique_ptr<IMapEnumeratorT< Tizen::Base::String, Tizen::Shell::AppWidgetProvider*> > pMapEnum(__appwidgetProviders.GetMapEnumeratorN() );
+       unique_ptr<IMapEnumeratorT< String, Tizen::Shell::AppWidgetProvider*> > pMapEnum(__appwidgetProviders.GetMapEnumeratorN() );
        while (pMapEnum->MoveNext() == E_SUCCESS)
        {
                pAppWidgetProvider = null;
index 8157129..c8c584f 100644 (file)
@@ -39,6 +39,7 @@ IPC_SYNC_MESSAGE_CONTROL3_1(AppWidgetManager_RequestSyncSharedMemory, Tizen::Bas
 IPC_SYNC_MESSAGE_CONTROL1_1(AppWidgetManager_RequestSyncSharedMemoryForPD, Tizen::Base::String, result)
 IPC_SYNC_MESSAGE_CONTROL1_1(AppWidgetManager_RequestReleaseSharedMemory, Tizen::Base::String, result)
 IPC_SYNC_MESSAGE_CONTROL1_1(AppWidgetManager_RequestReleaseSharedMemoryForPD, Tizen::Base::String, result)
+IPC_SYNC_MESSAGE_CONTROL2_0(AppWidgetManager_SendResult, Tizen::Base::String, bool)
 
 // Message from service
 IPC_MESSAGE_CONTROL5(AppWidgetManager_SendTouchEvent, Tizen::Base::String, int, double, double, double)
index 7a7ab13..66b92bb 100644 (file)
@@ -49,12 +49,16 @@ public:
        result RequestSyncSharedMemoryForPD(const Tizen::Base::String& instanceId);
        result RequestReleaseSharedMemory(const Tizen::Base::String& instanceId);
        result RequestReleaseSharedMemoryForPD(const Tizen::Base::String& instanceId);
+       result SendResult(const Tizen::Base::String& instanceId, bool isSucceeded);
 
        result OnTouchEventReceived(const Tizen::Base::String& instanceId, int eventType, double timeStamp, double x, double y );
        result OnTouchEventReceivedForPD(const Tizen::Base::String& instanceId, int eventType, double timeStamp, double x, double y );
 
+       bool IsConnected(void) const;
+
 private:
        virtual void OnIpcResponseReceived(Tizen::Io::_IpcClient& client, const IPC::Message& message);
+       virtual void OnIpcServerDisconnected(Tizen::Io::_IpcClient& client);
 
 private:
        Tizen::Io::_IpcClient* __pIpcClient;
index 3f95cd8..14fdc76 100644 (file)
@@ -62,13 +62,13 @@ public:
 
        // internal APIs
        result RequestUpdateInstance(const Tizen::Base::String& instanceId, const Tizen::Base::String& argument = L"");
-
        result RequestSharedMemoryId(const Tizen::Base::String& instanceId, int width, int height, int& shmId);
        result RequestSharedMemoryIdForPD(const Tizen::Base::String& instanceId, int width, int height, int& shmId);
        result RequestSyncSharedMemory(const Tizen::Base::String& instanceId, int width, int height);
        result RequestSyncSharedMemoryForPD(const Tizen::Base::String& instanceId);
        result RequestReleaseSharedMemory(const Tizen::Base::String& instanceId);
        result RequestReleaseSharedMemoryForPD(const Tizen::Base::String& instanceId);
+       result SendResult(const Tizen::Base::String& instanceId, bool isSucceeded);
 
        // internal
        result SetAppWidgetTouchEventListener(const Tizen::Base::String& instanceId, _IAppWidgetTouchEventListener& listener);