summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEliel C. Sardanons <eliels@gmail.com>2008-11-10 13:53:23 +0000
committerEliel C. Sardanons <eliels@gmail.com>2008-11-10 13:53:23 +0000
commit23adb8e5096fbeea54805da2b4d0e09070af8375 (patch)
treefecca24f0474fbec482f8759862bb4d28d625d2c /include
parent09d28140599031e67d8c563c92cfb5df93d0a60d (diff)
Move all the XML documentation API from pbx.c to xmldoc.c.
Export the XML documentation API: ast_xmldoc_build_synopsis() ast_xmldoc_build_syntax() ast_xmldoc_build_description() ast_xmldoc_build_seealso() ast_xmldoc_build_arguments() ast_xmldoc_printable() ast_xmldoc_load_documentation() git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@155711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include')
-rw-r--r--include/asterisk/_private.h4
-rw-r--r--include/asterisk/term.h4
-rw-r--r--include/asterisk/xmldoc.h85
3 files changed, 91 insertions, 2 deletions
diff --git a/include/asterisk/_private.h b/include/asterisk/_private.h
index be4542d7a..83ae166de 100644
--- a/include/asterisk/_private.h
+++ b/include/asterisk/_private.h
@@ -56,10 +56,10 @@ int ast_timing_init(void); /*!< Provided by timing.c */
*/
int ast_module_reload(const char *name);
-/*! \brief Load XML documentation. Provided by pbx.c
+/*! \brief Load XML documentation. Provided by xmldoc.c
* \retval 1 on error.
* \retval 0 on success.
*/
-int ast_load_documentation(void);
+int ast_xmldoc_load_documentation(void);
#endif /* _ASTERISK__PRIVATE_H */
diff --git a/include/asterisk/term.h b/include/asterisk/term.h
index 8c6cab43e..d75cf99d0 100644
--- a/include/asterisk/term.h
+++ b/include/asterisk/term.h
@@ -62,6 +62,10 @@ extern "C" {
#define COLOR_BRWHITE (37 | 128)
/*@} */
+/*! \brief Maximum number of characters needed for a color escape sequence,
+ * plus a null char */
+#define AST_TERM_MAX_ESCAPE_CHARS 23
+
char *term_color(char *outbuf, const char *inbuf, int fgcolor, int bgcolor, int maxout);
/*!
diff --git a/include/asterisk/xmldoc.h b/include/asterisk/xmldoc.h
new file mode 100644
index 000000000..0e8275a2d
--- /dev/null
+++ b/include/asterisk/xmldoc.h
@@ -0,0 +1,85 @@
+/*
+ * 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"
+
+#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.
+ * \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);
+
+/*!
+ * \brief Parse the <see-also> node content.
+ * \param type 'application', 'function' or 'agi'.
+ * \param name Application or functions name.
+ * \retval NULL on error.
+ * \retval Content of the see-also node.
+ */
+char *ast_xmldoc_build_seealso(const char *type, const char *name);
+
+/*!
+ * \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.
+ * \retval NULL on error.
+ * \retval Output buffer with the [arguments] tag content.
+ */
+char *ast_xmldoc_build_arguments(const char *type, const char *name);
+
+/*!
+ * \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.
+ * \retval NULL on error.
+ * \retval A malloc'ed string with the synopsis.
+ */
+char *ast_xmldoc_build_synopsis(const char *type, const char *name);
+
+/*!
+ * \brief Generate description documentation from XML.
+ * \param type The source of documentation (application, function, etc).
+ * \param name The name of the application, function, etc.
+ * \retval NULL on error.
+ * \retval A malloc'ed string with the formatted description.
+ */
+char *ast_xmldoc_build_description(const char *type, const char *name);
+
+#endif /* AST_XML_DOCS */
+
+#endif /* _ASTERISK_XMLDOC_H */