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_AppWidgetManagerProxy.h
19 * @brief This is the header file for the _AppWidgetManagerProxy class.
21 * This header file contains the declarations of the _AppWidgetManagerProxy class.
24 #ifndef _FSHELL_APPWIDGET_MANAGER_PROXY_H_
25 #define _FSHELL_APPWIDGET_MANAGER_PROXY_H_
27 #include <FBaseObject.h>
28 #include <FAppTypes.h>
29 #include <FIo_IIpcClientEventListener.h>
30 #include <FIo_IpcClient.h>
32 namespace Tizen { namespace Base { namespace Collection
36 namespace Tizen { namespace Shell {
39 class _IAppWidgetServiceRequestListener
40 : virtual public Tizen::Base::Runtime::IEventListener
43 virtual ~_IAppWidgetServiceRequestListener(void){}
45 virtual result OnAppWidgetServiceRequestReceived(const Tizen::Base::String& instanceId, const Tizen::Base::String& operationId, const Tizen::Base::Collection::HashMap& args) = 0;
46 virtual result OnTouchEventReceived(const Tizen::Base::String& instanceId, int eventType, double timeStamp, double x, double y ) = 0;
47 virtual result OnTouchEventReceivedForPD(const Tizen::Base::String& instanceId, int eventType, double timeStamp, double x, double y ) = 0;
51 class _AppWidgetManagerProxy
52 : public Tizen::Base::Object
53 , public Tizen::Io::_IIpcClientEventListener
56 _AppWidgetManagerProxy(void);
57 virtual ~_AppWidgetManagerProxy(void);
59 static _AppWidgetManagerProxy* GetInstance();
60 result Construct(void);
62 // messages for public API
63 result RequestUpdate(const Tizen::App::AppId& appId, const Tizen::Base::String& providerName, const Tizen::Base::String& argument);
64 result RequestUpdateInstance(const Tizen::Base::String& instanceId, const Tizen::Base::String& argument);
65 result AcquireRemoteBuffer(const Tizen::Base::String& instanceId, int w, int h, int& bufferId);
66 result AcquireRemoteBufferForPD(const Tizen::Base::String& instanceId, int w, int h, int& bufferId);
67 result SyncRemoteBuffer(const Tizen::Base::String& instanceId, int width, int height, const Tizen::Base::String& screenReaderText);
68 result SyncRemoteBufferForPD(const Tizen::Base::String& instanceId);
69 result ReleaseRemoteBuffer(const Tizen::Base::String& instanceId);
70 result ReleaseRemoteBufferForPD(const Tizen::Base::String& instanceId);
73 result SendAccessStatus(const Tizen::Base::String& instanceId, int accessStatus);
76 result SendResponse(const Tizen::Base::String& instanceId, bool isSucceeded);
78 // Received messages from server
79 virtual result OnAppWidgetServiceRequestReceived(const Tizen::Base::String& instanceId, const Tizen::Base::String& operationId, const Tizen::Base::Collection::HashMap& args);
80 virtual result OnTouchEventReceived(const Tizen::Base::String& instanceId, int eventType, double timeStamp, double x, double y );
81 virtual result OnTouchEventReceivedForPD(const Tizen::Base::String& instanceId, int eventType, double timeStamp, double x, double y );
83 static void SetRequestListener(_IAppWidgetServiceRequestListener* pAppWidgetServiceRequestListener);
86 bool IsConnected(void) const;
87 result MakeConnection(void);
88 virtual void OnIpcResponseReceived(Tizen::Io::_IpcClient& client, const IPC::Message& message);
89 virtual void OnIpcServerDisconnected(Tizen::Io::_IpcClient& client);
92 Tizen::Io::_IpcClient* __pIpcClient;
93 static _IAppWidgetServiceRequestListener* __pAppWidgetServiceRequestListener;
98 #endif /* _FSHELL_APPWIDGET_MANAGER_PROXY_H_ */