]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
shuffle a little bit the content of header files to reduce dependencies.
authorLuigi Rizzo <rizzo@icir.org>
Thu, 22 Nov 2007 03:50:04 +0000 (03:50 +0000)
committerLuigi Rizzo <rizzo@icir.org>
Thu, 22 Nov 2007 03:50:04 +0000 (03:50 +0000)
In this commit:
- move the ast_register/unregister_app functions to module.h
  to avoid the need to include pbx.h for the simpler apps;
- move the ast_group structure to channel.h to remove the
  dependency of app.h on linkedlists.h

Note, this is a long process that I am doing in small steps.

The main difficulty is that now for each subsystem we
have a single header (e.g. channel.h) included by the subsystem
provider (usually one file, e.g. channel.c) and by its clients
(dozens of them, e.g. we have some 70+ apps and 30+ functions).

This requires the clients to include all the extra headers
required by the provider (eg. lock.h, linkedlists.h, definitions
of substructures...) even though many of the clients would be
just happy with opaque struct declarations and function prototypes.

The long term plan is to eventually rectify this structure
so that the compilation can become faster, and also APIs
are more stable.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89522 65c4cc65-6c06-0410-ace0-fbb531ad65f3

22 files changed:
apps/app_cdr.c
apps/app_dumpchan.c
apps/app_echo.c
apps/app_milliwatt.c
apps/app_mixmonitor.c
apps/app_read.c
apps/app_readexten.c
apps/app_record.c
apps/app_senddtmf.c
apps/app_stack.c
apps/app_system.c
apps/app_transfer.c
apps/app_url.c
apps/app_verbose.c
apps/app_while.c
include/asterisk.h
include/asterisk/app.h
include/asterisk/channel.h
include/asterisk/module.h
include/asterisk/pbx.h
pbx/pbx_config.c
res/ael/pval.c

index 8ef10ba978a00ecb3e9b90714c35661d0cfec3ad..86b1db219c612e65bc3ba3d8998a017832327151 100644 (file)
@@ -31,7 +31,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
 #include "asterisk/channel.h"
 #include "asterisk/module.h"
-#include "asterisk/pbx.h"
 
 static char *nocdr_descrip = 
 "  NoCDR(): This application will tell Asterisk not to maintain a CDR for the\n"
index 85f6789ca729e15ca96c27d148f0614526a89cee..48fb6215d9cb5ac7b5f7ed1656377e3cc277fb7e 100644 (file)
 
 ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
-#include "asterisk/file.h"
-#include "asterisk/channel.h"
 #include "asterisk/pbx.h"
 #include "asterisk/module.h"
-#include "asterisk/utils.h"
-#include "asterisk/lock.h"
+#include "asterisk/channel.h"
 
 static char *app = "DumpChan";
 static char *synopsis = "Dump Info About The Calling Channel";
index e3cd3b116030e2f56ba5c8b4214e09e556ffe9c3..b12b08f89b8f6fc93210863db0df96f277d0a4ed 100644 (file)
@@ -32,6 +32,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/file.h"
 #include "asterisk/pbx.h"
 #include "asterisk/module.h"
+#include "asterisk/channel.h"
 
 static char *app = "Echo";
 
index 99a1e160c1998631c4c7c442a689d5af890f43f8..315e86ab11d1156cf7bba784ea4db4f4c75bfa0e 100644 (file)
@@ -31,6 +31,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
 #include "asterisk/pbx.h"
 #include "asterisk/module.h"
+#include "asterisk/channel.h"
 
 static char *app = "Milliwatt";
 
index bc24b4a18956e21ecf5bb77e4d68cb3be5c9cfc4..f60d6f05feddd0a2435cc9e709e8bf10410c6a55 100644 (file)
@@ -44,6 +44,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/module.h"
 #include "asterisk/cli.h"
 #include "asterisk/app.h"
+#include "asterisk/channel.h"
 
 #define get_volfactor(x) x ? ((x > 0) ? (1 << x) : ((1 << abs(x)) * -1)) : 0
 
index 4ddd24de31c40f66dfe50eb108af3890a3bb2a33..a7fdf624bdc89b5a479cedb276a09f77f4c79b56 100644 (file)
@@ -31,6 +31,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
 #include "asterisk/file.h"
 #include "asterisk/pbx.h"
+#include "asterisk/channel.h"
 #include "asterisk/app.h"
 #include "asterisk/module.h"
 #include "asterisk/indications.h"
index 21f7950fb457d29d680fa4524bc31c01a92ca26a..cb4fd8c2a748044e7a7fb4be058f615f803bf985 100644 (file)
@@ -34,6 +34,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/app.h"
 #include "asterisk/module.h"
 #include "asterisk/indications.h"
+#include "asterisk/channel.h"
 
 enum {
        OPT_SKIP = (1 << 0),
index a41ed5906d0350ec51116dccb34885d77e2c471a..7214e1f070477ea4ddb1d60ab656617c8841f593 100644 (file)
@@ -33,6 +33,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/pbx.h"
 #include "asterisk/module.h"
 #include "asterisk/app.h"
+#include "asterisk/channel.h"
 #include "asterisk/dsp.h"      /* use dsp routines for silence detection */
 
 
index 3e39736202e6bfbd0078aea10a7f5f48a2a414e0..67bd4feaa776deda89c32e5e29817079655ce820 100644 (file)
@@ -33,6 +33,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/module.h"
 #include "asterisk/app.h"
 #include "asterisk/manager.h"
+#include "asterisk/channel.h"
 
 static char *app = "SendDTMF";
 
index 8d3d7bcc938c2d30155d98d62e71b6efa378c154..341b4c1d995ff4686969775576843847ec9febe0 100644 (file)
@@ -33,6 +33,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/module.h"
 #include "asterisk/app.h"
 #include "asterisk/manager.h"
+#include "asterisk/channel.h"
 
 static const char *app_gosub = "Gosub";
 static const char *app_gosubif = "GosubIf";
index 9526965f04e1743a3a2f349b46c574ef8905925f..1f39c5a4ed7c38da02627c8de5ba74e2b46d49e9 100644 (file)
@@ -32,6 +32,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/pbx.h"
 #include "asterisk/module.h"
 #include "asterisk/app.h"
+#include "asterisk/channel.h"  /* autoservice */
 
 static char *app = "System";
 
index 96c514eeb1636082aa1d0eca1e888857bf0736b0..ee6c2c5889fc03b56691dd190807ca84bdfdb96f 100644 (file)
 
 ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
-#include "asterisk/lock.h"
-#include "asterisk/file.h"
-#include "asterisk/channel.h"
 #include "asterisk/pbx.h"
 #include "asterisk/module.h"
 #include "asterisk/app.h"
+#include "asterisk/channel.h"
 
 
 static const char *app = "Transfer";
index 169511689ea2ff0f8032aabf6d3e301113d9e334..f71b32fd050d5736329f0f88af6bddead898a05b 100644 (file)
@@ -32,6 +32,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/pbx.h"
 #include "asterisk/module.h"
 #include "asterisk/app.h"
+#include "asterisk/channel.h"
 
 static char *app = "SendURL";
 
index abe73c5c46bfd3c00c3bcbd17c36dfe62f99750e..0f7145131bbfc50617ae3bf89e1e80042cdf21b3 100644 (file)
@@ -31,6 +31,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/pbx.h"
 #include "asterisk/module.h"
 #include "asterisk/app.h"
+#include "asterisk/channel.h"
 
 static char *app_verbose = "Verbose";
 static char *verbose_synopsis = "Send arbitrary text to verbose output";
index 933dd9ba12e4f02b9c5b8997de5ccd3031b621eb..1c61d966eae16ffd9ebaf826fa45160d45cbb8be 100644 (file)
@@ -31,6 +31,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
 #include "asterisk/pbx.h"
 #include "asterisk/module.h"
+#include "asterisk/channel.h"
 
 static char *start_app = "While";
 static char *start_desc = 
index 2aa978511541a57e637f33a91de29c3cdcc9a0e1..71cb4d454c592ec246d44940c4dd5d682bae8ae8 100644 (file)
@@ -171,5 +171,7 @@ int64_t ast_mark(int, int start1_stop0);
 struct ast_channel;
 struct ast_frame;
 struct ast_module;
+struct ast_variable;
+struct ast_str;
 
 #endif /* _ASTERISK_H */
index 0529f925858a1b57342a80c7be8b01777cd05e30..656e8390fcb6c9b403f38dcce2697c03ef708265 100644 (file)
@@ -23,6 +23,8 @@
 #ifndef _ASTERISK_APP_H
 #define _ASTERISK_APP_H
 
+struct ast_flags64;
+
 #if defined(__cplusplus) || defined(c_plusplus)
 extern "C" {
 #endif
@@ -227,12 +229,7 @@ int ast_unlock_path(const char *path);
 /*! Read a file into asterisk*/
 char *ast_read_textfile(const char *file);
 
-struct ast_group_info {
-       struct ast_channel *chan;
-       char *category;
-       char *group;
-       AST_LIST_ENTRY(ast_group_info) list;
-};
+struct ast_group_info;
 
 /*! Split a group string into group and category, returning a default category if none is provided. */
 int ast_app_group_split_group(const char *data, char *group, int group_max, char *category, int category_max);
index b79c0c29c2d3e0cdc96e0c0b20d3510db095a906..5e2213c3a3378f10a8d78974df5a265556193311 100644 (file)
@@ -1442,6 +1442,15 @@ struct ast_variable *ast_channeltype_list(void);
  */
 const char *ast_channel_reason2str(int reason);
 
+/*! \brief channel group info
+ */
+struct ast_group_info {
+        struct ast_channel *chan;
+        char *category;
+        char *group;
+        AST_LIST_ENTRY(ast_group_info) list;   
+};
+
 
 #if defined(__cplusplus) || defined(c_plusplus)
 }
index 4091045f8c4d56026496dcc510bc69a938df46aa..1b257ed157932e74e7a33d556dbd8ea0aee0f99a 100644 (file)
@@ -370,6 +370,59 @@ static void __restore_globals(void)
                       )
 #endif
 
+/*! 
+ * \brief Register an application.
+ *
+ * \param app Short name of the application
+ * \param execute a function callback to execute the application. It should return
+ *                non-zero if the channel needs to be hung up.
+ * \param synopsis a short description (one line synopsis) of the application
+ * \param description long description with all of the details about the use of 
+ *                    the application
+ * 
+ * This registers an application with Asterisk's internal application list. 
+ * \note The individual applications themselves are responsible for registering and unregistering
+ *       and unregistering their own CLI commands.
+ * 
+ * \retval 0 success 
+ * \retval -1 failure.
+ */
+#define ast_register_application(app, execute, synopsis, description) ast_register_application2(app, execute, synopsis, description, ast_module_info->self)
+
+/*!
+ * \brief Register an application.
+ *
+ * \param app Short name of the application
+ * \param execute a function callback to execute the application. It should return
+ *                non-zero if the channel needs to be hung up.
+ * \param synopsis a short description (one line synopsis) of the application
+ * \param description long description with all of the details about the use of
+ *                    the application
+ * \param mod module this application belongs to
+ *
+ * This registers an application with Asterisk's internal application list.
+ * \note The individual applications themselves are responsible for registering and unregistering
+ *       and unregistering their own CLI commands.
+ *
+ * \retval 0 success
+ * \retval -1 failure.
+ */
+int ast_register_application2(const char *app, int (*execute)(struct ast_channel *, void *),
+                                    const char *synopsis, const char *description, void *mod);
+
+/*! 
+ * \brief Unregister an application
+ * 
+ * \param app name of the application (does not have to be the same string as the one that was registered)
+ * 
+ * This unregisters an application from Asterisk's internal application list.
+ * 
+ * \retval 0 success 
+ * \retval -1 failure
+ */
+int ast_unregister_application(const char *app);
+
+
 #if defined(__cplusplus) || defined(c_plusplus)
 }
 #endif
index 3479d6f2b0bc299ea42d59058d1a2338ee2bfb0e..61617f5a26255cd99d5b6ade4ada24d336037f5f 100644 (file)
@@ -24,8 +24,7 @@
 #define _ASTERISK_PBX_H
 
 #include "asterisk/sched.h"
-#include "asterisk/channel.h"
-#include "asterisk/linkedlists.h"
+#include "asterisk/chanvars.h"
 
 #if defined(__cplusplus) || defined(c_plusplus)
 extern "C" {
@@ -300,58 +299,6 @@ int ast_add_extension2(struct ast_context *con, int replace, const char *extensi
        const char *application, void *data, void (*datad)(void *), const char *registrar);
 
 
-/*! 
- * \brief Register an application.
- *
- * \param app Short name of the application
- * \param execute a function callback to execute the application. It should return
- *                non-zero if the channel needs to be hung up.
- * \param synopsis a short description (one line synopsis) of the application
- * \param description long description with all of the details about the use of 
- *                    the application
- * 
- * This registers an application with Asterisk's internal application list. 
- * \note The individual applications themselves are responsible for registering and unregistering
- *       and unregistering their own CLI commands.
- * 
- * \retval 0 success 
- * \retval -1 failure.
- */
-#define ast_register_application(app, execute, synopsis, description) ast_register_application2(app, execute, synopsis, description, ast_module_info->self)
-
-/*!
- * \brief Register an application.
- *
- * \param app Short name of the application
- * \param execute a function callback to execute the application. It should return
- *                non-zero if the channel needs to be hung up.
- * \param synopsis a short description (one line synopsis) of the application
- * \param description long description with all of the details about the use of
- *                    the application
- * \param mod module this application belongs to
- *
- * This registers an application with Asterisk's internal application list.
- * \note The individual applications themselves are responsible for registering and unregistering
- *       and unregistering their own CLI commands.
- *
- * \retval 0 success
- * \retval -1 failure.
- */
-int ast_register_application2(const char *app, int (*execute)(struct ast_channel *, void *),
-                                    const char *synopsis, const char *description, void *mod);
-
-/*! 
- * \brief Unregister an application
- * 
- * \param app name of the application (does not have to be the same string as the one that was registered)
- * 
- * This unregisters an application from Asterisk's internal application list.
- * 
- * \retval 0 success 
- * \retval -1 failure
- */
-int ast_unregister_application(const char *app);
-
 /*! 
  * \brief Uses hint and devicestate callback to get the state of an extension
  *
index 9ee6c02b495c9b3c492d53fc5b864ae10dd1f1e8..0782e7a7b7fd2ff37e9b5c61cdcafcd84a44c657 100644 (file)
@@ -35,6 +35,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/module.h"
 #include "asterisk/logger.h"
 #include "asterisk/cli.h"
+#include "asterisk/channel.h"  /* AST_MAX_EXTENSION */
 #include "asterisk/callerid.h"
 
 static char *config = "extensions.conf";
index 923a55148c63230a01bafc8457912613bbff8e35..56794041d33a8c202fa7102abadf19bac5973761 100644 (file)
@@ -43,6 +43,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/logger.h"
 #include "asterisk/cli.h"
 #include "asterisk/app.h"
+#include "asterisk/channel.h"
 #include "asterisk/callerid.h"
 #include "asterisk/pval.h"
 #include "asterisk/ael_structs.h"