merge wrt-plugins-tizen_0.2.0-12
[profile/ivi/wrt-plugins-tizen.git] / src / platform / API / Calendar / OnEventsChanged.h
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (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://www.apache.org/licenses/LICENSE-2.0
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 #ifndef _ON_EVENTS_CHANGED_H_
19 #define _ON_EVENTS_CHANGED_H_
20
21 #include <vector>
22 #include <Commons/IEvent.h>
23 #include <dpl/shared_ptr.h>
24 #include <Commons/ListenerEvent.h>
25 #include <Commons/Emitters.h>
26 #include "CalendarEvent.h"
27
28 namespace TizenApis {
29 namespace Api {
30 namespace Calendar {
31
32 class OnEventsChanged : public WrtDeviceApis::Commons::ListenerEvent<OnEventsChanged>
33 {
34     public:
35     typedef enum
36     {
37                 ON_ADD,
38                 ON_UPDATE,
39                 ON_DELETE,
40                 //ON_CALENDAR_RESET
41     } EventChangeStatus;
42
43     void setResult (bool value) {
44         m_result = value;
45     }
46     bool getResult() const {
47         return m_result;
48     }
49
50     void setCalendarType(CalendarEvent::CalendarType value)
51     {
52         m_calendarType = value;
53     }
54     CalendarEvent::CalendarType getCalendarType() const
55     {
56         return m_calendarType;
57     }
58
59     CalendarEventListPtr getEventList() const {
60         return m_eventList;
61     }
62
63     void setStatus(EventChangeStatus value) {
64         m_status = value;
65     }
66     EventChangeStatus getStatus() const {
67         return m_status;
68     }
69
70     void addEvent(CalendarEventPtr value) {
71         m_eventList->push_back(value);
72     }
73
74     OnEventsChanged() : m_result(false) {
75         CalendarEventListPtr events(new CalendarEventList());
76         m_eventList = events;
77     }
78     ~OnEventsChanged() {
79     }
80
81     private:
82     CalendarEventListPtr m_eventList;
83     EventChangeStatus m_status;
84     bool m_result;
85     CalendarEvent::CalendarType m_calendarType;
86 };
87
88 typedef DPL::SharedPtr<OnEventsChanged> OnEventsChangedPtr;
89 typedef WrtDeviceApis::Commons::ListenerEventEmitter<OnEventsChanged> OnEventsChangedEmitter;
90 typedef DPL::SharedPtr<OnEventsChangedEmitter> OnEventsChangedEmitterPtr;
91 typedef WrtDeviceApis::Commons::Emitters<OnEventsChangedEmitter> OnEventsChangedEmitters;
92
93 }
94 }
95 }
96
97 #endif //_ON_EVENTS_CHANGED_H_