Use find_user for existsmailbox
[asterisk/asterisk.git] / apps / app_datetime.c
1 /*
2  * Asterisk -- A telephony toolkit for Linux.
3  *
4  * Time of day - Report the time of day
5  * 
6  * Copyright (C) 1999, Mark Spencer
7  *
8  * Mark Spencer <markster@linux-support.net>
9  *
10  * This program is free software, distributed under the terms of
11  * the GNU General Public License
12  */
13
14 #include <asterisk/lock.h>
15 #include <asterisk/file.h>
16 #include <asterisk/logger.h>
17 #include <asterisk/channel.h>
18 #include <asterisk/pbx.h>
19 #include <asterisk/module.h>
20 #include <asterisk/say.h>
21 #include <stdlib.h>
22 #include <unistd.h>
23 #include <string.h>
24 #include <stdlib.h>
25
26 #include <pthread.h>
27
28
29 static char *tdesc = "Date and Time";
30
31 static char *app = "DateTime";
32
33 static char *synopsis = "Say the date and time";
34
35 static char *descrip = 
36 "  DateTime():  Says the current date and time.  Returns -1 on hangup or 0\n"
37 "otherwise.\n";
38
39 STANDARD_LOCAL_USER;
40
41 LOCAL_USER_DECL;
42
43 static int datetime_exec(struct ast_channel *chan, void *data)
44 {
45         int res=0;
46         time_t t;
47         struct localuser *u;
48         LOCAL_USER_ADD(u);
49         time(&t);
50         if (chan->_state != AST_STATE_UP)
51                 res = ast_answer(chan);
52         if (!res)
53                 res = ast_say_datetime(chan, t, "", chan->language);
54         LOCAL_USER_REMOVE(u);
55         return res;
56 }
57
58 int unload_module(void)
59 {
60         STANDARD_HANGUP_LOCALUSERS;
61         return ast_unregister_application(app);
62 }
63
64 int load_module(void)
65 {
66         return ast_register_application(app, datetime_exec, synopsis, descrip);
67 }
68
69 char *description(void)
70 {
71         return tdesc;
72 }
73
74 int usecount(void)
75 {
76         int res;
77         STANDARD_USECOUNT(res);
78         return res;
79 }
80
81 char *key()
82 {
83         return ASTERISK_GPL_KEY;
84 }