After some discussion on the asterisk-dev list, we determined that this approach

for extracting application, function, manager, and agi documentation is the wrong
one to take.  The most severe problem is that the output depends on which modules
are loaded as well as compile time options, which both determine which parts are
available.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Russell Bryant
2007-07-02 23:02:16 +00:00
parent df1a340774
commit d2a85e5f64
10 changed files with 0 additions and 10589 deletions

View File

@@ -3153,144 +3153,6 @@ static int handle_show_application(int fd, int argc, char *argv[])
return RESULT_SUCCESS;
}
#ifdef AST_DEVMODE
static char *handle_core_dump_appdocs(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
struct ast_app *app;
FILE *f;
char *appname = NULL;
const char *fn = "/tmp/ast_appdocs.tex";
switch (cmd) {
case CLI_INIT:
e->command = "core dump appdocs";
e->usage =
"Usage: core dump appdocs [application]\n"
" Dump Application documentation to /tmp/ast_appdocs.tex.\n";
return NULL;
case CLI_GENERATE:
return NULL;
}
if (a->argc == e->args + 1)
appname = a->argv[e->args];
else if (a->argc != e->args)
return CLI_SHOWUSAGE;
if (!(f = fopen(fn, "w+"))) {
ast_cli(a->fd, "Unable to open %s for writing!\n", fn);
return CLI_FAILURE;
}
fprintf(f, "%% This file is automatically generated by the \"core dump appdocs\" CLI command. Any manual edits will be lost.\n");
AST_RWLIST_RDLOCK(&apps);
AST_RWLIST_TRAVERSE(&apps, app, list) {
if (appname && strcasecmp(app->name, appname))
continue;
fprintf(f, "\\section{%s}\n"
"\\subsection{Synopsis}\n"
"\\begin{verbatim}\n"
"%s\n"
"\\end{verbatim}\n"
"\\subsection{Description}\n"
"\\begin{verbatim}\n"
"%s\n"
"\\end{verbatim}\n\n\n", app->name, app->synopsis, app->description);
if (appname)
break;
}
AST_RWLIST_UNLOCK(&apps);
fclose(f);
ast_cli(a->fd, "Documentation has been dumped to %s\n", fn);
return CLI_SUCCESS;
}
static void funcdocs_write_section(FILE *f, const char *name)
{
char *section, *cur;
cur = section = alloca(strlen(name) * 2 + 1);
for (; *name; name++) {
if (*name == '_')
*cur++ = '\\';
*cur++ = *name;
}
*cur = '\0';
fprintf(f, "\\section{%s}\n", section);
}
static char *handle_core_dump_funcdocs(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
struct ast_custom_function *acf;
FILE *f;
char *funcname = NULL;
const char *fn = "/tmp/ast_funcdocs.tex";
switch (cmd) {
case CLI_INIT:
e->command = "core dump funcdocs";
e->usage =
"Usage: core dump funcdocs [function]\n"
" Dump Application documentation to /tmp/ast_funcdocs.tex.\n";
return NULL;
case CLI_GENERATE:
return NULL;
}
if (a->argc == e->args + 1)
funcname = a->argv[e->args];
else if (a->argc != e->args)
return CLI_SHOWUSAGE;
if (!(f = fopen(fn, "w+"))) {
ast_cli(a->fd, "Unable to open %s for writing!\n", fn);
return CLI_FAILURE;
}
fprintf(f, "%% This file is automatically generated by the \"core dump funcdocs\" CLI command. Any manual edits will be lost.\n");
AST_RWLIST_RDLOCK(&acf_root);
AST_RWLIST_TRAVERSE(&acf_root, acf, acflist) {
if (funcname && strcasecmp(acf->name, funcname))
continue;
funcdocs_write_section(f, acf->name);
fprintf(f, "\\subsection{Syntax}\n"
"\\begin{verbatim}\n"
"%s\n"
"\\end{verbatim}\n"
"\\subsection{Synopsis}\n"
"\\begin{verbatim}\n"
"%s\n"
"\\end{verbatim}\n"
"\\subsection{Description}\n"
"\\begin{verbatim}\n"
"%s\n"
"\\end{verbatim}\n\n\n",
acf->syntax, acf->synopsis, acf->desc);
if (funcname)
break;
}
AST_RWLIST_UNLOCK(&acf_root);
fclose(f);
ast_cli(a->fd, "Documentation has been dumped to %s\n", fn);
return CLI_SUCCESS;
}
#endif
/*! \brief handle_show_hints: CLI support for listing registered dial plan hints */
static int handle_show_hints(int fd, int argc, char *argv[])
{
@@ -3957,11 +3819,6 @@ static struct ast_cli_entry pbx_cli[] = {
handle_show_application, "Describe a specific dialplan application",
show_application_help, complete_show_application },
#ifdef AST_DEVMODE
NEW_CLI(handle_core_dump_appdocs, "Dump application documentation in LaTeX format"),
NEW_CLI(handle_core_dump_funcdocs, "Dump function documentation in LaTeX format"),
#endif
{ { "core", "set", "global", NULL },
handle_set_global, "Set global dialplan variable",
set_global_help },