2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
8 // http://www.apache.org/licenses/LICENSE-2.0
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.
17 * @file FScl_CalEventInstanceImpl.h
18 * @brief This is the header file for the _CalEventInstanceImpl class.
20 * This header file contains the declarations of the _CalEventInstanceImpl class.
23 #ifndef _FSCL_INTERNAL_CAL_EVENT_INSTANCE_IMPL_H_
24 #define _FSCL_INTERNAL_CAL_EVENT_INSTANCE_IMPL_H_
26 #include <FBaseObject.h>
27 #include <FSclTypes.h>
29 namespace Tizen { namespace Base
35 namespace Tizen { namespace Social
38 class CalEventInstance;
41 * @class _CalEventInstanceImpl
42 * @brief This class provides
44 class _CalEventInstanceImpl
45 : public Tizen::Base::Object
49 * This is the default constructor for this class.
51 _CalEventInstanceImpl(void);
54 * Copying of objects using this copy constructor is allowed.
56 * @param[in] rhs An instance of _CalEventInstanceImpl
58 _CalEventInstanceImpl(const _CalEventInstanceImpl& rhs);
61 * This destructor overrides Tizen::Base::Object::~Object().
63 virtual ~_CalEventInstanceImpl(void);
66 * Compares the input Object with the calling %_CalEventInstanceImpl instance.
68 * @return @c true if the input object equals the calling %_CalEventInstanceImpl instance, @n
70 * @param[in] rhs The object instance to compare with the calling object
72 virtual bool Equals(const Tizen::Base::Object& rhs) const;
75 * Gets the hash value of the current instance.
77 * @return The hash value of the current instance
79 virtual int GetHashCode(void) const;
82 * Gets the original event ID.
86 * @return The original event ID.
88 RecordId GetOriginalEventId(void) const;
91 * Gets the calendar ID.
95 * @return The calendar ID, @n
96 * else @c INVALID_RECORD_ID if the instance is not associated with any calendar.
98 RecordId GetCalendarId(void) const;
101 * Gets the start time.
105 * @return The start time.
107 Tizen::Base::DateTime GetStartTime(void) const;
114 * @return The end time.
116 Tizen::Base::DateTime GetEndTime(void) const;
123 * @return The subject.
125 Tizen::Base::String GetSubject(void) const;
128 * Gets the description.
132 * @return The description.
134 Tizen::Base::String GetDescription(void) const;
141 * @return The location.
143 Tizen::Base::String GetLocation(void) const;
146 * Checks whether the original event of this instance is an all day event.
150 * @return @c true if the original event of this instance is an all day event, @n
153 bool IsAllDayEvent(void) const;
156 * Gets the busy status.
160 * @return The busy status.
162 BusyStatus GetBusyStatus(void) const;
165 * Gets the event status of the original event.
169 * @return The event status of the original event.
171 EventStatus GetStatus(void) const;
174 * Gets the priority level of the original event.
178 * @return The priority level
180 EventPriority GetPriority(void) const;
183 * Gets the sensitivity of the original event.
187 * @return The sensitivity of the original event
189 RecordSensitivity GetSensitivity(void) const;
192 * Checks whether the event instance has a recurring pattern.
196 * @return @c true if the event instance has a recurring pattern, @n
199 bool IsRecurring(void) const;
202 * Checks whether the event instance has reminders.
206 * @return @c true if the event instance has reminders, @n
209 bool HasReminder(void) const;
212 // Sets the original event ID
214 void SetOriginalEventId(RecordId originalEventId);
217 // Sets the calendar ID
219 void SetCalendarId(RecordId calendarId);
222 // Sets the start time
224 void SetStartTime(const Tizen::Base::DateTime& startTime);
229 void SetEndTime(const Tizen::Base::DateTime& endTime);
234 void SetSubject(const Tizen::Base::String& subject);
237 // Sets the description
239 void SetDescription(const Tizen::Base::String& description);
244 void SetLocation(const Tizen::Base::String& location);
247 // Sets whether the event instance is all day event or not
249 void SetAllDayEvent(bool isAllDayEvent);
252 // Sets the busy status
254 void SetBusyStatus(BusyStatus busyStatus);
259 void SetStatus(EventStatus status);
264 void SetPriority(EventPriority priority);
267 // Sets the sensitivity
269 void SetSensitivity(RecordSensitivity sensitivity);
272 // Sets whether the event instance is recurring or not
274 void SetRecurring(bool isRecurring);
277 // Sets whether the event instance is reminder or not
279 void SetHasReminder(bool hasReminder);
282 * Gets the Impl instance.
284 * @return The pointer to _CalEventInstanceImpl
285 * @param[in] eventInstance An instance of %CalEventInstance class
287 static _CalEventInstanceImpl* GetInstance(CalEventInstance& eventInstance);
290 * Gets the Impl instance.
292 * @return The pointer to const _CalEventInstanceImpl
293 * @param[in] eventInstance A const instance of %CalEventInstance class
295 static const _CalEventInstanceImpl* GetInstance(const CalEventInstance& eventInstance);
298 * Copying of objects using this copy assignment operator is allowed.
300 * @param[in] rhs An instance of _CalEventInstanceImpl
302 _CalEventInstanceImpl& operator =(const _CalEventInstanceImpl& rhs);
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;
320 // _CalEventInstanceImpl
324 #endif//_FSCL_INTERNAL_CAL_EVENT_INSTANCE_IMPL_H_