Update change log and spec for wrt-plugins-tizen_0.4.9
[platform/framework/web/wrt-plugins-tizen.git] / src / Application / EventApplicationLaunchAppControl.h
1 //
2 // Tizen Web Device API
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18
19 #ifndef TIZENAPIS_API_APPLICATION_EVENT_APPLICATION_LAUNCH_APP_CONTROL_H_
20 #define TIZENAPIS_API_APPLICATION_EVENT_APPLICATION_LAUNCH_APP_CONTROL_H_
21
22 #include <Commons/IEvent.h>
23 #include <dpl/shared_ptr.h>
24 #include "ApplicationControl.h"
25 #include "ApplicationControlData.h"
26
27 namespace DeviceAPI {
28 namespace Application {
29
30 class EventApplicationLaunchAppControlReply;
31 typedef DPL::SharedPtr<EventApplicationLaunchAppControlReply> EventApplicationLaunchAppControlReplyPtr;
32
33 class EventApplicationLaunchAppControl : public WrtDeviceApis::Commons::IEvent<EventApplicationLaunchAppControl>
34 {
35 private:
36         /* parameters */
37         ApplicationControlPtr   m_appControl;
38         std::string             m_appId;
39
40         EventApplicationLaunchAppControlReplyPtr   m_eventReply;
41
42 public:
43         void setAppControl(ApplicationControlPtr &appControl)
44         {
45                 m_appControl = appControl;
46         }
47
48         ApplicationControlPtr getAppControl() const
49         {
50                 return m_appControl;
51         }
52
53         void setAppId(std::string appId)
54         {
55                 m_appId = appId;
56         }
57
58         std::string getAppId()
59         {
60                 return m_appId;
61         }
62
63         void setEventReply(EventApplicationLaunchAppControlReplyPtr &eventReply)
64         {
65                 m_eventReply = eventReply;
66         }
67
68         EventApplicationLaunchAppControlReplyPtr getEventReply() const
69         {
70                 return m_eventReply;
71         }
72
73         EventApplicationLaunchAppControl() :
74                 m_appControl(NULL),
75                 m_eventReply(NULL)
76         {
77         }
78 };
79
80 typedef DPL::SharedPtr<EventApplicationLaunchAppControl> EventApplicationLaunchAppControlPtr;
81
82 class EventApplicationLaunchAppControlReply : public WrtDeviceApis::Commons::IEvent<EventApplicationLaunchAppControlReply>
83 {
84 private:
85         ApplicationControlDataArrayPtr m_appControlDataArray;
86
87 public:
88         void addAppControlData(std::string &key, std::vector<std::string> &value)
89         {
90                 ApplicationControlDataPtr appControlData(new ApplicationControlData());
91                 appControlData->setKey(key);
92                 appControlData->setValue(value);
93
94                 m_appControlDataArray->push_back(appControlData);
95         }
96  
97         void setAppControlDataArray(ApplicationControlDataArrayPtr &appControlDataArray)
98         {
99                 m_appControlDataArray = appControlDataArray;
100         }
101
102         ApplicationControlDataArrayPtr getAppControlDataArray() const
103         {
104                 return m_appControlDataArray;
105         }
106         
107         EventApplicationLaunchAppControlReply() :
108                 m_appControlDataArray(new ApplicationControlDataArray())
109         {
110         }               
111 };
112
113 } // Application
114 } // DeviceAPI
115
116 #endif // TIZENAPIS_API_APPLICATION_EVENT_APPLICATION_LAUNCH_APP_CONTROL_H_