Fix the boiler plate codes
[framework/osp/social.git] / src / inc / FScl_CalEventInstanceImpl.h
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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  * @file                FScl_CalEventInstanceImpl.h
18  * @brief       This is the header file for the _CalEventInstanceImpl class.
19  *
20  * This header file contains the declarations of the _CalEventInstanceImpl class.
21  */
22
23 #ifndef _FSCL_INTERNAL_CAL_EVENT_INSTANCE_IMPL_H_
24 #define _FSCL_INTERNAL_CAL_EVENT_INSTANCE_IMPL_H_
25
26 #include <FBaseObject.h>
27 #include <FSclTypes.h>
28
29 namespace Tizen { namespace Base
30 {
31 class String;
32 class DateTime;
33 } }
34
35 namespace Tizen { namespace Social
36 {
37
38 class CalEventInstance;
39
40 /**
41  *      @class  _CalEventInstanceImpl
42  *      @brief  This class provides
43  */
44 class _CalEventInstanceImpl
45         : public Tizen::Base::Object
46 {
47 public:
48         /**
49          * This is the default constructor for this class.
50          */
51         _CalEventInstanceImpl(void);
52
53         /**
54          * Copying of objects using this copy constructor is allowed.
55          *
56          * @param[in]   rhs             An instance of _CalEventInstanceImpl
57          */
58         _CalEventInstanceImpl(const _CalEventInstanceImpl& rhs);
59
60         /**
61          * This destructor overrides Tizen::Base::Object::~Object().
62          */
63         virtual ~_CalEventInstanceImpl(void);
64
65         /**
66          * Compares the input Object with the calling %_CalEventInstanceImpl instance.
67          *
68          * @return              @c true if the input object equals the calling %_CalEventInstanceImpl instance, @n
69          else @c false
70          * @param[in]   rhs     The object instance to compare with the calling object
71          */
72         virtual bool Equals(const Tizen::Base::Object& rhs) const;
73
74         /**
75          * Gets the hash value of the current instance.
76          *
77          * @return              The hash value of the current instance
78          */
79         virtual int GetHashCode(void) const;
80
81         /**
82          * Gets the original event ID.
83          *
84          * @since       2.0
85          *
86          * @return              The original event ID.
87          */
88         RecordId GetOriginalEventId(void) const;
89
90         /**
91          * Gets the calendar ID.
92          *
93          * @since       2.0
94          *
95          * @return              The calendar ID, @n
96          *                              else @c INVALID_RECORD_ID if the instance is not associated with any calendar.
97          */
98         RecordId GetCalendarId(void) const;
99
100         /**
101          * Gets the start time.
102          *
103          * @since       2.0
104          *
105          * @return              The start time.
106          */
107         Tizen::Base::DateTime GetStartTime(void) const;
108
109         /**
110          * Gets the end time.
111          *
112          * @since       2.0
113          *
114          * @return              The end time.
115          */
116         Tizen::Base::DateTime GetEndTime(void) const;
117
118         /**
119          * Gets the subject.
120          *
121          * @since       2.0
122          *
123          * @return              The subject.
124          */
125         Tizen::Base::String GetSubject(void) const;
126
127         /**
128          * Gets the description.
129          *
130          * @since       2.0
131          *
132          * @return              The description.
133          */
134         Tizen::Base::String GetDescription(void) const;
135
136         /**
137          * Gets the location.
138          *
139          * @since       2.0
140          *
141          * @return              The location.
142          */
143         Tizen::Base::String GetLocation(void) const;
144
145         /**
146          * Checks whether the original event of this instance  is an all day event.
147          *
148          * @since       2.0
149          *
150          * @return              @c true if the original event of this instance is an all day event, @n
151          *                              else @c false
152          */
153         bool IsAllDayEvent(void) const;
154
155         /**
156          * Gets the busy status.
157          *
158          * @since       2.0
159          *
160          * @return              The busy status.
161          */
162         BusyStatus GetBusyStatus(void) const;
163
164         /**
165          * Gets the event status of the original event.
166          *
167          * @since       2.0
168          *
169          * @return              The event status of the original event.
170          */
171         EventStatus GetStatus(void) const;
172
173         /**
174          * Gets the priority level of the original event.
175          *
176          * @since       2.0
177          *
178          * @return              The priority level
179          */
180         EventPriority GetPriority(void) const;
181
182         /**
183          * Gets the sensitivity of the original event.
184          *
185          * @since       2.0
186          *
187          * @return              The sensitivity of the original event
188          */
189         RecordSensitivity GetSensitivity(void) const;
190
191         /**
192          * Checks whether the event instance has a recurring pattern.
193          *
194          * @since       2.0
195          *
196          * @return              @c true if the event instance has a recurring pattern, @n
197          *                              else @c false
198          */
199         bool IsRecurring(void) const;
200
201         /**
202          * Checks whether the event instance has reminders.
203          *
204          * @since       2.0
205          *
206          * @return              @c true if the event instance has reminders, @n
207          *                              else @c false
208          */
209         bool HasReminder(void) const;
210
211         //
212         // Sets the original event ID
213         //
214         void SetOriginalEventId(RecordId originalEventId);
215
216         //
217         // Sets the calendar ID
218         //
219         void SetCalendarId(RecordId calendarId);
220
221         //
222         // Sets the start time
223         //
224         void SetStartTime(const Tizen::Base::DateTime& startTime);
225
226         //
227         // Sets the end time
228         //
229         void SetEndTime(const Tizen::Base::DateTime& endTime);
230
231         //
232         // Sets the subject
233         //
234         void SetSubject(const Tizen::Base::String& subject);
235
236         //
237         // Sets the description
238         //
239         void SetDescription(const Tizen::Base::String& description);
240
241         //
242         // Sets the location
243         //
244         void SetLocation(const Tizen::Base::String& location);
245
246         //
247         // Sets whether the event instance is all day event or not
248         //
249         void SetAllDayEvent(bool isAllDayEvent);
250
251         //
252         // Sets the busy status
253         //
254         void SetBusyStatus(BusyStatus busyStatus);
255
256         //
257         // Sets the status
258         //
259         void SetStatus(EventStatus status);
260
261         //
262         // Sets the priority
263         //
264         void SetPriority(EventPriority priority);
265
266         //
267         // Sets the sensitivity
268         //
269         void SetSensitivity(RecordSensitivity sensitivity);
270
271         //
272         // Sets whether the event instance is recurring or not
273         //
274         void SetRecurring(bool isRecurring);
275
276         //
277         // Sets whether the event instance is reminder or not
278         //
279         void SetHasReminder(bool hasReminder);
280
281         /**
282          * Gets the Impl instance.
283          *
284          * @return                      The pointer to _CalEventInstanceImpl
285          * @param[in]   eventInstance           An instance of %CalEventInstance class
286          */
287         static _CalEventInstanceImpl* GetInstance(CalEventInstance& eventInstance);
288
289         /**
290          * Gets the Impl instance.
291          *
292          * @return                      The pointer to const _CalEventInstanceImpl
293          * @param[in]   eventInstance           A const instance of %CalEventInstance class
294          */
295         static const _CalEventInstanceImpl* GetInstance(const CalEventInstance& eventInstance);
296
297         /**
298          * Copying of objects using this copy assignment operator is allowed.
299          *
300          * @param[in]   rhs             An instance of _CalEventInstanceImpl
301          */
302         _CalEventInstanceImpl& operator =(const _CalEventInstanceImpl& rhs);
303
304 private:
305         RecordId __originalEventId;
306         RecordId __calendarId;
307         Tizen::Base::DateTime __startDateTime;
308         Tizen::Base::DateTime __endDateTime;
309         Tizen::Base::String __subject;
310         Tizen::Base::String __description;
311         Tizen::Base::String __location;
312         bool __isAllDayEvent;
313         BusyStatus __busyStatus;
314         EventStatus __status;
315         EventPriority __priority;
316         RecordSensitivity __sensitivity;
317         bool __isRecurring;
318         bool __hasReminder;
319 };
320 // _CalEventInstanceImpl
321
322 }} // Tizen::Social
323
324 #endif//_FSCL_INTERNAL_CAL_EVENT_INSTANCE_IMPL_H_