Merged revisions 69895 via svnmerge from
[asterisk/asterisk.git] / apps / app_image.c
index 51389a6..6ec8bec 100644 (file)
  * \ingroup applications
  */
  
  * \ingroup applications
  */
  
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
 #include "asterisk.h"
 
 ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
 #include "asterisk.h"
 
 ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
 #include "asterisk/lock.h"
 #include "asterisk/file.h"
 #include "asterisk/logger.h"
 #include "asterisk/lock.h"
 #include "asterisk/file.h"
 #include "asterisk/logger.h"
@@ -44,8 +44,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/app.h"
 #include "asterisk/options.h"
 
 #include "asterisk/app.h"
 #include "asterisk/options.h"
 
-static char *tdesc = "Image Transmission Application";
-
 static char *app = "SendImage";
 
 static char *synopsis = "Send an image file";
 static char *app = "SendImage";
 
 static char *synopsis = "Send an image file";
@@ -55,26 +53,22 @@ static char *descrip =
 "If the channel supports image transport but the image send\n"
 "fails, the channel will be hung up. Otherwise, the dialplan\n"
 "continues execution.\n"
 "If the channel supports image transport but the image send\n"
 "fails, the channel will be hung up. Otherwise, the dialplan\n"
 "continues execution.\n"
-"The option string may contain the following character:\n"
-"      'j' -- jump to priority n+101 if the channel doesn't support image transport\n"
 "This application sets the following channel variable upon completion:\n"
 "      SENDIMAGESTATUS         The status is the result of the attempt as a text string, one of\n"
 "              OK | NOSUPPORT \n";                     
 
 "This application sets the following channel variable upon completion:\n"
 "      SENDIMAGESTATUS         The status is the result of the attempt as a text string, one of\n"
 "              OK | NOSUPPORT \n";                     
 
-LOCAL_USER_DECL;
 
 static int sendimage_exec(struct ast_channel *chan, void *data)
 {
        int res = 0;
 
 static int sendimage_exec(struct ast_channel *chan, void *data)
 {
        int res = 0;
-       struct localuser *u;
+       struct ast_module_user *u;
        char *parse;
        char *parse;
-       int priority_jump = 0;
        AST_DECLARE_APP_ARGS(args,
                AST_APP_ARG(filename);
                AST_APP_ARG(options);
        );
        
        AST_DECLARE_APP_ARGS(args,
                AST_APP_ARG(filename);
                AST_APP_ARG(options);
        );
        
-       LOCAL_USER_ADD(u);
+       u = ast_module_user_add(chan);
 
        parse = ast_strdupa(data);
 
 
        parse = ast_strdupa(data);
 
@@ -86,53 +80,37 @@ static int sendimage_exec(struct ast_channel *chan, void *data)
        }
 
        if (args.options) {
        }
 
        if (args.options) {
-               if (strchr(args.options, 'j'))
-                       priority_jump = 1;
        }
 
        if (!ast_supports_images(chan)) {
                /* Does not support transport */
        }
 
        if (!ast_supports_images(chan)) {
                /* Does not support transport */
-               if (priority_jump || ast_opt_priority_jumping)
-                       ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101);
                pbx_builtin_setvar_helper(chan, "SENDIMAGESTATUS", "NOSUPPORT");
                pbx_builtin_setvar_helper(chan, "SENDIMAGESTATUS", "NOSUPPORT");
-               LOCAL_USER_REMOVE(u);
+               ast_module_user_remove(u);
                return 0;
        }
 
                return 0;
        }
 
-       res = ast_send_image(chan, args.filename);
-       
-       if (!res)
+       if (!(res = ast_send_image(chan, args.filename)))
                pbx_builtin_setvar_helper(chan, "SENDIMAGESTATUS", "OK");
        
                pbx_builtin_setvar_helper(chan, "SENDIMAGESTATUS", "OK");
        
-       LOCAL_USER_REMOVE(u);
+       ast_module_user_remove(u);
        
        return res;
 }
 
        
        return res;
 }
 
-static int unload_module(void *mod)
+static int unload_module(void)
 {
        int res;
 
        res = ast_unregister_application(app);
 
 {
        int res;
 
        res = ast_unregister_application(app);
 
-       STANDARD_HANGUP_LOCALUSERS;
+       ast_module_user_hangup_all();
 
        return res; 
 }
 
 
        return res; 
 }
 
-static int load_module(void *mod)
+static int load_module(void)
 {
        return ast_register_application(app, sendimage_exec, synopsis, descrip);
 }
 
 {
        return ast_register_application(app, sendimage_exec, synopsis, descrip);
 }
 
-static const char *description(void)
-{
-       return tdesc;
-}
-
-static const char *key(void)
-{
-       return ASTERISK_GPL_KEY;
-}
-
-STD_MOD1;
+AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Image Transmission Application");