aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_groupcount.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-05-05 05:39:33 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-05-05 05:39:33 +0000
commit6a262d98eeee9e0b4bfac92d88aacad6c4fab935 (patch)
treed1f6c678019f87fb5730998dc62af2c209dc66d6 /apps/app_groupcount.c
parent7fe9220d99afa1950199d7effe66b81aa2ec64b7 (diff)
major re-work of dialplan functions, including:
- locking of functions list during registration/unregistration/searching - rename of function description structure to be consistent with the rest of the API - addition of 'desc' element to description structure, for detailed description (like applications) - addition of 'show function' CLI command to show function details - conversion of existing functions to use uppercase names to match policy - creation of new 'pbx_functions.so' module to contain standard 'builtin' functions - removal of all builtin functions from pbx.c and apps and placement into new 'funcs' directory git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5583 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_groupcount.c')
-rwxr-xr-xapps/app_groupcount.c66
1 files changed, 0 insertions, 66 deletions
diff --git a/apps/app_groupcount.c b/apps/app_groupcount.c
index 1531f90af..6dcff608a 100755
--- a/apps/app_groupcount.c
+++ b/apps/app_groupcount.c
@@ -34,68 +34,6 @@ LOCAL_USER_DECL;
static int deprecation_warning = 0;
-static char *group_count_function_read(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
-{
- int count;
- struct localuser *u;
- char group[80] = "";
- char category[80] = "";
- char *grp;
-
- LOCAL_USER_ADD(u);
-
- ast_app_group_split_group(data, group, sizeof(group), category, sizeof(category));
-
- if (ast_strlen_zero(group)) {
- grp = pbx_builtin_getvar_helper(chan, category);
- strncpy(group, grp, sizeof(group) - 1);
- }
-
- count = ast_app_group_get_count(group, category);
- snprintf(buf, len, "%d", count);
-
- LOCAL_USER_REMOVE(u);
-
- return buf;
-}
-
-static struct ast_custom_function_obj group_count_function_obj = {
- .name = "GROUP_COUNT",
- .desc = "Calculates the group count for the specified group, or uses the current channel's group if not specifed (and non-empty).",
- .syntax = "GROUP_COUNT([groupname][@category])",
- .read = group_count_function_read,
- .write = NULL,
-};
-
-static char *group_match_count_function_read(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len)
-{
- int count;
- struct localuser *u;
- char group[80] = "";
- char category[80] = "";
-
- LOCAL_USER_ADD(u);
-
- ast_app_group_split_group(data, group, sizeof(group), category, sizeof(category));
-
- if (!ast_strlen_zero(group)) {
- count = ast_app_group_match_get_count(group, category);
- snprintf(buf, len, "%d", count);
- }
-
- LOCAL_USER_REMOVE(u);
-
- return buf;
-}
-
-static struct ast_custom_function_obj group_match_count_function_obj = {
- .name = "GROUP_MATCH_COUNT",
- .desc = "Calculates the group count for all groups that match the specified pattern. Uses standard regular expression matching (see regex(7)).",
- .syntax = "GROUP_MATCH_COUNT(groupmatch[@category])",
- .read = group_match_count_function_read,
- .write = NULL,
-};
-
static int group_count_exec(struct ast_channel *chan, void *data)
{
int res = 0;
@@ -311,8 +249,6 @@ int unload_module(void)
res |= ast_unregister_application(app_group_set);
res |= ast_unregister_application(app_group_check);
res |= ast_unregister_application(app_group_match_count);
- res |= ast_custom_function_unregister(&group_count_function_obj);
- res |= ast_custom_function_unregister(&group_match_count_function_obj);
return res;
}
@@ -323,8 +259,6 @@ int load_module(void)
res |= ast_register_application(app_group_set, group_set_exec, group_set_synopsis, group_set_descrip);
res |= ast_register_application(app_group_check, group_check_exec, group_check_synopsis, group_check_descrip);
res |= ast_register_application(app_group_match_count, group_match_count_exec, group_match_count_synopsis, group_match_count_descrip);
- res |= ast_custom_function_register(&group_count_function_obj);
- res |= ast_custom_function_register(&group_match_count_function_obj);
ast_cli_register(&cli_show_channels);
return res;
}