static void client_connectivity (NMClient *client, GParamSpec *param, NmCli *nmc) { NMConnectivityState connectivity; char *str; g_object_get (client, NM_CLIENT_CONNECTIVITY, &connectivity, NULL); str = nmc_colorize (nmc, connectivity_to_color (connectivity), NMC_TERM_FORMAT_NORMAL, _("Connectivity is now '%s'\n"), nm_connectivity_to_string (connectivity)); g_print ("%s", str); g_free (str); }
static void client_state (NMClient *client, GParamSpec *param, NmCli *nmc) { NMState state; char *str; g_object_get (client, NM_CLIENT_STATE, &state, NULL); str = nmc_colorize (nmc, state_to_color (state), NMC_TERM_FORMAT_NORMAL, _("Networkmanager is now in the '%s' state\n"), nm_state_to_string (state)); g_print ("%s", str); g_free (str); }
static char * colorize_string (NmCli *nmc, NmcTermColor color, NmcTermFormat color_fmt, const char *str, gboolean *dealloc) { char *out; if ( use_colors (nmc) && (color != NMC_TERM_COLOR_NORMAL || color_fmt != NMC_TERM_FORMAT_NORMAL)) { out = nmc_colorize (nmc, color, color_fmt, str); *dealloc = TRUE; } else { out = (char *) str; *dealloc = FALSE; } return out; }
NMCResultCode do_monitor (NmCli *nmc, int argc, char **argv) { if (argc > 0) { if (!nmc_arg_is_help (*argv)) { g_string_printf (nmc->return_text, _("Error: 'monitor' command '%s' is not valid."), *argv); nmc->return_value = NMC_RESULT_ERROR_USER_INPUT; } usage_monitor (); return nmc->return_value; } nmc->get_client (nmc); /* create NMClient */ if (!nm_client_get_nm_running (nmc->client)) { char *str; str = nmc_colorize (nmc, NMC_TERM_COLOR_RED, NMC_TERM_FORMAT_NORMAL, _("Networkmanager is not running (waiting for it)\n")); g_print ("%s", str); g_free (str); } g_signal_connect (nmc->client, "notify::" NM_CLIENT_NM_RUNNING, G_CALLBACK (networkmanager_running), nmc); g_signal_connect (nmc->client, "notify::" NM_CLIENT_HOSTNAME, G_CALLBACK (client_hostname), nmc); g_signal_connect (nmc->client, "notify::" NM_CLIENT_PRIMARY_CONNECTION, G_CALLBACK (client_primary_connection), nmc); g_signal_connect (nmc->client, "notify::" NM_CLIENT_CONNECTIVITY, G_CALLBACK (client_connectivity), nmc); g_signal_connect (nmc->client, "notify::" NM_CLIENT_STATE, G_CALLBACK (client_state), nmc); nmc->should_wait++; monitor_devices (nmc); monitor_connections (nmc); return NMC_RESULT_SUCCESS; }
static void networkmanager_running (NMClient *client, GParamSpec *param, NmCli *nmc) { gboolean running; NmcTermColor color; const char *message; char *str; running = nm_client_get_nm_running (client); if (running) { color = NMC_TERM_COLOR_GREEN; message = _("NetworkManager has started"); } else { color = NMC_TERM_COLOR_RED; message = _("NetworkManager has stopped"); } str = nmc_colorize (nmc, color, NMC_TERM_FORMAT_NORMAL, message); g_print ("%s\n", str); g_free (str); }