aboutsummaryrefslogtreecommitdiffstats
path: root/include/asterisk
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-04-25 19:27:42 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-04-25 19:27:42 +0000
commitec529b6fa3aea0532ffb5043ec261f020187d0b7 (patch)
treeed6ec8f5e250d0dbcf7b06317f5e74301c1b033c /include/asterisk
parent6f4a7aa6e9302e6d1a3ea9395a2b95592cc80370 (diff)
Merged revisions 61805 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r61805 | file | 2007-04-25 15:21:54 -0400 (Wed, 25 Apr 2007) | 10 lines 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/trunk@61806 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include/asterisk')
-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 9921344d9..15a2e5dad 100644
--- a/include/asterisk/app.h
+++ b/include/asterisk/app.h
@@ -205,7 +205,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);
@@ -219,6 +224,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