2 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.1 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
18 * @file FShell_AppWidgetManagerStub.cpp
19 * @brief This is the implementation for the _AppWidgetManagerStub class.
22 #include <FBaseSysLog.h>
23 #include <FBaseColHashMap.h>
24 #include <FIo_IpcServer.h>
25 #include "FShell_AppWidgetManagerIpcMessage.h"
26 #include "FShell_AppWidgetManagerStub.h"
28 namespace Tizen { namespace Shell { namespace App {
32 const char IPC_SERVER_NAME[] = "osp.shell.ipcserver.appwidgetmanager";
33 const int INVALID_CLIENT_ID = -1;
36 using namespace Tizen::Base;
37 using namespace Tizen::Base::Collection;
38 using namespace Tizen::Io;
39 using namespace Tizen::Text;
40 using namespace Tizen::Security;
42 _AppWidgetManagerStub::_AppWidgetManagerStub(void)
45 SysLog(NID_SHELL, "Enter\n");
47 SysLog(NID_SHELL, "Exit\n");
50 _AppWidgetManagerStub::~_AppWidgetManagerStub(void)
52 SysLog(NID_SHELL, "Enter\n");
54 if ( __pIpcServer != null)
60 SysLog(NID_SHELL, "Exit\n");
64 _AppWidgetManagerStub::StartIpcServer(void)
66 SysLog(NID_SHELL, "Enter.");
67 __pIpcServer = new (std::nothrow) _IpcServer();
68 SysTryReturn(NID_SHELL, __pIpcServer != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Not enough memory.");
70 result r = __pIpcServer->Construct( IPC_SERVER_NAME, *this, false);
71 SysTryCatch(NID_SHELL, !IsFailed(r), , r, "[%s] Failed to create IPC server(%s)", GetErrorMessage(r), "osp.app.ipcserver.appmanager");
72 SysLog(NID_SHELL, "Exit.");
83 _AppWidgetManagerStub::OnRequestUpdate(const Tizen::App::AppId& appId, const Tizen::Base::String& providerName, const Tizen::Base::String& argument, result* pRes)
85 SysLog(NID_SHELL, "");
86 *pRes = RequestUpdate(appId, providerName, argument);
91 _AppWidgetManagerStub::OnRequestUpdateInstance(const Tizen::Base::String& instanceId, const Tizen::Base::String& argument, result* pRes)
93 SysLog(NID_SHELL, "");
94 *pRes = RequestUpdateInstance(instanceId, argument);
99 _AppWidgetManagerStub::OnRequestSharedMemoryId(const String& instanceId, int w, int h, int* pShmId)
101 SysSecureLog(NID_SHELL, "(instanceId:%d)xxx", instanceId.GetPointer());
103 RequestSharedMemoryId(__pIpcServer->GetClientPackageId(), instanceId, w, h, *pShmId);
109 _AppWidgetManagerStub::OnRequestSharedMemoryIdForPD(const String& instanceId, int w, int h, int* pShmId)
111 SysSecureLog(NID_SHELL, "(instanceId:%d)", instanceId.GetPointer());
113 RequestSharedMemoryIdForPD(__pIpcServer->GetClientPackageId(), instanceId, w, h, *pShmId);
119 _AppWidgetManagerStub::OnRequestSyncSharedMemory(const String& instanceId, int w, int h, result* pRes)
121 SysSecureLog(NID_SHELL, "(instanceId:%ls)", instanceId.GetPointer());
123 *pRes = RequestSyncSharedMemory(__pIpcServer->GetClientPackageId(), instanceId, w, h);
129 _AppWidgetManagerStub::OnRequestSyncSharedMemoryForPD(const String& instanceId, result* pRes)
131 SysSecureLog(NID_SHELL, "(instanceId:%ls)", instanceId.GetPointer());
133 *pRes = RequestSyncSharedMemoryForPD(__pIpcServer->GetClientPackageId(), instanceId);
139 _AppWidgetManagerStub::OnRequestReleaseSharedMemory(const String& instanceId, result* pRes)
141 SysSecureLog(NID_SHELL, "(instanceId:%ls)", instanceId.GetPointer());
143 *pRes = RequestReleaseSharedMemory(__pIpcServer->GetClientPackageId(), instanceId);
149 _AppWidgetManagerStub::OnRequestReleaseSharedMemoryForPD(const String& instanceId, result* pRes)
151 SysSecureLog(NID_SHELL, "(instanceId:%ls)", instanceId.GetPointer());
153 *pRes = RequestReleaseSharedMemoryForPD(__pIpcServer->GetClientPackageId(), instanceId);
159 _AppWidgetManagerStub::OnSendResult(const String& instanceId, bool isSucceeded)
161 SysSecureLog(NID_SHELL, "(instanceId:%ls, data:%d)", instanceId.GetPointer(), isSucceeded);
163 SendResult(__pIpcServer->GetClientPackageId(), instanceId, isSucceeded);
169 _AppWidgetManagerStub::SendAppWidgetEvent(const int clientId, const String& instanceId, const String& operationId, HashMap* pArgs)
171 SysLog(NID_SHELL, "The operation type is %ls", operationId.GetPointer());
172 result r = __pIpcServer->SendResponse(clientId, new AppWidgetManager_SendAppWidgetEvent(instanceId, operationId, *pArgs));
173 SysTryReturn(NID_SHELL, !IsFailed(r), false, r, "[%s] Propagated.", GetErrorMessage(r));
179 _AppWidgetManagerStub::SendTouchEvent(const int clientId, const String& instanceId, int eventType, double timestamp, double x, double y)
181 SysLog(NID_SHELL,"");
182 result r = __pIpcServer->SendResponse(clientId, new AppWidgetManager_SendTouchEvent(instanceId, eventType, timestamp, x, y));
183 SysTryReturn(NID_SHELL, !IsFailed(r), r, r, "[%s] Propagated.", GetErrorMessage(r));
189 _AppWidgetManagerStub::SendTouchEventForPD(const int clientId, const String& instanceId, int eventType, double timestamp, double x, double y)
191 SysLog(NID_SHELL,"");
192 result r = __pIpcServer->SendResponse(clientId, new AppWidgetManager_SendTouchEventForPD(instanceId, eventType, timestamp, x, y));
193 SysTryReturn(NID_SHELL, !IsFailed(r), false, r, "[%s] Propagated.", GetErrorMessage(r));
199 _AppWidgetManagerStub::OnIpcRequestReceived(_IpcServer& server, const IPC::Message& message)
201 SysLog(NID_SHELL, "(appId:%ls, clientId:%d)\n", server.GetClientApplicationId().GetPointer(), server.GetClientId());
203 SysAssertf(__pIpcServer, "__pIpcServer is null!");
205 IPC_BEGIN_MESSAGE_MAP(_AppWidgetManagerStub, message)
206 IPC_MESSAGE_HANDLER_EX(AppWidgetManager_RequestUpdate, &server, OnRequestUpdate)
207 IPC_MESSAGE_HANDLER_EX(AppWidgetManager_RequestUpdateInstance, &server, OnRequestUpdateInstance)
208 IPC_MESSAGE_HANDLER_EX(AppWidgetManager_RequestSharedMemoryId, &server, OnRequestSharedMemoryId)
209 IPC_MESSAGE_HANDLER_EX(AppWidgetManager_RequestSharedMemoryIdForPD, &server, OnRequestSharedMemoryIdForPD)
210 IPC_MESSAGE_HANDLER_EX(AppWidgetManager_RequestSyncSharedMemory, &server, OnRequestSyncSharedMemory)
211 IPC_MESSAGE_HANDLER_EX(AppWidgetManager_RequestSyncSharedMemoryForPD, &server, OnRequestSyncSharedMemoryForPD)
212 IPC_MESSAGE_HANDLER_EX(AppWidgetManager_RequestReleaseSharedMemory, &server, OnRequestReleaseSharedMemory)
213 IPC_MESSAGE_HANDLER_EX(AppWidgetManager_RequestReleaseSharedMemoryForPD, &server, OnRequestReleaseSharedMemoryForPD)
214 IPC_MESSAGE_HANDLER_EX(AppWidgetManager_SendResult, &server, OnSendResult)
215 IPC_END_MESSAGE_MAP()
219 _AppWidgetManagerStub::OnIpcServerStarted(const _IpcServer& server)
221 SysLog(NID_SHELL, "\n");
225 _AppWidgetManagerStub::OnIpcServerStopped(const _IpcServer& server)
227 SysLog(NID_SHELL, "\n");
231 _AppWidgetManagerStub::OnIpcClientConnected(const _IpcServer& server, int clientId)
233 SysLog(NID_SHELL, "(clientId:%d)\n", clientId);
238 _AppWidgetManagerStub::OnIpcClientDisconnected(const _IpcServer& server, int clientId)
240 SysLog(NID_SHELL, "(appId:%ls, clientId:%d)\n", server.GetClientApplicationId().GetPointer(), clientId);
243 }}} // Tizen::Shell::App