Issue 9477 - Improve menuselect labels
[asterisk/asterisk.git] / apps / app_channelredirect.c
index f527b7d..075f8bb 100644 (file)
  * \ingroup applications
  */
 
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
 #include <string.h>
 
-#include "asterisk.h"
-
-ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
-
 #include "asterisk/file.h"
 #include "asterisk/logger.h"
 #include "asterisk/channel.h"
@@ -40,6 +40,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/lock.h"
 #include "asterisk/app.h"
 #include "asterisk/features.h"
+#include "asterisk/options.h"
 
 static char *app = "ChannelRedirect";
 static char *synopsis = "Redirects given channel to a dialplan target.";
@@ -47,12 +48,11 @@ static char *descrip =
 "ChannelRedirect(channel|[[context|]extension|]priority):\n"
 "  Sends the specified channel to the specified extension priority\n";
 
-LOCAL_USER_DECL;
 
 static int asyncgoto_exec(struct ast_channel *chan, void *data)
 {
        int res = -1;
-       struct localuser *u;
+       struct ast_module_user *u;
        char *info, *context, *exten, *priority;
        int prio = 1;
        struct ast_channel *chan2 = NULL;
@@ -67,7 +67,7 @@ static int asyncgoto_exec(struct ast_channel *chan, void *data)
                return -1;
        }
 
-       LOCAL_USER_ADD(u);
+       u = ast_module_user_add(chan);
 
        info = ast_strdupa(data);
        AST_STANDARD_APP_ARGS(args, info);
@@ -105,7 +105,8 @@ static int asyncgoto_exec(struct ast_channel *chan, void *data)
                goto chanquit;
        }
 
-       ast_log(LOG_DEBUG, "Attempting async goto (%s) to %s|%s|%d\n", args.channel, S_OR(context, chan2->context), S_OR(exten, chan2->exten), prio);
+       if (option_debug > 1)
+               ast_log(LOG_DEBUG, "Attempting async goto (%s) to %s|%s|%d\n", args.channel, S_OR(context, chan2->context), S_OR(exten, chan2->exten), prio);
 
        if (ast_async_goto_if_exists(chan2, S_OR(context, chan2->context), S_OR(exten, chan2->exten), prio))
                ast_log(LOG_WARNING, "%s failed for %s\n", app, args.channel);
@@ -115,42 +116,25 @@ static int asyncgoto_exec(struct ast_channel *chan, void *data)
  chanquit:
        ast_mutex_unlock(&chan2->lock);
  quit:
-       LOCAL_USER_REMOVE(u);
+       ast_module_user_remove(u);
 
        return res;
 }
 
-int unload_module(void)
+static int unload_module(void)
 {
        int res;
 
        res = ast_unregister_application(app);
 
-       STANDARD_HANGUP_LOCALUSERS;
+       ast_module_user_hangup_all();
 
        return res;     
 }
 
-int load_module(void)
+static int load_module(void)
 {
        return ast_register_application(app, asyncgoto_exec, synopsis, descrip);
 }
 
-const char *description(void)
-{
-       return "Channel Redirect";
-}
-
-int usecount(void)
-{
-       int res;
-
-       STANDARD_USECOUNT(res);
-
-       return res;
-}
-
-const char *key(void)
-{
-       return ASTERISK_GPL_KEY;
-}
+AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Redirects a given channel to a dialplan target");