private:
void SetConnectionState(_ConnectionState state);
+ static const wchar_t* GetConnectionStateString(_ConnectionState state);
void SetWaitingStatus(bool status);
_AppWidgetContext* FindInvalidAppWidget(void) const;
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;
};
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)
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;
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
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);
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;
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)
delete __pPendingEventList;
}
- IMapEnumeratorT<String, _AppWidgetContext*>* pMapEnum = __appWidgetContextList.GetMapEnumeratorN();
+ IMapEnumeratorT<String, _AppWidgetContext*>* pMapEnum = __appWidgetContexts.GetMapEnumeratorN();
if (pMapEnum != null)
{
while (pMapEnum->MoveNext() == E_SUCCESS)
_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
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;
}
_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;
}
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
{
__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;
{
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;
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;
}
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;
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)
int
_AppContext::GetProviderCount(void) const
{
- return __appWidgetContextList.GetCount();
+ return __appWidgetContexts.GetCount();
}
result
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)
{
_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)
{
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)
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)
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)
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();
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;
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
AppWidgetManagerService::OnApplicationTerminated(const AppId& appId, int pid)
{
_AppContext* pAppContext = null;
- __appContextList.GetValue(appId, pAppContext);
+ __appContexts.GetValue(appId, pAppContext);
if (pAppContext)
{
pAppContext->OnApplicationTerminated();
{
SysLog(NID_SHELL, "appId(%ls)", appId.GetPointer());
- _AppContext* pAppContext = null;
- __appContextList.GetValue(appId, pAppContext);
+ _AppContext* pAppContext = GetOrCreateAppContext(appId);
if (pAppContext)
{
pAppContext->OnIpcConnected(clientId);
SysLog(NID_SHELL, "appId(%ls)", appId.GetPointer());
_AppContext* pAppContext = null;
- __appContextList.GetValue(appId, pAppContext);
+ __appContexts.GetValue(appId, pAppContext);
if (pAppContext)
{
pAppContext->OnIpcDisconnected();
}
}
-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);
}
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;
{
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)
{
{
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)
{
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.");
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);
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)
{
}
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)
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:
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;
}
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;
}
}
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);
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)
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()