tizen 2.3.1 release
[framework/web/wearable/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 :
34         public WrtDeviceApis::Commons::IEvent<EventApplicationLaunchAppControl>
35 {
36 private:
37     /* parameters */
38     ApplicationControlPtr   m_appControl;
39     std::string             m_appId;
40
41     EventApplicationLaunchAppControlReplyPtr   m_eventReply;
42
43 public:
44     void setAppControl(ApplicationControlPtr &appControl)
45     {
46         LOGD("Entered");
47         m_appControl = appControl;
48     }
49
50     ApplicationControlPtr getAppControl() const
51     {
52         LOGD("Entered");
53         return m_appControl;
54     }
55
56     void setAppId(std::string appId)
57     {
58         LOGD("Entered");
59         m_appId = appId;
60     }
61
62     std::string getAppId()
63     {
64         LOGD("Entered");
65         return m_appId;
66     }
67
68     void setEventReply(EventApplicationLaunchAppControlReplyPtr &eventReply)
69     {
70         LOGD("Entered");
71         m_eventReply = eventReply;
72     }
73
74     EventApplicationLaunchAppControlReplyPtr getEventReply() const
75     {
76         LOGD("Entered");
77         return m_eventReply;
78     }
79
80     EventApplicationLaunchAppControl() :
81         m_appControl(static_cast<ApplicationControl*>(NULL)),
82         m_eventReply(static_cast<EventApplicationLaunchAppControlReply*>(NULL))
83     {
84         LOGD("Entered");
85     }
86 };
87
88 typedef DPL::SharedPtr<EventApplicationLaunchAppControl> EventApplicationLaunchAppControlPtr;
89
90 class EventApplicationLaunchAppControlReply :
91         public WrtDeviceApis::Commons::IEvent<EventApplicationLaunchAppControlReply>
92 {
93 private:
94     ApplicationControlDataArrayPtr m_appControlDataArray;
95
96 public:
97     void addAppControlData(std::string &key, std::vector<std::string> &value)
98     {
99         LOGD("Entered");
100         ApplicationControlDataPtr appControlData(new ApplicationControlData());
101         appControlData->setKey(key);
102         appControlData->setValue(value);
103
104         m_appControlDataArray->push_back(appControlData);
105     }
106
107     void setAppControlDataArray(ApplicationControlDataArrayPtr &appControlDataArray)
108     {
109         LOGD("Entered");
110         m_appControlDataArray = appControlDataArray;
111     }
112
113     ApplicationControlDataArrayPtr getAppControlDataArray() const
114     {
115         LOGD("Entered");
116         return m_appControlDataArray;
117     }
118
119     EventApplicationLaunchAppControlReply() :
120         m_appControlDataArray(new ApplicationControlDataArray())
121     {
122         LOGD("Entered");
123     }
124 };
125
126 } // Application
127 } // DeviceAPI
128
129 #endif // TIZENAPIS_API_APPLICATION_EVENT_APPLICATION_LAUNCH_APP_CONTROL_H_