const String ARG_KEY_INSTANCE_ID = L"_InstanceId";
const String ARG_KEY_PROVIDER_NAME = L"_ProviderName";
const String ARG_KEY_USER_INFO = L"_UserInfo";
+const String ARG_KEY_WIDTH = L"_Width";
+const String ARG_KEY_HEIGHT = L"_Height";
_AppWidgetContextBase::_AppWidgetContextBase(target_type type, const String& userInfo, const String& providerId, const String& instanceId, int width, int height, int priority)
,__ipcClientId(-1)
,__buffer_info(null)
,__buffer(null)
+ ,__providerState(INVALID)
{
_AppWidgetManagerImpl::ExtractAppIdAndProviderName(providerId, __appId, __providerName);
_AppWidgetContextBase::~_AppWidgetContextBase()
{
SysLog(NID_APP, "providerId(%ls), instanceId(%ls), width(%d), height(%d), priority(%d)", __providerId.GetPointer(), __instanceId.GetPointer(), __width, __height, __priority);
+ ReleaseSharedMem();
}
void
-_AppWidgetContextBase::SetClientId(int clientId)
+_AppWidgetContextBase::SetIpcClientId(int clientId)
{
__ipcClientId = clientId;
}
bool
-_AppWidgetContextBase::HasValidClientId() const
+_AppWidgetContextBase::HasValidClientId(void) const
{
SysLog(NID_APP, "%d", __ipcClientId);
return (__ipcClientId > -1);
}
+bool
+_AppWidgetContextBase::IsSharedMemCreated(void) const
+{
+ return ( __buffer_info && __buffer_info);
+}
+
int
_AppWidgetContextBase::GetSharedMemId(int w, int h)
{
}
int bufferId = __buffer_info->fb->handle;
+ __providerState = RUNNING;
SysLog(NID_APP, "(%d) Exit", bufferId);
return bufferId;
}
+
+void
+_AppWidgetContextBase::Suspend()
+{
+ __providerState = SUSPENDED;
+}
+
+bool
+_AppWidgetContextBase::IsRunning() const
+{
+ return (__providerState == RUNNING);
+}
+
result
_AppWidgetContextBase::ReleaseSharedMem()
{
pArgs->Add(new String(ARG_KEY_INSTANCE_ID), new String(__instanceId));
pArgs->Add(new String(ARG_KEY_PROVIDER_NAME), new String(__providerName));
pArgs->Add(new String(ARG_KEY_USER_INFO), new String(__userInfo));
+ pArgs->Add(new String(ARG_KEY_WIDTH), new String(Integer::ToString(__width)));
+ pArgs->Add(new String(ARG_KEY_HEIGHT), new String(Integer::ToString(__height)));
return pArgs;
}