Merged revisions 69895 via svnmerge from
[asterisk/asterisk.git] / apps / app_image.c
old mode 100755 (executable)
new mode 100644 (file)
index e23b274..6ec8bec
 /*! \file
  *
  * \brief App to transmit an image
 /*! \file
  *
  * \brief App to transmit an image
+ *
+ * \author Mark Spencer <markster@digium.com>
  * 
  * \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"
@@ -42,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";
@@ -53,34 +53,24 @@ 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";                     
 
-STANDARD_LOCAL_USER;
-
-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);
 
 
-       if (!(parse = ast_strdupa(data))) {
-               ast_log(LOG_WARNING, "Memory Error!\n");
-               LOCAL_USER_REMOVE(u);
-               return -1;
-       }
+       parse = ast_strdupa(data);
 
        AST_STANDARD_APP_ARGS(args, parse);
 
 
        AST_STANDARD_APP_ARGS(args, parse);
 
@@ -90,58 +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 || option_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;
 }
 
-int unload_module(void)
+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; 
 }
 
-int load_module(void)
+static int load_module(void)
 {
        return ast_register_application(app, sendimage_exec, synopsis, descrip);
 }
 
 {
        return ast_register_application(app, sendimage_exec, synopsis, descrip);
 }
 
-char *description(void)
-{
-       return tdesc;
-}
-
-int usecount(void)
-{
-       int res;
-       STANDARD_USECOUNT(res);
-       return res;
-}
-
-char *key()
-{
-       return ASTERISK_GPL_KEY;
-}
+AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Image Transmission Application");