merge wrt-plugins-tizen_0.2.0-4
[profile/ivi/wrt-plugins-tizen.git] / src / standards / Tizen / Alarm / AlarmRelative.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 TIZENAPIS_API_ALARMRELATIVE_H_
19 #define TIZENAPIS_API_ALARMRELATIVE_H_
20
21 #include <string>
22 #include <vector>
23 #include <dpl/log/log.h>
24 #include <dpl/shared_ptr.h>
25 #include <time.h>
26 #include <app.h>
27 #include "alarm_common.h"
28
29 namespace TizenApis {
30 namespace Api {
31 namespace Alarm {
32
33 using namespace TizenApis::Tizen1_0::Alarm;
34
35 class AlarmRelative;
36 typedef DPL::SharedPtr<AlarmRelative> AlarmRelativePtr;
37 typedef std::vector<AlarmRelativePtr> AlarmRelativeArrayPtr;
38
39 class AlarmRelative
40 {
41   public:
42     typedef enum {
43         ALARM_TYPE_DELAY,
44         ALARM_TYPE_DATE,
45         ALARM_TYPE_INVALID,
46     } alarm_type_e;
47     
48     AlarmRelative();
49     AlarmRelative(service_h handle);
50     ~AlarmRelative();
51     void setIsRecurrence(bool value);
52     int getId() const;
53     void setId(const int id);
54     void setDelay(int delay);
55     int getDelay();
56     bool isRecurrence();
57     void setPeriod(int value);
58     int getPeriod();
59     service_h getService();
60
61   private:
62     int m_id;
63     int m_delay;
64     bool m_isRecurrence;
65     int m_Period;
66     service_h m_service_handle;
67     
68 };
69
70 }
71 }
72 }
73
74 #endif