Beta merge 2
[profile/ivi/wrt-plugins-tizen.git] / src / standards / Tizen / Alarm / AlarmRecurrence.h
1 #ifndef TIZENAPIS_API_ALARMRECURRENCE_H_\r
2 #define TIZENAPIS_API_ALARMRECURRENCE_H_\r
3 \r
4 #include <string>\r
5 #include <vector>
6 #include <dpl/log/log.h>\r
7 #include <dpl/shared_ptr.h>
8
9 namespace TizenApis {
10 namespace Api {
11 namespace Alarm {\r
12 \r
13 class AlarmRecurrence;\r
14 typedef DPL::SharedPtr<AlarmRecurrence> AlarmRecurrencePtr;\r
15 \r
16 class AlarmRecurrence\r
17 {
18   public:\r
19     typedef enum\r
20     {\r
21         NO_RECURRENCE,\r
22         MINUTELY_RECURRENCE = 60,               // The alarm trigger minutely\r
23         HOURLY_RECURRENCE = 3600,               // The alarm trigger hourly\r
24         DAILY_RECURRENCE = 86400,               // The alarm trigger daily\r
25         WEEKLY_RECURRENCE = 604800,              // The alarm trigger weekly\r
26         DAYS_OF_THE_WEEK_RECURRENCE,\r
27         INVALID_RECURRENCE = 1000000,\r
28     } alarm_frequency_e;\r
29     \r
30     AlarmRecurrence();\r
31     ~AlarmRecurrence();\r
32     void setFrequency(AlarmRecurrence::alarm_frequency_e frequency);\r
33     AlarmRecurrence::alarm_frequency_e getFrequency();\r
34     void setInterval(int interval);\r
35     int getInterval();\r
36     void setDaysOfTheWeek(std::vector<std::string> daysOfTheWeek);\r
37     std::vector<std::string> getDaysOfTheWeek();\r
38     void setData(AlarmRecurrencePtr ptr);\r
39 \r
40   private:\r
41     alarm_frequency_e m_frequency;\r
42     int m_interval;\r
43     std::vector<std::string> m_daysOfTheWeek;\r
44 };\r
45 \r
46 \r
47 }\r
48 }
49 }\r
50 \r
51 #endif\r