Git init
[framework/appfw/alarm-manager.git] / test / test_get_list_of_ids.c
1 /*
2  *  alarm-manager
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Venkatesha Sarpangala <sarpangala.v@samsung.com>, Jayoun Lee <airjany@samsung.com>,
7  * Sewook Park <sewook7.park@samsung.com>, Jaeho Lee <jaeho81.lee@samsung.com>
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  */
22
23 #include<stdio.h>
24 #include<stdlib.h>
25 #include<glib.h>
26
27 #include "alarm.h"
28
29 int callback(alarm_id_t alarm_id)
30 {
31     int error;
32     time_t current_time;
33     time(&current_time);
34
35     printf("Alarm[%d] has expired at %s\n", alarm_id, ctime(&current_time));
36
37     return 0;
38
39 }
40
41
42
43 void create_test()
44 {
45     time_t current_time;
46     struct tm current_tm;
47     alarm_info_t alarm_info;
48
49     alarm_id_t alarm_id_1;
50     alarm_id_t alarm_id_2;
51
52     int error_code;
53         bool result = false;
54
55
56     time(&current_time);
57
58     printf("current time: %s\n", ctime(&current_time));
59     localtime_r(&current_time, &current_tm);
60
61     alarm_info.start.year = 0;
62     alarm_info.start.month = 0;
63     alarm_info.start.day = 0;
64
65     alarm_info.end.year = 2008;
66     alarm_info.end.month = 12;
67     alarm_info.end.day = 31;
68
69     alarm_info.start.hour = current_tm.tm_hour;
70     alarm_info.start.min = current_tm.tm_min+1;
71
72     alarm_info.mode.day_of_week = 0;
73     alarm_info.mode.repeat = ALARM_REPEAT_MODE_ONCE;
74
75     alarm_info.activation = true;
76     alarm_info.auto_powerup = false;
77
78     result = alarm_create(&alarm_info, &alarm_id_1, &error_code);
79         if (!result)
80         {
81                 printf("test 1 failed: %d\n", error_code);
82         }
83
84
85     alarm_info.start.min = current_tm.tm_min+2;
86
87     result = alarm_create(&alarm_info, &alarm_id_2, &error_code);
88     if (!result)
89     {
90         printf("test 2 failed: %d\n", error_code);
91     }
92
93     alarm_info.start.min = current_tm.tm_min+2;
94
95     int num_of_ids = 0;
96     result = alarm_get_number_of_ids(&num_of_ids, &error_code);
97
98     if (!result)
99     {
100         printf("test 3 failed: %d\n", error_code);
101     }
102
103     printf("number of alarm is %d\n", num_of_ids);
104
105         int max = num_of_ids;
106         alarm_id_t ids[100];
107
108         result = alarm_get_list_of_ids(max, ids, &num_of_ids, &error_code);
109     if (!result)
110     {
111         printf("test 4 failed: %d\n", error_code);
112     }
113
114         printf("number of alarm in list is %d\n", num_of_ids);
115
116         int i = 0;
117         for( i = 0; i < num_of_ids; i++)
118         {
119                 printf("alarm id %d\n", ids[i]);
120         }
121
122         
123
124 }
125
126
127
128 int main(int argc, char** argv)
129 {
130     int error_code;
131     GMainLoop *mainloop;
132     mainloop = g_main_loop_new(NULL, FALSE);
133
134     alarm_init(&error_code);
135     alarm_set_cb(callback, &error_code);
136
137     create_test();
138
139     g_main_loop_run(mainloop);
140
141     alarm_fini(&error_code);
142 }