ffb7e44247d2a9064cd7ac886c201106f862e754
[framework/appfw/alarm-manager.git] / test / alarm_create_test.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,void* user_param)
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 void create_test()
42 {
43         time_t current_time;
44         struct tm current_tm;
45         alarm_entry_t* alarm_info;
46         alarm_id_t alarm_id;
47         int result;
48         alarm_date_t test_time;
49
50         time(&current_time);
51
52         printf("current time: %s\n", ctime(&current_time));
53         localtime_r(&current_time, &current_tm);
54         
55         alarm_info = alarmmgr_create_alarm();
56         
57         test_time.year = current_tm.year;                 
58                                 test_time.month = current_tm.mon;                
59                                 test_time.day = current_tm.mday;                  
60                                                  
61                                 test_time.hour = current_tm.tm_hour;
62                                 test_time.min = current_tm.tm_min+1;
63                                 test_time.sec = 0;
64
65         
66         alarmmgr_set_time(alarm_info,test_time);
67         alarmmgr_set_repeat_mode(alarm_info,ALARM_REPEAT_MODE_WEEKLY,ALARM_WDAY_MONDAY| \
68                                                                                                                                                         ALARM_WDAY_TUESDAY|ALARM_WDAY_WEDNESDAY| \
69                                             ALARM_WDAY_THURSDAY|ALARM_WDAY_FRIDAY );
70
71         alarmmgr_set_type(alarm_info,ALARM_TYPE_VOLATILE);
72         alarmmgr_add_alarm_with_localtime(alarm_info,NULL,&alarm_id);
73
74                 if(result < 0)
75                         printf("fail to alarmmgr_create : error_code : %d\n",result);
76         
77 }
78
79 int main(int argc, char** argv)
80 {       
81         int error_code;
82         GMainLoop *mainloop;
83                 int result;
84         
85         g_type_init();
86         
87         mainloop = g_main_loop_new(NULL, FALSE);
88                 
89         result = alarmmgr_init("org.tizen.test");
90
91                 if(result<0)
92                 {
93                         printf("fail to alarmmgr_init : error_code : %d\n",result);
94                 }
95                 else{
96                         
97            result = alarmmgr_set_cb(callback,NULL);
98
99                    if(result<0)
100                         {
101                                 printf("fail to alarmmgr_set_cb : error_code : %d\n",result);
102                         }
103                         else{
104                                 create_test();
105                         }
106                 }
107
108         g_main_loop_run(mainloop);
109 }
110
111