Add initial bits and pieces for Tethering support
[platform/upstream/connman.git] / src / main.c
index 327eb24..a01f2fe 100644 (file)
@@ -2,7 +2,7 @@
  *
  *  Connection Manager
  *
- *  Copyright (C) 2007-2009  Intel Corporation. All rights reserved.
+ *  Copyright (C) 2007-2010  Intel Corporation. All rights reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License version 2 as
@@ -67,8 +67,20 @@ static gboolean option_compat = FALSE;
 static gboolean option_selftest = FALSE;
 static gboolean option_version = FALSE;
 
+static gboolean parse_debug(const char *key, const char *value,
+                                       gpointer user_data, GError **error)
+{
+       if (value)
+               option_debug = g_strdup(value);
+       else
+               option_debug = g_strdup("*");
+
+       return TRUE;
+}
+
 static GOptionEntry options[] = {
-       { "debug", 'd', 0, G_OPTION_ARG_STRING, &option_debug,
+       { "debug", 'd', G_OPTION_FLAG_OPTIONAL_ARG,
+                               G_OPTION_ARG_CALLBACK, parse_debug,
                                "Specify debug options to enable", "DEBUG" },
        { "device", 'i', 0, G_OPTION_ARG_STRING, &option_device,
                        "Specify networking device or interface", "DEV" },
@@ -207,14 +219,19 @@ int main(int argc, char *argv[])
        __connman_element_init(option_device, option_nodevice);
 
        __connman_agent_init();
+       __connman_tethering_init();
+       __connman_counter_init();
        __connman_manager_init(option_compat);
        __connman_profile_init();
+       __connman_config_init();
 
        __connman_resolver_init();
        __connman_ipconfig_init();
        __connman_rtnl_init();
        __connman_udev_init();
        __connman_task_init();
+       __connman_session_init();
+       __connman_timeserver_init();
 
        __connman_plugin_init(option_plugin, option_noplugin);
 
@@ -236,15 +253,20 @@ int main(int argc, char *argv[])
 
        __connman_plugin_cleanup();
 
+       __connman_timeserver_cleanup();
+       __connman_session_cleanup();
        __connman_task_cleanup();
        __connman_udev_cleanup();
        __connman_rtnl_cleanup();
        __connman_ipconfig_cleanup();
        __connman_resolver_cleanup();
 
+       __connman_config_cleanup();
        __connman_profile_cleanup();
        __connman_manager_cleanup();
+       __connman_counter_cleanup();
        __connman_agent_cleanup();
+       __connman_tethering_cleanup();
 
        __connman_element_cleanup();
        __connman_storage_cleanup();