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.h
19 * @brief This is the header file for the %_AppWidgetManagerStub class.
21 * This header file contains the declarations of the %_AppWidgetManagerStub class.
24 #ifndef _FSHELL_INTERNAL_APPWIDGET_MANAGER_STUB_H_
25 #define _FSHELL_INTERNAL_APPWIDGET_MANAGER_STUB_H_
27 #include <FBaseRtIEventListener.h>
28 #include <FIo_IIpcServerEventListener.h>
30 namespace Tizen { namespace Base { namespace Collection
35 namespace Tizen { namespace Shell { namespace App {
38 * @class _AppWidgetManagerStub
39 * @brief Handles IPC requests and calls real methods.
41 class _AppWidgetManagerStub
42 : public Tizen::Base::Object
43 , public Tizen::Io::_IIpcServerEventListener
44 , virtual public Tizen::Base::Runtime::IEventListener
48 bool SendAppWidgetEvent(const int clientId, const Tizen::Base::String& instanceId, const Tizen::Base::String& operationId, Tizen::Base::Collection::HashMap* pArgs);
49 bool SendTouchEvent(const int clientId, const Tizen::Base::String& instanceId, int eventType, double timestamp, double x, double y);
50 bool SendTouchEventForPD(const int clientId, const Tizen::Base::String& instanceId, int eventType, double timestamp, double x, double y);
53 _AppWidgetManagerStub(void);
54 virtual ~_AppWidgetManagerStub(void);
57 bool OnRequestUpdate(const Tizen::App::AppId& appId, const Tizen::Base::String& providerName, const Tizen::Base::String& argument, result* pRes);
58 bool OnRequestUpdateInstance(const Tizen::Base::String& instanceId, const Tizen::Base::String& argument, result* pRes);
59 bool OnAcquireRemoteBuffer(const Tizen::Base::String& instanceId, int width, int height, int* pBufferId);
60 bool OnAcquireRemoteBufferForPD(const Tizen::Base::String& instanceId, int width, int height, int* pBufferId);
61 bool OnSyncRemoteBuffer(const Tizen::Base::String& instanceId, int width, int height, result* pRes);
62 bool OnSyncRemoteBufferForPD(const Tizen::Base::String& instanceId, result* pRes);
63 bool OnReleaseRemoteBuffer(const Tizen::Base::String& instanceId, result* pRes);
64 bool OnReleaseRemoteBufferForPD(const Tizen::Base::String& instanceId, result* pRes);
65 bool OnRequestProviderCount(const Tizen::Base::String& instanceId, int* pProviderCount);
66 bool OnSendResult(const Tizen::Base::String& instanceId, bool isSucceeded);
67 bool OnSendAccessStatus(const Tizen::Base::String& instanceId, int accessStatus);
69 // interface to service
70 virtual result RequestUpdate(const Tizen::App::AppId& appId, const Tizen::Base::String& providerName, const Tizen::Base::String& argument) const = 0;
71 virtual result RequestUpdateInstance(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, const Tizen::Base::String& argument) = 0;
72 virtual result AcquireRemoteBuffer(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int width, int height, int& bufferId) = 0;
73 virtual result AcquireRemoteBufferForPD(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int width, int height, int& bufferId) = 0;
74 virtual result SyncRemoteBuffer(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int width, int height) = 0;
75 virtual result SyncRemoteBufferForPD(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId) = 0;
76 virtual result ReleaseRemoteBuffer(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId) = 0;
77 virtual result ReleaseRemoteBufferForPD(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId) = 0;
78 virtual result SendAccessStatus(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int accessStatus) = 0;
80 virtual result RequestProviderCount(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, int& pProviderCount) = 0;
81 virtual result SendResult(const Tizen::App::AppId& appId, const Tizen::Base::String& instanceId, bool isSucceeded) = 0;
83 // _IIpcServerEventListener
84 virtual void OnIpcServerStarted(const Tizen::Io::_IpcServer& server);
85 virtual void OnIpcServerStopped(const Tizen::Io::_IpcServer& server);
86 virtual void OnIpcRequestReceived(Tizen::Io::_IpcServer& server, const IPC::Message& message);
88 result StartIpcServer(void);
91 _AppWidgetManagerStub(const _AppWidgetManagerStub& value);
92 _AppWidgetManagerStub& operator =(const _AppWidgetManagerStub& source);
95 Tizen::Io::_IpcServer *__pIpcServer;
97 }; // class _AppWidgetManagerStub
99 }}} // Tizen::Shell::App
101 #endif//_FSHELL_INTERNAL_APPWIDGET_MANAGER_STUB_H_