}
}
-_AppWidgetContext*
+result
_AppContext::AddAppWidget(const Tizen::Base::String& userInfo, const Tizen::Base::String& providerId, const Tizen::Base::String& instanceId, int width, int height, int period, int priority)
{
_AppWidgetContext* pAppWidgetContext = new (std::nothrow)_AppWidgetContext(this, instanceId, providerId, width, height, userInfo, period, priority);
- SysTryReturn(NID_SHELL, pAppWidgetContext, 0, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY]");
+ SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OUT_OF_MEMORY, "");
__appWidgetContextList.Add(pAppWidgetContext->GetInstanceId(), pAppWidgetContext);
pAppWidgetContext->OnAdded();
SysSecureLog(NID_SHELL, "%ls, %ls, count(%d)", pAppWidgetContext->GetProviderId().GetPointer(), pAppWidgetContext->GetInstanceId().GetPointer(), __appWidgetContextList.GetCount());
- return pAppWidgetContext;
+ return E_SUCCESS;
}
result
-_AppContext::RemoveAppWidget(const Tizen::Base::String& instanceId, bool isTriggeredByViewer)
+_AppContext::UpdateAppWidget(const Tizen::Base::String& instanceId)
{
_AppWidgetContext* pAppWidgetContext = FindAppWidget(instanceId);
- SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND]");
+ SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "Failed to find _AppWidgetContext.");
+
+ pAppWidgetContext->OnUpdate(L"");
+
+ return E_SUCCESS;
+}
+
+result
+_AppContext::ResizeAppWidget(const Tizen::Base::String& instanceId, int width, int height)
+{
+ _AppWidgetContext* pAppWidgetContext = FindAppWidget(instanceId);
+ SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "Failed to find _AppWidgetContext.");
+
+ pAppWidgetContext->OnResize(width, height);
+
+ return E_SUCCESS;
+}
+
+result
+_AppContext::CreateAppWidgetPopup(const Tizen::Base::String& instanceId, double x, double y, int width, int height)
+{
+ _AppWidgetContext* pAppWidgetContext = FindAppWidget(instanceId);
+ SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "Failed to find _AppWidgetContext.");
+
+ pAppWidgetContext->OnPopupCreated(x, y, width, height);
+
+ return E_SUCCESS;
+}
+
+result
+_AppContext::DestroyAppWidget(const Tizen::Base::String& instanceId, bool isTriggeredByViewer)
+{
+ _AppWidgetContext* pAppWidgetContext = FindAppWidget(instanceId);
+ SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "Failed to find _AppWidgetContext.");
__appWidgetContextList.Remove(instanceId);
delete pAppWidgetContext;
- SysLog(NID_SHELL, "AppWidget(%ls, %ls) is removed. remain count(%d)", pAppWidgetContext->GetProviderId().GetPointer(), instanceId.GetPointer(), __appWidgetContextList.GetCount());
+ SysLog(NID_SHELL, "AppWidget(%ls) is removed. remain count(%d)", instanceId.GetPointer(), __appWidgetContextList.GetCount());
+ return E_SUCCESS;
+}
+
+result
+_AppContext::DestroyAppWidgetPopup(const Tizen::Base::String& instanceId)
+{
+ _AppWidgetContext* pAppWidgetContext = FindAppWidget(instanceId);
+ SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "Failed to find _AppWidgetContext.");
+
+ pAppWidgetContext->OnPopupDestoyed();
+
return E_SUCCESS;
}
return E_SUCCESS;
}
+result
+_AppContext::RequestUpdateInstance(const Tizen::Base::String& instanceId, const Tizen::Base::String& argument)
+{
+ _AppWidgetContext* pAppWidgetContext = FindAppWidget(instanceId);
+ SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "Failed to find _AppWidgetContext.");
+
+ return pAppWidgetContext->OnUpdateAsync(this, argument);
+}
+
+result
+_AppContext::AcquireRemoteBuffer(const Tizen::Base::String& instanceId, int width, int height, int& bufferId)
+{
+ _AppWidgetContext* pAppWidgetContext = FindAppWidget(instanceId);
+ SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "Failed to find _AppWidgetContext.");
+
+ bufferId = pAppWidgetContext->AcquireRemoteBuffer(width, height);
+
+ return E_SUCCESS;
+}
+
+result
+_AppContext::AcquireRemoteBufferForPD(const Tizen::Base::String& instanceId, int width, int height, int& bufferId)
+{
+ _AppWidgetContext* pAppWidgetContext = FindAppWidget(instanceId);
+ SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "Failed to find _AppWidgetContext.");
+
+ bufferId = pAppWidgetContext->AcquireRemoteBufferForPD(width, height);
+
+ return E_SUCCESS;
+}
+
+result
+_AppContext::SyncRemoteBuffer(const Tizen::Base::String& instanceId, int width, int height)
+{
+ _AppWidgetContext* pAppWidgetContext = FindAppWidget(instanceId);
+ SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "Failed to find _AppWidgetContext.");
+
+ return pAppWidgetContext->SyncRemoteBuffer(width, height);
+}
+
+result
+_AppContext::SyncRemoteBufferForPD(const Tizen::Base::String& instanceId)
+{
+ _AppWidgetContext* pAppWidgetContext = FindAppWidget(instanceId);
+ SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "Failed to find _AppWidgetContext.");
+
+ return pAppWidgetContext->SyncRemoteBufferForPD();
+}
+
+result
+_AppContext::SendAccessStatus(const Tizen::Base::String& instanceId, int accessStatus)
+{
+ _AppWidgetContext* pAppWidgetContext = FindAppWidget(instanceId);
+ SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "Failed to find _AppWidgetContext.");
+
+ return pAppWidgetContext->SendAccessStatus(accessStatus);
+}
+
_AppWidgetContext*
_AppContext::FindAppWidget(const String& instanceId) const
{
}
result
-_AppContext::RequestUpdate(const Tizen::Base::String& providerName, const Tizen::Base::String& argument) const
+_AppContext::RequestUpdate(const Tizen::Base::String& providerName, const Tizen::Base::String& argument)
{
bool found = false;
bool requestToAll = providerName.IsEmpty();
if (pAppWidgetContext->GetProviderName() == providerName || requestToAll == true)
{
- pAppWidgetContext->OnUpdateAsync(argument);
+ pAppWidgetContext->OnUpdateAsync(this, argument);
found = true;
}
}
}
result
-_AppContext::OnAppWidgetBackgroundAll(void) const
+_AppContext::OnAppWidgetBackground(const Tizen::Base::String& instanceId)
+{
+ _AppWidgetContext* pAppWidgetContext = FindAppWidget(instanceId);
+ SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "Failed to find _AppWidgetContext.");
+
+ pAppWidgetContext->OnBackground();
+
+ return E_SUCCESS;
+}
+
+result
+_AppContext::OnAppWidgetBackgroundAll(void)
{
unique_ptr< IMapEnumeratorT<String, _AppWidgetContext*> > pAppWidgetContextEnum(__appWidgetContextList.GetMapEnumeratorN());
SysTryReturnResult(NID_SHELL, pAppWidgetContextEnum, E_SYSTEM, "Failed to invoke GetMapEnumeratorN()");
}
result
-_AppContext::OnAppWidgetForegroundAll(void) const
+_AppContext::OnAppWidgetForeground(const Tizen::Base::String& instanceId)
+{
+ _AppWidgetContext* pAppWidgetContext = FindAppWidget(instanceId);
+ SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "Failed to find _AppWidgetContext.");
+
+ pAppWidgetContext->OnForeground();
+
+ return E_SUCCESS;
+}
+
+result
+_AppContext::OnAppWidgetForegroundAll(void)
{
unique_ptr< IMapEnumeratorT<String, _AppWidgetContext*> > pAppWidgetContextEnum(__appWidgetContextList.GetMapEnumeratorN());
SysTryReturnResult(NID_SHELL, pAppWidgetContextEnum, E_SYSTEM, "Failed to invoke GetMapEnumeratorN()");
return E_SUCCESS;
}
+void
+_AppContext::HandleUserEvent(Tizen::Base::Collection::IList* pArgs)
+{
+ _AppWidgetContext* pAppWidgetContext = dynamic_cast<_AppWidgetContext*>( pArgs->GetAt(1) );
+ SysTryReturnVoidResult(NID_SHELL, pAppWidgetContext != null, E_INVALID_STATE, "_AppWidget is null!.");
+
+ String* pArgument = dynamic_cast<String*>( pArgs->GetAt(2) );
+ SysTryReturnVoidResult(NID_SHELL, pArgument != null, E_INVALID_STATE, "pArgument is null!.");
+
+ pAppWidgetContext->OnUpdate(*pArgument);
+}
+
}}} // Tizen::Shell::App
#include <FIo_IpcServer.h>
#include <FBase_StringConverter.h>
-#include "FShell_AppWidgetContext.h"
+#include "FShell_AppContext.h"
#include "FShell_AppWidgetPopupContext.h"
#include "FShell_AppWidgetManagerService.h"
#include "FShell_TemplateUtil.h"
provider_send_ping();
}
+_AppContext*
+AppWidgetManagerService::FindAppContext(const Tizen::App::AppId& appId) const
+{
+ _AppContext* pAppContext = null;
+ result r = __appContextList.GetValue(appId, pAppContext);
+ SysTryReturn(NID_SHELL, !IsFailed(r), null, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND]");
+
+ return pAppContext;
+}
+
_AppWidgetContext*
AppWidgetManagerService::FindAppWidget(const AppId& appId, const String& instanceId) const
{
}
}
-_AppWidgetContext*
+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;
if( containsKey == false)
{
pAppContext = new(std::nothrow) _AppContext(appId);
- SysTryReturn(NID_SHELL, pAppContext, 0, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY]");
+ SysTryReturnResult(NID_SHELL, pAppContext, E_OUT_OF_MEMORY, "");
__appContextList.Add(appId, pAppContext);
}
else
int
AppWidgetManagerService::OnAppWidgetCreate(struct event_arg *arg, int *width, int *height, double *priority, void* data)
{
- SysTryReturn(NID_SHELL, arg != null, EINVAL, E_INVALID_ARG, "[E_INVALID_ARG]");
- SysTryReturn(NID_SHELL, arg->pkgname != null, EINVAL, E_INVALID_ARG, "[E_INVALID_ARG]");
- SysTryReturn(NID_SHELL, arg->id != null, EINVAL, E_INVALID_ARG, "[E_INVALID_ARG]");
- SysTryReturn(NID_SHELL, arg->type == event_arg::EVENT_NEW, -EPERM, E_SUCCESS, "invalid argument from master");
+ 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);
- AppWidgetManagerService* pAppWidgetService = AppWidgetManagerService::GetInstance();
-// SysTryReturn (NID_SHELL, pAppWidgetService->FindAppWidget(ExtractAppId(arg->pkgname), arg->id) == null, -EBUSY, E_SUCCESS,"already exist");
const double default_priority = 1.0f;
- _AppWidgetContext* pAppWidgetContext = pAppWidgetService->AddAppWidget(arg->info.lb_create.content, arg->pkgname, arg->id, arg->info.lb_create.width, arg->info.lb_create.height, arg->info.lb_create.period * 1000, default_priority);
+ result r = AppWidgetManagerService::GetInstance()->AddAppWidget(arg->info.lb_create.content, arg->pkgname, arg->id, arg->info.lb_create.width, arg->info.lb_create.height, arg->info.lb_create.period * 1000, default_priority);
+ SysTryReturn(NID_SHELL, !IsFailed(r), -1, r, "[%s] Failed to execute AddAppWidget.", GetErrorMessage(r));
- *priority = pAppWidgetContext->GetPriority();
- *height= pAppWidgetContext->GetHeight();
- *width = pAppWidgetContext->GetWidth();
+ *priority = default_priority;
+ *height= arg->info.lb_create.height;
+ *width = arg->info.lb_create.width;
return 0;
}
int
AppWidgetManagerService::OnAppWidgetUpdate(struct event_arg *arg, void* data)
{
+ SysAssertf(arg != null && arg->type == event_arg::EVENT_UPDATE_CONTENT, "The status of data-provider-master is invalid.");
+
bool isInstanceIdSpecified = (arg->id == null || strlen(arg->id) < 1) ? false : true;
if (isInstanceIdSpecified == false)
{
}
else
{
- _AppWidgetContext* pAppWidgetContext = AppWidgetManagerService::GetInstance()->FindAppWidget(_AppWidgetHelper::ExtractAppId(arg->pkgname), arg->id);
- SysSecureTryReturnResult(NID_SHELL, pAppWidgetContext , E_SYSTEM, "pAppWidgetContext is null for providerId(%s), instanceId(%s)", arg->pkgname, arg->id);
+ _AppContext* pAppContext = AppWidgetManagerService::GetInstance()->FindAppContext(_AppWidgetHelper::ExtractAppId(arg->pkgname));
+ SysTryReturn(NID_SHELL, pAppContext != null, -1, E_OBJ_NOT_FOUND, "Failed to find _AppContext.");
- pAppWidgetContext->OnUpdate(L"");
+ result r = pAppContext->UpdateAppWidget(arg->id);
+ SysTryReturn(NID_SHELL, !IsFailed(r), -1, E_OBJ_NOT_FOUND, "Failed to update _AppContext.");
}
return 0;
int
AppWidgetManagerService::OnAppWidgetDestroy(struct event_arg *arg, void* data)
{
- SysTryReturn (NID_SHELL, arg->type == event_arg::EVENT_DELETE, -EPERM, E_SUCCESS, "invalid argument from master");
- SysLog(NID_SHELL, "Enter");
+ SysAssertf(arg != null && arg->type == event_arg::EVENT_DELETE, "The status of data-provider-master is invalid.");
- _AppContext* pAppContext = null;
- result r = AppWidgetManagerService::GetInstance()->__appContextList.GetValue(_AppWidgetHelper::ExtractAppId(arg->pkgname), pAppContext);
- SysTryReturn(NID_SHELL, !IsFailed(r), null, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND]");
+ _AppContext* pAppContext = AppWidgetManagerService::GetInstance()->FindAppContext(_AppWidgetHelper::ExtractAppId(arg->pkgname));
+ SysTryReturn(NID_SHELL, pAppContext != null, -1, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND] Failed to find _AppContext.");
- pAppContext->RemoveAppWidget(arg->id);
+ pAppContext->DestroyAppWidget(arg->id);
- SysLog(NID_SHELL, "Exit");
- return 0;
+ return 0;
}
int
AppWidgetManagerService::OnAppWidgetPopupCreate(struct event_arg *arg, void* data)
{
- SysTryReturn (NID_SHELL, arg->type == event_arg::EVENT_PD_CREATE, -EPERM, E_SUCCESS, "invalid argument from master");
+ SysAssertf(arg != null && arg->type == event_arg::EVENT_PD_CREATE, "The status of data-provider-master is invalid.");
+
SysSecureLog(NID_SHELL, "providerId(%s), id(%s), x(%d), y(%d), width(%f), height(%f), priority(%d)", arg->pkgname, arg->id, arg->info.pd_create.x, arg->info.pd_create.y, arg->info.pd_create.w, arg->info.pd_create.h);
- _AppWidgetContext* pAppWidgetContext = AppWidgetManagerService::GetInstance()->FindAppWidget(_AppWidgetHelper::ExtractAppId(arg->pkgname), arg->id);
- SysSecureTryReturnResult(NID_SHELL, pAppWidgetContext , E_SYSTEM, "[E_SYSTEM] pAppWidgetContext is null for providerId(%s), instanceId(%s)", arg->pkgname, arg->id);
+ _AppContext* pAppContext = AppWidgetManagerService::GetInstance()->FindAppContext(_AppWidgetHelper::ExtractAppId(arg->pkgname));
+ SysTryReturn(NID_SHELL, pAppContext != null, -1, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND] Failed to find _AppContext.");
- pAppWidgetContext->OnPopupCreated(arg->info.pd_create.x, arg->info.pd_create.y, arg->info.pd_create.w, arg->info.pd_create.h);
+ pAppContext->CreateAppWidgetPopup(arg->id, arg->info.pd_create.x, arg->info.pd_create.y, arg->info.pd_create.w, arg->info.pd_create.h);
- return 0;
+ return 0;
}
- int
- AppWidgetManagerService::OnAppWidgetPopupDestroy(struct event_arg *arg, void* data)
+int
+AppWidgetManagerService::OnAppWidgetPopupDestroy(struct event_arg *arg, void* data)
{
- SysTryReturn (NID_SHELL, arg->type == event_arg::EVENT_PD_DESTROY, -EPERM, E_SUCCESS, "invalid argument from master");
- _AppWidgetContext* pAppWidgetContext = AppWidgetManagerService::GetInstance()->FindAppWidget(_AppWidgetHelper::ExtractAppId(arg->pkgname), arg->id);
- SysSecureTryReturnResult(NID_SHELL, pAppWidgetContext , E_SYSTEM, "[E_SYSTEM] pAppWidgetContext is null for providerId(%s), instanceId(%s)", arg->pkgname, arg->id);
+ SysAssertf(arg != null && arg->type == event_arg::EVENT_PD_DESTROY, "The status of data-provider-master is invalid.");
SysSecureLog(NID_SHELL, "providerId(%s), id(%s)", arg->pkgname, arg->id);
- pAppWidgetContext->OnPopupDestoyed();
- return 0;
+ _AppContext* pAppContext = AppWidgetManagerService::GetInstance()->FindAppContext(_AppWidgetHelper::ExtractAppId(arg->pkgname));
+ SysTryReturn(NID_SHELL, pAppContext != null, -1, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND] Failed to find _AppContext.");
+
+ pAppContext->DestroyAppWidgetPopup(arg->id);
+
+ return 0;
}
int
AppWidgetManagerService::OnAppWidgetBackground(struct event_arg *arg, void* data)
{
- SysTryReturn(NID_SHELL, arg, 0, E_SUCCESS, "arg is null!");
+ SysAssertf(arg != null && arg->type == event_arg::EVENT_LB_PAUSE, "The status of data-provider-master is invalid.");
- _AppWidgetContext* pAppWidgetContext = AppWidgetManagerService::GetInstance()->FindAppWidget(_AppWidgetHelper::ExtractAppId(arg->pkgname), arg->id);
- SysSecureTryReturnResult(NID_SHELL, pAppWidgetContext , 0, "[E_SYSTEM] pAppWidgetContext is null for providerId(%s), instanceId(%s)", arg->pkgname, arg->id);
+ SysSecureLog(NID_SHELL, "providerId(%s), id(%s)", arg->pkgname, arg->id);
- SysSecureLog(NID_SHELL, "providerId(%s), id(%s)", arg->pkgname, arg->id);
- pAppWidgetContext->OnBackground();
+ _AppContext* pAppContext = AppWidgetManagerService::GetInstance()->FindAppContext(_AppWidgetHelper::ExtractAppId(arg->pkgname));
+ SysTryReturn(NID_SHELL, pAppContext != null, -1, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND] Failed to find _AppContext.");
- return 0;
+ pAppContext->OnAppWidgetBackground(arg->id);
+
+ return 0;
}
int
AppWidgetManagerService::OnAppWidgetBackgroundAll(struct event_arg *arg, void* data)
{
+ 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()");
}
int
-AppWidgetManagerService::OnAppWidgetForeground(struct event_arg *pArg, void* pData)
+AppWidgetManagerService::OnAppWidgetForeground(struct event_arg *arg, void* data)
{
- SysTryReturn(NID_SHELL, pArg || pArg->id || pArg->pkgname, 0, E_SUCCESS, "pArg is null!");
- SysSecureLog(NID_SHELL, "providerId(%s), id(%s)", pArg->pkgname, pArg->id);
+ SysAssertf(arg != null && arg->type == event_arg::EVENT_LB_RESUME, "The status of data-provider-master is invalid.");
- _AppWidgetContext* pAppWidgetContext = AppWidgetManagerService::GetInstance()->FindAppWidget(_AppWidgetHelper::ExtractAppId(pArg->pkgname), pArg->id);
- SysSecureTryReturnResult(NID_SHELL, pAppWidgetContext , E_SYSTEM, "[E_SYSTEM] pAppWidgetContext is null for providerId(%s), instanceId(%s)", pArg->pkgname, pArg->id);
+ SysTryReturn(NID_SHELL, arg || arg->id || arg->pkgname, 0, E_SUCCESS, "arg is null!");
+ SysSecureLog(NID_SHELL, "providerId(%s), id(%s)", arg->pkgname, arg->id);
+
+ _AppContext* pAppContext = AppWidgetManagerService::GetInstance()->FindAppContext(_AppWidgetHelper::ExtractAppId(arg->pkgname));
+ SysTryReturn(NID_SHELL, pAppContext != null, -1, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND] Failed to find _AppContext.");
- pAppWidgetContext->OnForeground();
+ pAppContext->OnAppWidgetForeground(arg->id);
return 0;
}
int
-AppWidgetManagerService::OnAppWidgetForegroundAll(struct event_arg *pArg, void* pData)
+AppWidgetManagerService::OnAppWidgetForegroundAll(struct event_arg *arg, void* data)
{
+ 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()");
int
AppWidgetManagerService::OnAppWidgetClick(struct event_arg *arg, void* data)
{
- SysTryReturn (NID_SHELL, arg->type == event_arg::EVENT_CLICKED, -EPERM, E_SUCCESS, "invalid argument from master");
- SysTryReturn(NID_SHELL, arg != null, -EPERM, E_SUCCESS, "arg is null!");
+ SysAssertf(arg != null && arg->type == event_arg::EVENT_CLICKED, "The status of data-provider-master is invalid.");
+
SysSecureLog(NID_SHELL, "providerId(%s), id(%s), clicked.event(%s), clicked.x(%f), clicked.y(%f)", arg->pkgname, arg->id, arg->info.clicked.event, arg->info.clicked.x, arg->info.clicked.y);
return 0;
int
AppWidgetManagerService::OnAppWidgetResize(struct event_arg *arg, void* data)
{
- SysTryReturn(NID_SHELL, arg || arg->id || arg->pkgname, 0, E_SUCCESS, "arg is null!");
- SysTryReturn (NID_SHELL, arg->type == event_arg::EVENT_RESIZE, -EPERM, E_SUCCESS, "invalid argument from master");
+ SysAssertf(arg != null && arg->type == event_arg::EVENT_RESIZE, "The status of data-provider-master is invalid.");
SysSecureLog(NID_SHELL, "providerId(%s), id(%s), resize.w(%d), resize.h(%d)", arg->pkgname, arg->id, arg->info.resize.w, arg->info.resize.h);
- _AppWidgetContext* pAppWidgetContext = AppWidgetManagerService::GetInstance()->FindAppWidget(_AppWidgetHelper::ExtractAppId(arg->pkgname), arg->id);
- SysSecureTryReturnResult(NID_SHELL, pAppWidgetContext , E_SYSTEM, "[E_SYSTEM] pAppWidgetContext is null for providerId(%s), instanceId(%s)", arg->pkgname, arg->id);
+ _AppContext* pAppContext = AppWidgetManagerService::GetInstance()->FindAppContext(_AppWidgetHelper::ExtractAppId(arg->pkgname));
+ SysTryReturn(NID_SHELL, pAppContext != null, -1, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND] Failed to find _AppContext.");
- pAppWidgetContext->OnResize(arg->info.resize.w, arg->info.resize.h);
+ pAppContext->ResizeAppWidget(arg->id, arg->info.resize.w, arg->info.resize.h);
return 0;
}
int
AppWidgetManagerService::OnAppWidgetPeriodChanged(struct event_arg *arg, void* data)
{
- SysTryReturn(NID_SHELL, arg != null, 0, E_SUCCESS, "arg is null!");
+ SysAssertf(arg != null && arg->type == event_arg::EVENT_SET_PERIOD, "The status of data-provider-master is invalid.");
+
SysSecureLog(NID_SHELL, "providerId(%s), id(%s), width(%d), height(%d), priority(%d)", arg->pkgname, arg->id);
+
return 0;
}
int
AppWidgetManagerService::OnAppWidgetRecreate(struct event_arg *arg, void* data)
{
- SysTryReturn(NID_SHELL, arg != null, EINVAL, E_INVALID_ARG, "[E_INVALID_ARG]");
- SysTryReturn(NID_SHELL, arg->pkgname != null, EINVAL, E_INVALID_ARG, "[E_INVALID_ARG]");
- SysTryReturn(NID_SHELL, arg->id != null, EINVAL, E_INVALID_ARG, "[E_INVALID_ARG]");
- SysTryReturn(NID_SHELL, arg->type == event_arg::EVENT_RENEW, -EPERM, E_SUCCESS, "invalid argument from master");
+ SysAssertf(arg != null && arg->pkgname != null && arg->id != null && arg->type == event_arg::EVENT_RENEW, "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_recreate.content, arg->info.lb_recreate.cluster, arg->info.lb_recreate.category);
SysTryReturn(NID_SHELL, pAppWidgetManagerService != null, -EBUSY, E_SYSTEM, "Failed to get the instance for AppWidgetManagerService.");
const double default_priority = 1.0f;
- _AppWidgetContext* pAppWidgetContext = pAppWidgetManagerService->AddAppWidget(arg->info.lb_create.content, arg->pkgname, arg->id, arg->info.lb_create.width, arg->info.lb_create.height, arg->info.lb_create.period * 1000, default_priority);
- SysTryReturn(NID_SHELL, pAppWidgetContext != null, -EBUSY, E_SYSTEM, "Failed to add the appwidget.");
+ result r = pAppWidgetManagerService->AddAppWidget(arg->info.lb_create.content, arg->pkgname, arg->id, arg->info.lb_create.width, arg->info.lb_create.height, arg->info.lb_create.period * 1000, default_priority);
+ SysTryReturn(NID_SHELL, !IsFailed(r), -EBUSY, r, "[%s] Failed to execute AddAppWidget.", GetErrorMessage(r));
return 0;
}
///////////////////////////////////////////////////////
// stub implementation
///////////////////////////////////////////////////////
-
-
result
AppWidgetManagerService::RequestUpdate(const Tizen::App::AppId& appId, const Tizen::Base::String& providerName, const Tizen::Base::String& argument) const
{
{
pAppContext->RequestUpdate(L"", L"");
}
-
}
SysLog(NID_SHELL, "Exit.");
{
SysSecureLog(NID_SHELL, "%ls, %ls", instanceId.GetPointer(), argument.GetPointer() );
- _AppWidgetContext* pAppWidgetContext = FindAppWidget(appId, instanceId);
- SysTryReturnResult(NID_SHELL, pAppWidgetContext, E_OBJ_NOT_FOUND, "Failed to find the object(%ls).", instanceId.GetPointer());
+ _AppContext* pAppContext = AppWidgetManagerService::GetInstance()->FindAppContext(appId);
+ SysTryReturnResult(NID_SHELL, pAppContext != null, E_OBJ_NOT_FOUND, "Failed to find _AppContext.");
+
+ result r = pAppContext->RequestUpdateInstance(instanceId, argument);
+ SysTryReturnResult(NID_SHELL, !IsFailed(r), E_OBJ_NOT_FOUND, "Failed to execute RequestUpdateInstance.");
- pAppWidgetContext->OnUpdateAsync(argument);
return E_SUCCESS;
}
result
AppWidgetManagerService::AcquireRemoteBuffer(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int width, int height, int& bufferId)
{
- _AppWidgetContext* pAppWidgetContext = this->FindAppWidget(appId, instanceId);
- SysSecureTryReturnResult(NID_SHELL, pAppWidgetContext , E_SYSTEM, "[E_SYSTEM] pAppWidgetContext is null for (%ls) (%ls)", appId.GetPointer(), instanceId.GetPointer());
+ _AppContext* pAppContext = AppWidgetManagerService::GetInstance()->FindAppContext(appId);
+ SysTryReturnResult(NID_SHELL, pAppContext != null, E_OBJ_NOT_FOUND, "Failed to find _AppContext.");
- bufferId = pAppWidgetContext->AcquireRemoteBuffer(width, height);
- SysSecureTryReturnResult(NID_SHELL, pAppWidgetContext , bufferId != -1, "[E_SYSTEM] failed to AcquireRemoteBuffer for (%ls) (%ls)", appId.GetPointer(), instanceId.GetPointer());
+ pAppContext->AcquireRemoteBuffer(instanceId, width, height, bufferId);
+ SysSecureTryReturnResult(NID_SHELL, bufferId != -1, E_SYSTEM, "Failed to execute AcquireRemoteBuffer for (%ls) (%ls)", appId.GetPointer(), instanceId.GetPointer());
return E_SUCCESS;
}
result
AppWidgetManagerService::AcquireRemoteBufferForPD(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int width, int height, int& bufferId)
{
- _AppWidgetContext* pAppWidgetContext = this->FindAppWidget(appId, instanceId);
- SysSecureTryReturnResult(NID_SHELL, pAppWidgetContext , E_SYSTEM, "pAppWidgetContext is null for (%ls) (%ls)", appId.GetPointer(), instanceId.GetPointer());
+ _AppContext* pAppContext = AppWidgetManagerService::GetInstance()->FindAppContext(appId);
+ SysTryReturnResult(NID_SHELL, pAppContext != null, E_OBJ_NOT_FOUND, "Failed to find _AppContext.");
- _AppWidgetPopupContext* pPopupContext = pAppWidgetContext->GetAppWidgetPopup();
- SysSecureTryReturnResult(NID_SHELL, pPopupContext , E_SYSTEM, "[E_SYSTEM] pPd is null for (%ls) (%ls)", appId.GetPointer(), instanceId.GetPointer());
+ pAppContext->AcquireRemoteBufferForPD(instanceId, width, height, bufferId);
+ SysSecureTryReturnResult(NID_SHELL, bufferId != -1, E_SYSTEM, "Failed to execute AcquireRemoteBufferForPD for (%ls) (%ls)", appId.GetPointer(), instanceId.GetPointer());
- bufferId = pPopupContext->AcquireRemoteBuffer(width, height);
- SysSecureTryReturnResult(NID_SHELL, bufferId != -1, E_SYSTEM, "Failed to AcquireRemoteBuffer for (%ls) (%ls)", appId.GetPointer(), instanceId.GetPointer());
-
- return E_SUCCESS;
+ return E_SUCCESS;
}
result
AppWidgetManagerService::SyncRemoteBuffer(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int width, int height)
{
- _AppWidgetContext* pAppWidgetContext = this->FindAppWidget(appId, instanceId);
- SysSecureTryReturnResult(NID_SHELL, pAppWidgetContext , E_SYSTEM, "[E_SYSTEM] pAppWidgetContext is null for (%ls) (%ls)", appId.GetPointer(), instanceId.GetPointer());
+ _AppContext* pAppContext = AppWidgetManagerService::GetInstance()->FindAppContext(appId);
+ SysTryReturnResult(NID_SHELL, pAppContext != null, E_OBJ_NOT_FOUND, "Failed to find _AppContext.");
- return pAppWidgetContext->SyncRemoteBuffer(width, height);
+ return pAppContext->SyncRemoteBuffer(instanceId, width, height);
}
result
AppWidgetManagerService::SyncRemoteBufferForPD(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId)
{
- _AppWidgetContext* pAppWidgetContext = this->FindAppWidget(appId, instanceId);
- SysSecureTryReturnResult(NID_SHELL, pAppWidgetContext , E_SYSTEM, "[E_SYSTEM] pAppWidgetContext is null for (%ls) (%ls)", appId.GetPointer(), instanceId.GetPointer());
- SysSecureTryReturnResult(NID_SHELL, pAppWidgetContext->GetAppWidgetPopup(), E_SYSTEM, "[E_SYSTEM] GetAppWidgetPopup() returns null for (%ls) (%ls)", appId.GetPointer(), instanceId.GetPointer());
+ _AppContext* pAppContext = AppWidgetManagerService::GetInstance()->FindAppContext(appId);
+ SysTryReturnResult(NID_SHELL, pAppContext != null, E_OBJ_NOT_FOUND, "Failed to find _AppContext.");
- return pAppWidgetContext->GetAppWidgetPopup()->SyncRemoteBuffer();
+ return pAppContext->SyncRemoteBufferForPD(instanceId);
}
result
_AppContext* pAppContext = null;
result r = __appContextList.GetValue(appId, pAppContext);
- SysTryReturn(NID_SHELL, pAppContext, null, E_OBJ_NOT_FOUND, "[E_OBJ_NOT_FOUND]");
+ SysTryReturnResult(NID_SHELL, pAppContext, E_OBJ_NOT_FOUND, "Failed to find _AppContext.");
providerCount = pAppContext->GetProviderCount(appId);
- r = pAppContext->RemoveAppWidget(instanceId, false);
- SysTryReturnResult(NID_SHELL, !IsFailed(r), E_SYSTEM, "Failed to execute RemoveAppWidget.");
+ r = pAppContext->DestroyAppWidget(instanceId, false);
+ SysTryReturnResult(NID_SHELL, !IsFailed(r), E_SYSTEM, "Failed to execute DestroyAppWidget.");
providerCount--;
{
_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() );
+ SysTryReturnResult(NID_SHELL, !IsFailed(r), E_OBJ_NOT_FOUND, "appId(%ls) is not found.", appId.GetPointer());
if (!isSucceeded)
{
- r = pAppContext->RemoveAppWidget(instanceId, false);
+ r = pAppContext->DestroyAppWidget(instanceId, false);
SysTryReturnResult(NID_SHELL, !IsFailed(r), E_SYSTEM, "Failed to execute RemoveAppWidget.");
}
else // for pending event excluding touch event.
result
AppWidgetManagerService::SendAccessStatus(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int accessStatus)
{
- _AppWidgetContext* pAppWidgetContext = this->FindAppWidget(appId, instanceId);
- SysSecureTryReturnResult(NID_SHELL, pAppWidgetContext , E_SYSTEM, "[E_SYSTEM] pAppWidgetContext is null for (%ls) (%ls)", appId.GetPointer(), instanceId.GetPointer());
+ _AppContext* pAppContext = AppWidgetManagerService::GetInstance()->FindAppContext(appId);
+ SysTryReturnResult(NID_SHELL, pAppContext != null, E_OBJ_NOT_FOUND, "Failed to find _AppContext.");
- return pAppWidgetContext->SendAccessStatus(accessStatus);
+ return pAppContext->SendAccessStatus(instanceId, accessStatus);
}
void
{
case LOCAL_EVENT_REQUEST_UPDATE:
{
- _AppWidgetContext* pAppWidgetContext = dynamic_cast<_AppWidgetContext*>( pArgs->GetAt(0) );
- SysTryReturnVoidResult(NID_SHELL, pAppWidgetContext != null, E_INVALID_STATE, "_AppWidget is null!.");
-
- String* pArgument = dynamic_cast<String*>( pArgs->GetAt(1) );
- SysTryReturnVoidResult(NID_SHELL, pArgument != null, E_INVALID_STATE, "pArgument is null!.");
+ _AppContext* pAppContext = dynamic_cast<_AppContext*>( pArgs->GetAt(0) );
+ SysTryReturnVoidResult(NID_SHELL, pAppContext != null, E_OBJ_NOT_FOUND, "");
- pAppWidgetContext->OnUpdate(*pArgument);
+ pAppContext->HandleUserEvent(pArgs);
- delete pArgument;
pArgs->RemoveAll();
delete pArgs;
}