aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-04-25 19:21:54 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-04-25 19:21:54 +0000
commit6038c1b458cb5fdf4b376054d550a59936775ce4 (patch)
tree984c0ba0ef8d6d6187522d0e47795733059fdb99 /include
parent9c435dda79d5e9608ab446151502b193391d84e9 (diff)
Merged revisions 61804 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r61804 | file | 2007-04-25 14:52:50 -0400 (Wed, 25 Apr 2007) | 2 lines Merge rewritten group counting support. No more storing data on the variable list of the channels. That was bad, mmmk? (issue #7497 reported by sabbathbh) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@61805 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rw-r--r--include/asterisk/app.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/include/asterisk/app.h b/include/asterisk/app.h
index 3fac28d6b..2106fe6b3 100644
--- a/include/asterisk/app.h
+++ b/include/asterisk/app.h
@@ -203,7 +203,12 @@ int ast_unlock_path(const char *path);
/*! Read a file into asterisk*/
char *ast_read_textfile(const char *file);
-#define GROUP_CATEGORY_PREFIX "GROUP"
+struct ast_group_info {
+ struct ast_channel *chan;
+ char *category;
+ char *group;
+ AST_LIST_ENTRY(ast_group_info) list;
+};
/*! Split a group string into group and category, returning a default category if none is provided. */
int ast_app_group_split_group(const char *data, char *group, int group_max, char *category, int category_max);
@@ -217,6 +222,18 @@ int ast_app_group_get_count(const char *group, const char *category);
/*! Get the current channel count of all groups that match the specified pattern and category. */
int ast_app_group_match_get_count(const char *groupmatch, const char *category);
+/*! Discard all group counting for a channel */
+int ast_app_group_discard(struct ast_channel *chan);
+
+/*! Lock the group count list */
+int ast_app_group_list_lock(void);
+
+/*! Get the head of the group count list */
+struct ast_group_info *ast_app_group_list_head(void);
+
+/*! Unlock the group count list */
+int ast_app_group_list_unlock(void);
+
/*!
\brief Define an application argument
\param name The name of the argument