Merged revisions 44055 via svnmerge from
[asterisk/asterisk.git] / utils / ael_main.c
index b93e0ef..225e23b 100644 (file)
@@ -15,7 +15,9 @@
 #include <limits.h>
 
 #include "asterisk/ast_expr.h"
+#include "asterisk/channel.h"
 #include "asterisk/module.h"
+#include "asterisk/app.h"
 #include "asterisk/ael_structs.h"
 
 struct namelist
@@ -99,6 +101,7 @@ void ast_verbose(const char *fmt, ...);
 struct ast_app *pbx_findapp(const char *app);
 void filter_leading_space_from_exprs(char *str);
 void filter_newlines(char *str);
+static int quiet = 0;
 static int no_comp = 0;
 static int use_curr_dir = 0;
 static int dump_extensions = 0;
@@ -116,22 +119,42 @@ void ast_add_profile(void)
                printf("Executed ast_add_profile();\n");
 }
 
+int ast_loader_register(int (*updater)(void))
+{
+       return 1;
+}
+
+int ast_loader_unregister(int (*updater)(void))
+{
+       return 1;
+}
+void ast_module_register(const struct ast_module_info *x)
+{
+}
+
+void ast_module_unregister(const struct ast_module_info *x)
+{
+}
+
+
 void ast_cli_register_multiple(void)
 {
        if(!no_comp)
-        printf("Executed ast_cli_register_multiple();\n");
+               printf("Executed ast_cli_register_multiple();\n");
 }
 
 void ast_register_file_version(void)
 {
-       if(!no_comp)
-               printf("Executed ast_register_file_version();\n");
+       /* if(!no_comp)
+               printf("Executed ast_register_file_version();\n"); */
+       /* I'm erasing this, because I don't think anyone really ever needs to see it anyway */
 }
 
 void ast_unregister_file_version(void)
 {
-       if(!no_comp)
-               printf("Executed ast_unregister_file_version();\n");
+       /* if(!no_comp)
+               printf("Executed ast_unregister_file_version();\n"); */
+       /* I'm erasing this, because I don't think anyone really ever needs to see it anyway */
 
 }
 int ast_add_extension2(struct ast_context *con,
@@ -309,19 +332,21 @@ void ast_cli_unregister_multiple(void)
 
 void ast_context_destroy(void)
 {
-       printf("Executed ast_context_destroy();\n");
+       if( !no_comp)
+               printf("Executed ast_context_destroy();\n");
 }
 
 void ast_log(int level, const char *file, int line, const char *function, const char *fmt, ...)
 {
         va_list vars;
         va_start(vars,fmt);
-
-        printf("LOG: lev:%d file:%s  line:%d func: %s  ",
+       if( !quiet || level > 2 ) {
+           printf("LOG: lev:%d file:%s  line:%d func: %s  ",
                    level, file, line, function);
-        vprintf(fmt, vars);
-        fflush(stdout);
-        va_end(vars);
+            vprintf(fmt, vars);
+            fflush(stdout);
+            va_end(vars);
+       }
 }
 
 void ast_verbose(const char *fmt, ...)
@@ -399,6 +424,7 @@ void filter_newlines(char *str)
 
 
 extern struct module_symbols mod_data;
+extern int ael_external_load_module(void);
 
 int main(int argc, char **argv)
 {
@@ -409,20 +435,26 @@ int main(int argc, char **argv)
        for(i=1;i<argc;i++) {
                if( argv[i][0] == '-' && argv[i][1] == 'n' )
                        no_comp =1;
+               if( argv[i][0] == '-' && argv[i][1] == 'q' ) {
+                       quiet = 1;
+                       no_comp =1;
+               }
                if( argv[i][0] == '-' && argv[i][1] == 'd' )
                        use_curr_dir =1;
                if( argv[i][0] == '-' && argv[i][1] == 'w' )
                        dump_extensions =1;
        }
        
-               
-       if( !no_comp )
-               printf("\n(You can use the -n option if you aren't interested in seeing all the instructions generated by the compiler)\n\n");
-       if( !use_curr_dir )
-               printf("\n(You can use the -d option if you want to use the current working directory as the CONFIG_DIR. I will look in this dir for extensions.ael* and its included files)\n\n");
-       if( !dump_extensions )
-               printf("\n(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)\n");
-       
+       if( !quiet ) {
+               printf("\n(If you find progress and other non-error messages irritating, you can use -q to suppress them)\n");
+               if( !no_comp )
+                       printf("\n(You can use the -n option if you aren't interested in seeing all the instructions generated by the compiler)\n\n");
+               if( !use_curr_dir )
+                       printf("\n(You can use the -d option if you want to use the current working directory as the CONFIG_DIR. I will look in this dir for extensions.ael* and its included files)\n\n");
+               if( !dump_extensions )
+                       printf("\n(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)\n");
+       }
+
        if( use_curr_dir ) {
                strcpy(ast_config_AST_CONFIG_DIR, ".");
        }
@@ -442,7 +474,7 @@ int main(int argc, char **argv)
 
        FIRST_TIME = 1;
        
-       mod_data.load_module(0);
+       ael_external_load_module();
        
        ast_log(4, "ael2_parse", __LINE__, "main", "%d contexts, %d extensions, %d priorities\n", conts, extens, priors);