Files
asterisk/include/asterisk/xmldoc.h
Matthew Nicholson bb07ca66a1 Merged revisions 340109 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r340109 | mnicholson | 2011-10-10 09:15:41 -0500 (Mon, 10 Oct 2011) | 18 lines
  
  Merged revisions 340108 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r340108 | mnicholson | 2011-10-10 09:14:48 -0500 (Mon, 10 Oct 2011) | 11 lines
    
    Load the proper XML documentation when multiple modules document the same application.
    
    This patch adds an optional "module" attribute to the XML documentation spec
    that allows the documentation processor to match apps with identical names from
    different modules to their documentation. This patch also fixes a number of
    bugs with the documentation processor and should make it a little more
    efficient. Support for multiple languages has also been properly implemented.
    
    ASTERISK-18130
    Review: https://reviewboard.asterisk.org/r/1485/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340110 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-10 14:16:27 +00:00

98 lines
3.5 KiB
C

/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 2008, Eliel C. Sardanons (LU1ALY) <eliels@gmail.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
#ifndef _ASTERISK_XMLDOC_H
#define _ASTERISK_XMLDOC_H
/*! \file
* \brief Asterisk XML Documentation API
*/
#include "asterisk/xml.h"
/*! \brief From where the documentation come from, this structure is useful for
* use it inside application/functions/manager actions structure. */
enum ast_doc_src {
AST_XML_DOC, /*!< From XML documentation */
AST_STATIC_DOC /*!< From application/function registration */
};
#ifdef AST_XML_DOCS
/*!
* \brief Get the syntax for a specified application or function.
* \param type Application, Function or AGI ?
* \param name Name of the application or function.
* \param module The module the item is in (optional, can be NULL)
* \retval NULL on error.
* \retval The generated syntax in a ast_malloc'ed string.
*/
char *ast_xmldoc_build_syntax(const char *type, const char *name, const char *module);
/*!
* \brief Parse the <see-also> node content.
* \param type 'application', 'function' or 'agi'.
* \param name Application or functions name.
* \param module The module the item is in (optional, can be NULL)
* \retval NULL on error.
* \retval Content of the see-also node.
*/
char *ast_xmldoc_build_seealso(const char *type, const char *name, const char *module);
/*!
* \brief Generate the [arguments] tag based on type of node ('application',
* 'function' or 'agi') and name.
* \param type 'application', 'function' or 'agi' ?
* \param name Name of the application or function to build the 'arguments' tag.
* \param module The module the item is in (optional, can be NULL)
* \retval NULL on error.
* \retval Output buffer with the [arguments] tag content.
*/
char *ast_xmldoc_build_arguments(const char *type, const char *name, const char *module);
/*!
* \brief Colorize and put delimiters (instead of tags) to the xmldoc output.
* \param bwinput Not colorized input with tags.
* \param withcolors Result output with colors.
* \retval NULL on error.
* \retval New malloced buffer colorized and with delimiters.
*/
char *ast_xmldoc_printable(const char *bwinput, int withcolors);
/*!
* \brief Generate synopsis documentation from XML.
* \param type The source of documentation (application, function, etc).
* \param name The name of the application, function, etc.
* \param module The module the item is in (optional, can be NULL)
* \retval NULL on error.
* \retval A malloc'ed string with the synopsis.
*/
char *ast_xmldoc_build_synopsis(const char *type, const char *name, const char *module);
/*!
* \brief Generate description documentation from XML.
* \param type The source of documentation (application, function, etc).
* \param name The name of the application, function, etc.
* \param module The module the item is in (optional, can be NULL)
* \retval NULL on error.
* \retval A malloc'ed string with the formatted description.
*/
char *ast_xmldoc_build_description(const char *type, const char *name, const char *module);
#endif /* AST_XML_DOCS */
#endif /* _ASTERISK_XMLDOC_H */