Added screenReaderText param for Sync()
[platform/framework/native/shell.git] / src / inc / FShell_AppWidgetManagerProxy.h
1 //
2 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
3 //
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
7 //
8 //     http://floralicense.org/license/
9 //
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.
15 //
16
17 /**
18  * @file        FShell_AppWidgetManagerProxy.h
19  * @brief       This is the header file for the _AppWidgetManagerProxy class.
20  *
21  * This header file contains the declarations of the _AppWidgetManagerProxy class.
22  */
23
24 #ifndef _FSHELL_APPWIDGET_MANAGER_PROXY_H_
25 #define _FSHELL_APPWIDGET_MANAGER_PROXY_H_
26
27 #include <FBaseObject.h>
28 #include <FAppTypes.h>
29 #include <FIo_IIpcClientEventListener.h>
30 #include <FIo_IpcClient.h>
31
32 namespace Tizen { namespace Base  { namespace Collection
33 {
34 class HashMap;
35 }}}
36 namespace Tizen { namespace Shell {
37
38
39 class _IAppWidgetServiceRequestListener
40         : virtual public Tizen::Base::Runtime::IEventListener
41 {
42 public:
43         virtual ~_IAppWidgetServiceRequestListener(void){}
44
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;
48 };
49
50
51 class _AppWidgetManagerProxy
52         : public Tizen::Base::Object
53         , public Tizen::Io::_IIpcClientEventListener
54 {
55 public:
56         _AppWidgetManagerProxy(void);
57         virtual ~_AppWidgetManagerProxy(void);
58
59         static _AppWidgetManagerProxy* GetInstance();
60         result Construct(void);
61
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);
71
72         // internal message
73         result SendAccessStatus(const Tizen::Base::String& instanceId, int accessStatus);
74
75         // response
76         result SendResponse(const Tizen::Base::String& instanceId, bool isSucceeded);
77
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 );
82
83         static void SetRequestListener(_IAppWidgetServiceRequestListener* pAppWidgetServiceRequestListener);
84
85 private:
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);
90
91 private:
92         Tizen::Io::_IpcClient* __pIpcClient;
93         static _IAppWidgetServiceRequestListener* __pAppWidgetServiceRequestListener;
94 };
95
96 }} // Tizen::Shell
97
98 #endif /* _FSHELL_APPWIDGET_MANAGER_PROXY_H_ */