Beta merge 2
[profile/ivi/wrt-plugins-tizen.git] / src / standards / Tizen / Alarm / AlarmAbsolute.h
1 #ifndef TIZENAPIS_API_ALARMABSOLUTE_H_\r
2 #define TIZENAPIS_API_ALARMABSOLUTE_H_\r
3 \r
4 #include <string>\r
5 #include <vector>
6 #include <dpl/log/log.h>\r
7 #include <dpl/shared_ptr.h>\r
8 #include <time.h>\r
9 #include "AlarmRecurrence.h"\r
10
11 namespace TizenApis {
12 namespace Api {
13 namespace Alarm {\r
14 \r
15 class AlarmAbsolute;\r
16 typedef DPL::SharedPtr<AlarmAbsolute> AlarmAbsolutePtr;\r
17 typedef std::vector<AlarmAbsolutePtr> AlarmAbsoluteArrayPtr;\r
18 \r
19 class AlarmAbsolute\r
20 {
21   public:\r
22     typedef enum {\r
23         ALARM_TYPE_DELAY,
24         ALARM_TYPE_DATE,
25         ALARM_TYPE_INVALID,
26     } alarm_type_e;
27     \r
28     AlarmAbsolute();\r
29     ~AlarmAbsolute();\r
30     AlarmRecurrencePtr getRecurrence();\r
31     void setRecurrence(AlarmRecurrencePtr ptr);\r
32     void setIsRecurrence(bool value);\r
33     int getId() const;\r
34     void setId(const int id);\r
35     void setDate(struct tm date);\r
36     struct tm getDate();\r
37     void setDelay(int delay);\r
38     int getDelay();\r
39     void setAlarmType(alarm_type_e type);\r
40     alarm_type_e getAlarmType();\r
41     bool isRecurrence();\r
42 \r
43   private:\r
44     int m_id;\r
45     int m_delay;\r
46     struct tm m_date;\r
47     bool m_isRecurrence;\r
48     AlarmRecurrencePtr m_alarmRecurrence;\r
49     alarm_type_e m_alarmType;\r
50     \r
51 };\r
52 \r
53 }
54 }
55 }\r
56 \r
57 #endif\r