use pkgconfig to improve pkg dependency mgmt.
[platform/framework/native/appwidget-service.git] / inc / FShell_AppWidgetManagerStub.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_AppWidgetManagerStub.h
19  * @brief       This is the header file for the %_AppWidgetManagerStub class.
20  *
21  * This header file contains the declarations of the %_AppWidgetManagerStub class.
22  */
23
24 #ifndef _FSHELL_INTERNAL_APPWIDGET_MANAGER_STUB_H_
25 #define _FSHELL_INTERNAL_APPWIDGET_MANAGER_STUB_H_
26
27 #include <FBaseRtIEventListener.h>
28 #include <FIo_IIpcServerEventListener.h>
29
30 namespace Tizen { namespace Base  { namespace Collection
31 {
32 class HashMap;
33 }}}
34
35 namespace Tizen { namespace Shell  { namespace App {
36
37 /**
38  * @class               _AppWidgetManagerStub
39  * @brief               Handles IPC requests and calls real methods.
40  */
41 class _AppWidgetManagerStub
42         : public Tizen::Base::Object
43         , public Tizen::Io::_IIpcServerEventListener
44         , virtual public Tizen::Base::Runtime::IEventListener
45 {
46
47 public:
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);
51
52 protected:
53         _AppWidgetManagerStub(void);
54         virtual ~_AppWidgetManagerStub(void);
55
56         // handlers
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);
68
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;
79
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;
82
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);
87
88         result StartIpcServer(void);
89
90 private:
91         _AppWidgetManagerStub(const _AppWidgetManagerStub& value);
92         _AppWidgetManagerStub& operator =(const _AppWidgetManagerStub& source);
93
94 protected:
95         Tizen::Io::_IpcServer *__pIpcServer;
96
97 };      // class _AppWidgetManagerStub
98
99 }}}     // Tizen::Shell::App
100
101 #endif//_FSHELL_INTERNAL_APPWIDGET_MANAGER_STUB_H_