asterisk.h: Add ASTERISK_REGISTER_FILE macro

The 11/13 branches and master use 2 different file version macros. 11/13
uses ASTERISK_FILE_VERSION but master uses ASTERISK_REGISTER_FILE. This
means a new file added to 11/13 can't just be cherry-picked to master
because the macro has to be changed.

To make cherry-picking possible, ASTERISK_REGISTER_FILE was added
to asterisk.h as a simple alias for ASTERISK_FILE_VERSION(__FILE__, NULL)
The "$Revision$" tag doesn't do anything since Asterisk moved to git so
just passing NULL as the verison works fine.  asterisk.h was also
annotated to deprecate ASTERISK_FILE_VERSION and suggest using
ASTERISK_REGISTER_FILE for all new files.

Finally, 2 recent file additions, pbx_builtins.c and pbx_functions.c,
were modified to use the new macro to make sure it actually worked.
'core show file version' showed the correct output.

Change-Id: I5867ed898818d26ee49bb6e5c7d4c1a45d4789a5
This commit is contained in:
George Joseph
2016-01-05 13:52:16 -07:00
parent 9016e51c03
commit 881dc862e0
3 changed files with 22 additions and 2 deletions

View File

@@ -222,6 +222,9 @@ char *ast_complete_source_filename(const char *partial, int n);
* SVN from modifying them in this file; under normal circumstances they would
* not be present and SVN would expand the Revision keyword into the file's
* revision number.
*
* \deprecated All new files should use ASTERISK_REGISTER_FILE instead.
* \version 11.22.0 deprecated
*/
#ifdef MTX_PROFILE
#define HAVE_MTX_PROFILE /* used in lock.h */
@@ -251,6 +254,23 @@ char *ast_complete_source_filename(const char *partial, int n);
#define ASTERISK_FILE_VERSION(file, x)
#endif /* LOW_MEMORY */
/*!
* \since 11.22.0
* \brief Register/unregister a source code file with the core.
*
* This macro will place a file-scope constructor and destructor into the
* source of the module using it; this will cause the file to be
* registered with the Asterisk core (and unregistered) at the appropriate
* times.
*
* Example:
*
* \code
* ASTERISK_REGISTER_FILE()
* \endcode
*/
#define ASTERISK_REGISTER_FILE() ASTERISK_FILE_VERSION(__FILE__, NULL)
#if !defined(LOW_MEMORY)
/*!
* \brief support for event profiling

View File

@@ -29,7 +29,7 @@
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
ASTERISK_REGISTER_FILE()
#include "asterisk/_private.h"
#include "asterisk/pbx.h"

View File

@@ -29,7 +29,7 @@
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
ASTERISK_REGISTER_FILE()
#include "asterisk/_private.h"
#include "asterisk/cli.h"