virtual result SendTouchEvent(buffer_event event, double timestamp, double x, double y);
result RequestUpdateRemote(int width, int height);
result SendPendingEvent(void);
+ result SendAccessStatus(int accessStatus);
int GetPeriod(void) const;
long long GetLastUpdatedTime(void) const;
virtual result RequestReleaseSharedMemory(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId);
virtual result RequestReleaseSharedMemoryForPD(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId);
virtual result SendResult(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, bool isSucceeded);
+ virtual result SendAccessStatus(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int accessStatus);
// internal functions
AppWidgetManagerService(void);
bool OnRequestReleaseSharedMemory(const Tizen::Base::String& instanceId, result* pRes);
bool OnRequestReleaseSharedMemoryForPD(const Tizen::Base::String& instanceId, result* pRes);
bool OnSendResult(const Tizen::Base::String& instanceId, bool isSucceeded);
+ bool OnSendAccessStatus(const Tizen::Base::String& instanceId, int accessStatus);
// interface to service
virtual result RequestUpdate(const Tizen::App::AppId& appId, const Tizen::Base::String& providerName, const Tizen::Base::String& argument) = 0;
virtual result RequestReleaseSharedMemory(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId) = 0;
virtual result RequestReleaseSharedMemoryForPD(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId) = 0;
virtual result SendResult(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, bool isSucceeded) = 0;
+ virtual result SendAccessStatus(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int accessStatus) = 0;
// _IIpcServerEventListener
virtual void OnIpcServerStarted(const Tizen::Io::_IpcServer& server);
return E_SUCCESS;
}
+result
+_AppWidgetContext::SendAccessStatus(int accessStatus)
+{
+ std::unique_ptr<char[]> packageName(_StringConverter::CopyToCharArrayN(GetProviderId()));
+ std::unique_ptr<char[]> id(_StringConverter::CopyToCharArrayN(GetInstanceId()));
+
+ int ret = provider_send_access_status(packageName.get(), id.get(), accessStatus);
+ SysLog(NID_SHELL, "[LB_ACCESS] provider_send_access_status is called. : ret = %d, status = %d", ret, accessStatus);
+ SysTryReturnResult(NID_SHELL, ret >= 0 , E_SYSTEM, "[E_SYSTEM] failed to provider_send_access_status");
+
+ return E_SUCCESS;
+}
+
Tizen::Base::Collection::HashMap*
_AppWidgetContext::CreateRequestArgsN(void)
{
return E_SUCCESS;
}
+result
+AppWidgetManagerService::SendAccessStatus(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int accessStatus)
+{
+ _AppWidgetContext* pAppWidgetContext = this->Find(appId, instanceId);
+ SysSecureTryReturnResult(NID_SHELL, pAppWidgetContext , E_SYSTEM, "[E_SYSTEM] pAppWidgetContext is null for (%ls) (%ls)", appId.GetPointer(), instanceId.GetPointer());
+
+ return pAppWidgetContext->SendAccessStatus(accessStatus);
+}
+
result
AppWidgetManagerService::RequestPendingEvent(void)
{
return true;
}
+bool
+_AppWidgetManagerStub::OnSendAccessStatus(const String& instanceId, int accessStatus)
+{
+ SysSecureLog(NID_SHELL, "(instanceId:%ls, data:%d)", instanceId.GetPointer(), accessStatus);
+
+ SendAccessStatus(__pIpcServer->GetClientPackageId(), instanceId, accessStatus);
+
+ return true;
+}
+
bool
_AppWidgetManagerStub::SendAppWidgetEvent(const int clientId, const String& instanceId, const String& operationId, HashMap* pArgs)
{
IPC_MESSAGE_HANDLER_EX(AppWidgetManager_RequestReleaseSharedMemory, &server, OnRequestReleaseSharedMemory)
IPC_MESSAGE_HANDLER_EX(AppWidgetManager_RequestReleaseSharedMemoryForPD, &server, OnRequestReleaseSharedMemoryForPD)
IPC_MESSAGE_HANDLER_EX(AppWidgetManager_SendResult, &server, OnSendResult)
+// IPC_MESSAGE_HANDLER_EX(AppWidgetManager_SendAccessStatus, &server, OnSendAccessStatus)
IPC_END_MESSAGE_MAP()
}