From 102eba19d9f9596684e72b37ec7a4a311f9e0c45 Mon Sep 17 00:00:00 2001 From: djcb Date: Wed, 17 Oct 2012 23:56:47 +0300 Subject: [PATCH] * mu: create basics for the 'stats' command --- mu/Makefile.am | 4 +++- mu/mu-cmd.c | 12 +++++------- mu/mu-cmd.h | 12 ++++++++++++ mu/mu-config.c | 45 +++++++++++++++++++++++---------------------- mu/mu-config.h | 1 + 5 files changed, 44 insertions(+), 30 deletions(-) diff --git a/mu/Makefile.am b/mu/Makefile.am index f3b1b8ff..f64c843f 100644 --- a/mu/Makefile.am +++ b/mu/Makefile.am @@ -25,7 +25,8 @@ INCLUDES=-I${top_srcdir}/lib $(GLIB_CFLAGS) # don't use -Werror, as it might break on other compilers # use -Wno-unused-parameters, because some callbacks may not # really need all the params they get -AM_CFLAGS=-Wall -Wextra -Wno-unused-parameter -Wdeclaration-after-statement -pedantic -Wno-variadic-macros +AM_CFLAGS=-Wall -Wextra -Wno-unused-parameter -Wdeclaration-after-statement \ + -pedantic -Wno-variadic-macros AM_CXXFLAGS=-Wall -Wextra -Wno-unused-parameter bin_PROGRAMS= \ @@ -40,6 +41,7 @@ mu_SOURCES= \ mu-config.h \ mu-cmd-extract.c \ mu-cmd-find.c \ + mu-cmd-guile.c \ mu-cmd-index.c \ mu-cmd-server.c \ mu-cmd.c \ diff --git a/mu/mu-cmd.c b/mu/mu-cmd.c index 7d412545..8df1dacc 100644 --- a/mu/mu-cmd.c +++ b/mu/mu-cmd.c @@ -516,20 +516,20 @@ mu_cmd_verify (MuConfig *opts, GError **err) MuError mu_cmd_verify (MuConfig *opts, GError **err) { - g_warning ("this version of mu does not support the 'verify' command"); + mu_util_g_set_error (err, MU_ERROR_IN_PARAMETERS, + "this mu does not support the " + "'verify' command"); return MU_ERROR_IN_PARAMETERS; } - #endif /*!BUILD_CRYPTO*/ - static void show_usage (void) { g_print ("usage: mu command [options] [parameters]\n"); g_print ("where command is one of index, find, cfind, view, mkdir, " - "extract, add, remove, verify or server\n"); + "extract, add, remove, stats, verify or server\n"); g_print ("see the mu, mu- or mu-easy manpages for " "more information\n"); } @@ -593,9 +593,6 @@ set_log_options (MuConfig *opts) logopts |= MU_LOG_OPTIONS_DEBUG; } - - - MuError mu_cmd_execute (MuConfig *opts, GError **err) { @@ -614,6 +611,7 @@ mu_cmd_execute (MuConfig *opts, GError **err) case MU_CONFIG_CMD_CFIND: merr = mu_cmd_cfind (opts, err); break; case MU_CONFIG_CMD_MKDIR: merr = mu_cmd_mkdir (opts, err); break; + case MU_CONFIG_CMD_STATS: merr = mu_cmd_stats (opts, err); break; case MU_CONFIG_CMD_VIEW: merr = mu_cmd_view (opts, err); break; case MU_CONFIG_CMD_VERIFY: merr = mu_cmd_verify (opts, err); break; case MU_CONFIG_CMD_EXTRACT: merr = mu_cmd_extract (opts, err); break; diff --git a/mu/mu-cmd.h b/mu/mu-cmd.h index d57189b9..f58ce647 100644 --- a/mu/mu-cmd.h +++ b/mu/mu-cmd.h @@ -103,6 +103,18 @@ MuError mu_cmd_extract (MuConfig *opts, GError **err); */ MuError mu_cmd_mv (MuConfig *opts, GError **err); + +/** + * execute the 'stats' command + * + * @param opts configuration options + * @param err receives error information, or NULL + * + * @return MU_OK (0) if the command succeeds, + * some error code otherwise + */ +MuError mu_cmd_stats (MuConfig *opts, GError **err); + /** * execute the cfind command * diff --git a/mu/mu-config.c b/mu/mu-config.c index a7a2bf26..04e99a92 100644 --- a/mu/mu-config.c +++ b/mu/mu-config.c @@ -428,17 +428,18 @@ cmd_from_string (const char *str) const gchar* name; MuConfigCmd cmd; } cmd_map[] = { - { "add", MU_CONFIG_CMD_ADD }, - { "cfind", MU_CONFIG_CMD_CFIND }, + { "add", MU_CONFIG_CMD_ADD }, + { "cfind", MU_CONFIG_CMD_CFIND }, { "extract", MU_CONFIG_CMD_EXTRACT }, - { "find", MU_CONFIG_CMD_FIND }, - { "help", MU_CONFIG_CMD_HELP }, - { "index", MU_CONFIG_CMD_INDEX }, - { "mkdir", MU_CONFIG_CMD_MKDIR }, - { "remove", MU_CONFIG_CMD_REMOVE }, - { "server", MU_CONFIG_CMD_SERVER }, - { "verify", MU_CONFIG_CMD_VERIFY }, - { "view", MU_CONFIG_CMD_VIEW } + { "find", MU_CONFIG_CMD_FIND }, + { "help", MU_CONFIG_CMD_HELP }, + { "index", MU_CONFIG_CMD_INDEX }, + { "mkdir", MU_CONFIG_CMD_MKDIR }, + { "remove", MU_CONFIG_CMD_REMOVE }, + { "server", MU_CONFIG_CMD_SERVER }, + { "stats", MU_CONFIG_CMD_STATS }, + { "verify", MU_CONFIG_CMD_VERIFY }, + { "view", MU_CONFIG_CMD_VIEW } }; if (!str) @@ -478,22 +479,22 @@ static GOptionGroup* get_option_group (MuConfigCmd cmd) { switch (cmd) { - case MU_CONFIG_CMD_INDEX: - return config_options_group_index(); - case MU_CONFIG_CMD_FIND: - return config_options_group_find(); - case MU_CONFIG_CMD_MKDIR: - return config_options_group_mkdir(); - case MU_CONFIG_CMD_EXTRACT: - return config_options_group_extract(); case MU_CONFIG_CMD_CFIND: return config_options_group_cfind(); - case MU_CONFIG_CMD_VERIFY: - return config_options_group_verify (); - case MU_CONFIG_CMD_VIEW: - return config_options_group_view(); + case MU_CONFIG_CMD_EXTRACT: + return config_options_group_extract(); + case MU_CONFIG_CMD_FIND: + return config_options_group_find(); + case MU_CONFIG_CMD_INDEX: + return config_options_group_index(); + case MU_CONFIG_CMD_MKDIR: + return config_options_group_mkdir(); case MU_CONFIG_CMD_SERVER: return config_options_group_server(); + case MU_CONFIG_CMD_VERIFY: + return config_options_group_verify(); + case MU_CONFIG_CMD_VIEW: + return config_options_group_view(); default: return NULL; /* no group to add */ } diff --git a/mu/mu-config.h b/mu/mu-config.h index 46bfc945..4d514131 100644 --- a/mu/mu-config.h +++ b/mu/mu-config.h @@ -73,6 +73,7 @@ enum _MuConfigCmd { MU_CONFIG_CMD_MKDIR, MU_CONFIG_CMD_REMOVE, MU_CONFIG_CMD_SERVER, + MU_CONFIG_CMD_STATS, MU_CONFIG_CMD_VERIFY, MU_CONFIG_CMD_VIEW,