static void disconnect_callback(void *user_data)
{
DBG("D-Bus disconnect");
+
+ g_main_loop_quit(main_loop);
}
-static gchar *option_interface = NULL;
+static gchar *option_device = NULL;
static gboolean option_detach = TRUE;
static gboolean option_compat = FALSE;
static gboolean option_debug = FALSE;
static GOptionEntry options[] = {
- { "interface", 'i', 0, G_OPTION_ARG_STRING, &option_interface,
- "Specify network interface", "IFACE" },
+ { "device", 'i', 0, G_OPTION_ARG_STRING, &option_device,
+ "Specify network device/interface", "DEV" },
{ "nodaemon", 'n', G_OPTION_FLAG_REVERSE,
G_OPTION_ARG_NONE, &option_detach,
"Don't fork daemon to background" },
__connman_storage_init();
- __connman_element_init(conn);
+ __connman_element_init(conn, option_device);
__connman_agent_init(conn);
__connman_manager_init(conn, option_compat);
+ __connman_profile_init(conn);
+
+ __connman_rtnl_init();
+
__connman_plugin_init();
- g_free(option_interface);
+ g_free(option_device);
memset(&sa, 0, sizeof(sa));
sa.sa_handler = sig_term;
g_main_loop_run(main_loop);
+ __connman_rtnl_cleanup();
+
__connman_agent_cleanup();
__connman_element_cleanup();
+ __connman_profile_cleanup();
+
__connman_manager_cleanup();
__connman_storage_cleanup();
__connman_log_cleanup();
- g_dbus_cleanup_connection(conn);
+ dbus_connection_unref(conn);
g_main_loop_unref(main_loop);