aboutsummaryrefslogtreecommitdiffstats
path: root/res
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2005-02-06 23:36:35 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2005-02-06 23:36:35 +0000
commit9508e094eb4caee51be9d9c8390a2a5edca710e4 (patch)
treefb2fc38e4f3813e6f960edd4d9188d176d20afe5 /res
parenta1fd51cc75771d2fb03895b0f03ab03833943c50 (diff)
Merge "show features" (bug #3515)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4971 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res')
-rwxr-xr-xres/res_features.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/res/res_features.c b/res/res_features.c
index f91a4d10d..b22846026 100755
--- a/res/res_features.c
+++ b/res/res_features.c
@@ -1353,6 +1353,34 @@ static int park_exec(struct ast_channel *chan, void *data)
return res;
}
+static int handle_showfeatures(int fd, int argc, char *argv[])
+{
+ int i;
+ int fcount;
+ char format[] = "%-25s %-7s %-7s\n";
+
+ ast_cli(fd, format, "Feature", "Default", "Current");
+ ast_cli(fd, format, "-------", "-------", "-------");
+
+ ast_cli(fd, format, "Pickup", "*8", ast_pickup_ext()); /* default hardcoded above, so we'll hardcode it here */
+
+ fcount = sizeof(builtin_features) / sizeof(builtin_features[0]);
+
+ for (i = 0; i < fcount; i++)
+ {
+ ast_cli(fd, format, builtin_features[i].fname, builtin_features[i].default_exten, builtin_features[i].exten);
+ }
+
+ return RESULT_SUCCESS;
+}
+
+static char showfeatures_help[] =
+"Usage: show features\n"
+" Lists currently configured features.\n";
+
+static struct ast_cli_entry showfeatures =
+{ { "show", "features", NULL }, handle_showfeatures, "Lists configured features", showfeatures_help };
+
static int handle_parkedcalls(int fd, int argc, char *argv[])
{
struct parkeduser *cur;
@@ -1520,6 +1548,7 @@ int load_module(void)
if ((res = load_config()))
return res;
ast_cli_register(&showparked);
+ ast_cli_register(&showfeatures);
ast_pthread_create(&parking_thread, NULL, do_parking_thread, NULL);
res = ast_register_application(parkedcall, park_exec, synopsis, descrip);
if (!res)
@@ -1571,6 +1600,7 @@ int unload_module(void)
STANDARD_HANGUP_LOCALUSERS;
ast_manager_unregister( "ParkedCalls" );
+ ast_cli_unregister(&showfeatures);
ast_cli_unregister(&showparked);
ast_unregister_application(parkcall);
return ast_unregister_application(parkedcall);