aboutsummaryrefslogtreecommitdiffstats
path: root/res/res_config_sqlite.c
diff options
context:
space:
mode:
authorqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-10-19 18:01:00 +0000
committerqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-10-19 18:01:00 +0000
commit4723d35127a1da861d28ce2ae2ee0e8bbd7c3e7b (patch)
treef7b900279b3959d2cc8feddc22a7d8643eb60f95 /res/res_config_sqlite.c
parent4c11437602461608f71405d14e49493187123ed9 (diff)
More changes to NEW_CLI.
Also fixes a few cli messages and some minor formatting. (closes issue #11001) Reported by: seanbright Patches: newcli.1.patch uploaded by seanbright (license 71) newcli.2.patch uploaded by seanbright (license 71) newcli.4.patch uploaded by seanbright (license 71) newcli.5.patch uploaded by seanbright (license 71) newcli.6.patch uploaded by seanbright (license 71) newcli.7.patch uploaded by seanbright (license 71) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86534 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res/res_config_sqlite.c')
-rw-r--r--res/res_config_sqlite.c51
1 files changed, 28 insertions, 23 deletions
diff --git a/res/res_config_sqlite.c b/res/res_config_sqlite.c
index 773681594..40545a575 100644
--- a/res/res_config_sqlite.c
+++ b/res/res_config_sqlite.c
@@ -106,10 +106,6 @@
#define RES_CONFIG_SQLITE_DRIVER "sqlite"
#define RES_CONFIG_SQLITE_DESCRIPTION "Resource Module for SQLite 2"
#define RES_CONFIG_SQLITE_CONF_FILE "res_config_sqlite.conf"
-#define RES_CONFIG_SQLITE_STATUS_SUMMARY "Show status information about the SQLite 2 driver"
-#define RES_CONFIG_SQLITE_STATUS_USAGE \
- "Usage: show sqlite status\n" \
- " " RES_CONFIG_SQLITE_STATUS_SUMMARY "\n"
enum {
RES_CONFIG_SQLITE_CONFIG_ID,
@@ -456,7 +452,7 @@ static int realtime_destroy_handler(const char *database, const char *table,
* \param argv arguments list
* \return RESULT_SUCCESS
*/
-static int cli_status(int fd, int argc, char *argv[]);
+static char *handle_cli_show_sqlite_status(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a);
/*! The SQLite database object. */
static sqlite *db;
@@ -503,12 +499,8 @@ AST_MUTEX_DEFINE_STATIC(mutex);
* Structure containing details and callback functions for the CLI status
* command.
*/
-static struct ast_cli_entry cli_status_cmd =
-{
- .cmda = {"show", "sqlite", "status", NULL},
- .handler = cli_status,
- .summary = RES_CONFIG_SQLITE_STATUS_SUMMARY,
- .usage = RES_CONFIG_SQLITE_STATUS_USAGE
+static struct ast_cli_entry cli_status[] = {
+ NEW_CLI(handle_cli_show_sqlite_status, "Show status information about the SQLite 2 driver"),
};
/*
@@ -1382,31 +1374,44 @@ static int realtime_destroy_handler(const char *database, const char *table,
return rows_num;
}
-
-static int cli_status(int fd, int argc, char *argv[])
+static char *handle_cli_show_sqlite_status(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
- ast_cli(fd, "SQLite database path: %s\n", dbfile);
- ast_cli(fd, "config_table: ");
+ switch (cmd) {
+ case CLI_INIT:
+ e->command = "show sqlite status";
+ e->usage =
+ "Usage: show sqlite status\n"
+ " Show status information about the SQLite 2 driver\n";
+ return NULL;
+ case CLI_GENERATE:
+ return NULL;
+ }
+
+ if (a->argc != 3)
+ return CLI_SHOWUSAGE;
+
+ ast_cli(a->fd, "SQLite database path: %s\n", dbfile);
+ ast_cli(a->fd, "config_table: ");
if (!config_table)
- ast_cli(fd, "unspecified, must be present in extconfig.conf\n");
+ ast_cli(a->fd, "unspecified, must be present in extconfig.conf\n");
else
- ast_cli(fd, "%s\n", config_table);
+ ast_cli(a->fd, "%s\n", config_table);
- ast_cli(fd, "cdr_table: ");
+ ast_cli(a->fd, "cdr_table: ");
if (!cdr_table)
- ast_cli(fd, "unspecified, CDR support disabled\n");
+ ast_cli(a->fd, "unspecified, CDR support disabled\n");
else
- ast_cli(fd, "%s\n", cdr_table);
+ ast_cli(a->fd, "%s\n", cdr_table);
- return RESULT_SUCCESS;
+ return CLI_SUCCESS;
}
static int unload_module(void)
{
if (cli_status_registered)
- ast_cli_unregister(&cli_status_cmd);
+ ast_cli_unregister_multiple(cli_status, sizeof(cli_status) / sizeof(struct ast_cli_entry));
if (cdr_registered)
ast_cdr_unregister(RES_CONFIG_SQLITE_NAME);
@@ -1516,7 +1521,7 @@ static int load_module(void)
cdr_registered = 1;
}
- error = ast_cli_register(&cli_status_cmd);
+ error = ast_cli_register_multiple(cli_status, sizeof(cli_status) / sizeof(struct ast_cli_entry));
if (error) {
unload_module();