Wed Jan 8 2020 09:49:55

Asterisk developer's documentation


app_sayunixtime.c File Reference

SayUnixTime application. More...

#include "asterisk.h"
#include "asterisk/file.h"
#include "asterisk/channel.h"
#include "asterisk/pbx.h"
#include "asterisk/module.h"
#include "asterisk/say.h"
#include "asterisk/app.h"

Go to the source code of this file.

Functions

static void __reg_module (void)
 
static void __unreg_module (void)
 
static int load_module (void)
 
static int sayunixtime_exec (struct ast_channel *chan, const char *data)
 
static int unload_module (void)
 

Variables

static struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "Say time" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "ac1f6a56484a8820659555499174e588" , .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_DEFAULT, }
 
static char * app_datetime = "DateTime"
 
static char * app_sayunixtime = "SayUnixTime"
 
static struct ast_module_infoast_module_info = &__mod_info
 

Detailed Description

Function Documentation

static void __reg_module ( void  )
static

Definition at line 146 of file app_sayunixtime.c.

static void __unreg_module ( void  )
static

Definition at line 146 of file app_sayunixtime.c.

static int load_module ( void  )
static

Definition at line 136 of file app_sayunixtime.c.

References ast_register_application_xml, and sayunixtime_exec().

137 {
138  int res;
139 
142 
143  return res;
144 }
static char * app_sayunixtime
static int sayunixtime_exec(struct ast_channel *chan, const char *data)
static char * app_datetime
#define ast_register_application_xml(app, execute)
Register an application using XML documentation.
Definition: module.h:437
static int sayunixtime_exec ( struct ast_channel chan,
const char *  data 
)
static

Definition at line 96 of file app_sayunixtime.c.

References ast_channel::_state, args, ast_answer(), AST_APP_ARG, AST_DECLARE_APP_ARGS, AST_DIGIT_ANY, ast_get_time_t(), ast_say_date_with_format, AST_STANDARD_APP_ARGS, AST_STATE_UP, ast_strdupa, format, ast_channel::language, and parse().

Referenced by load_module().

97 {
99  AST_APP_ARG(timeval);
100  AST_APP_ARG(timezone);
102  );
103  char *parse;
104  int res = 0;
105  time_t unixtime;
106 
107  if (!data)
108  return 0;
109 
110  parse = ast_strdupa(data);
111 
112  AST_STANDARD_APP_ARGS(args, parse);
113 
114  ast_get_time_t(args.timeval, &unixtime, time(NULL), NULL);
115 
116  if (chan->_state != AST_STATE_UP)
117  res = ast_answer(chan);
118 
119  if (!res)
120  res = ast_say_date_with_format(chan, unixtime, AST_DIGIT_ANY,
121  chan->language, args.format, args.timezone);
122 
123  return res;
124 }
#define AST_DIGIT_ANY
Definition: file.h:47
#define AST_DECLARE_APP_ARGS(name, arglist)
Declare a structure to hold an application's arguments.
Definition: app.h:572
int ast_get_time_t(const char *src, time_t *dst, time_t _default, int *consumed)
get values from config variables.
Definition: utils.c:2118
#define ast_strdupa(s)
duplicate a string in memory from the stack
Definition: utils.h:663
static struct @350 args
enum ast_channel_state _state
Definition: channel.h:839
static void parse(struct mgcp_request *req)
Definition: chan_mgcp.c:1858
SAY_EXTERN int(* ast_say_date_with_format)(struct ast_channel *chan, time_t t, const char *ints, const char *lang, const char *format, const char *timezone) SAY_INIT(ast_say_date_with_format)
Definition: say.h:168
int ast_answer(struct ast_channel *chan)
Answer a channel.
Definition: channel.c:3086
#define AST_APP_ARG(name)
Define an application argument.
Definition: app.h:555
#define AST_STANDARD_APP_ARGS(args, parse)
Performs the 'standard' argument separation process for an application.
Definition: app.h:604
static snd_pcm_format_t format
Definition: chan_alsa.c:93
const ast_string_field language
Definition: channel.h:787
static int unload_module ( void  )
static

Definition at line 126 of file app_sayunixtime.c.

References ast_unregister_application().

127 {
128  int res;
129 
132 
133  return res;
134 }
static char * app_sayunixtime
int ast_unregister_application(const char *app)
Unregister an application.
Definition: pbx.c:7705
static char * app_datetime

Variable Documentation

struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "Say time" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "ac1f6a56484a8820659555499174e588" , .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_DEFAULT, }
static

Definition at line 146 of file app_sayunixtime.c.

char* app_datetime = "DateTime"
static

Definition at line 94 of file app_sayunixtime.c.

char* app_sayunixtime = "SayUnixTime"
static

Definition at line 93 of file app_sayunixtime.c.

Definition at line 146 of file app_sayunixtime.c.