From ac4409e7cea29e03d311e6b805a084837d8bb70f Mon Sep 17 00:00:00 2001 From: Tambet Ingo Date: Thu, 11 Sep 2008 08:35:32 +0300 Subject: Rewrite serial device communications. Instead of vague "send something, wait something" the responses are now analyzed by (overridable) parsers. Makes all the modem implementations much easier since each caller knows without any code whether the call succeeded or failed. Another thing that makes modem code simpler (and the whole thing more robust), is the queueing of sent commands. Each queued command has a command and a callback which is quaranteed to get called, even if sending failed. Define and implement error reporting. --- src/main.c | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index a18ad3b5..cdd07481 100644 --- a/src/main.c +++ b/src/main.c @@ -3,6 +3,7 @@ #include #include #include "mm-manager.h" +#include "mm-options.h" static void log_handler (const gchar *log_domain, @@ -123,31 +124,13 @@ dbus_init (GMainLoop *loop) int main (int argc, char *argv[]) { - GOptionContext *opt_ctx; - GError *error = NULL; GMainLoop *loop; MMManager *manager; - gboolean debug = FALSE; - GOptionEntry entries[] = { - { "debug", 0, 0, G_OPTION_ARG_NONE, &debug, "Output to console rather than syslog", NULL }, - { NULL } - }; - - opt_ctx = g_option_context_new (NULL); - g_option_context_set_summary (opt_ctx, "DBus system service to communicate with modems."); - g_option_context_add_main_entries (opt_ctx, entries, NULL); - - if (!g_option_context_parse (opt_ctx, &argc, &argv, &error)) { - g_warning ("%s\n", error->message); - g_error_free (error); - return 1; - } - - g_option_context_free (opt_ctx); + mm_options_parse (argc, argv); g_type_init (); - if (!debug) + if (!mm_options_debug ()) logging_setup (); loop = g_main_loop_new (NULL, FALSE); -- cgit v1.2.3-70-g09d2