summary refs log tree commit diff
path: root/clients/cli/utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'clients/cli/utils.h')
-rw-r--r--clients/cli/utils.h109
1 files changed, 102 insertions, 7 deletions
diff --git a/clients/cli/utils.h b/clients/cli/utils.h
index 19694d11..b2a3e5eb 100644
--- a/clients/cli/utils.h
+++ b/clients/cli/utils.h
@@ -121,6 +121,9 @@ typedef enum {
 	NMC_GENERIC_INFO_TYPE_IP6_CONFIG_DOMAIN,
 	_NMC_GENERIC_INFO_TYPE_IP6_CONFIG_NUM,
 
+	NMC_GENERIC_INFO_TYPE_DHCP_CONFIG_OPTION = 0,
+	_NMC_GENERIC_INFO_TYPE_DHCP_CONFIG_NUM,
+
 	NMC_GENERIC_INFO_TYPE_CON_SHOW_NAME = 0,
 	NMC_GENERIC_INFO_TYPE_CON_SHOW_UUID,
 	NMC_GENERIC_INFO_TYPE_CON_SHOW_TYPE,
@@ -152,6 +155,74 @@ typedef enum {
 	NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_MASTER_PATH,
 	_NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_NUM,
 
+	NMC_GENERIC_INFO_TYPE_CON_VPN_TYPE = 0,
+	NMC_GENERIC_INFO_TYPE_CON_VPN_USERNAME,
+	NMC_GENERIC_INFO_TYPE_CON_VPN_GATEWAY,
+	NMC_GENERIC_INFO_TYPE_CON_VPN_BANNER,
+	NMC_GENERIC_INFO_TYPE_CON_VPN_VPN_STATE,
+	NMC_GENERIC_INFO_TYPE_CON_VPN_CFG,
+	_NMC_GENERIC_INFO_TYPE_CON_ACTIVE_VPN_NUM,
+
+	NMC_GENERIC_INFO_TYPE_DEVICE_STATUS_DEVICE = 0,
+	NMC_GENERIC_INFO_TYPE_DEVICE_STATUS_TYPE,
+	NMC_GENERIC_INFO_TYPE_DEVICE_STATUS_STATE,
+	NMC_GENERIC_INFO_TYPE_DEVICE_STATUS_DBUS_PATH,
+	NMC_GENERIC_INFO_TYPE_DEVICE_STATUS_CONNECTION,
+	NMC_GENERIC_INFO_TYPE_DEVICE_STATUS_CON_UUID,
+	NMC_GENERIC_INFO_TYPE_DEVICE_STATUS_CON_PATH,
+	_NMC_GENERIC_INFO_TYPE_DEVICE_STATUS_NUM,
+
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_DEVICE = 0,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_TYPE,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_NM_TYPE,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_VENDOR,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_PRODUCT,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_DRIVER,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_DRIVER_VERSION,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_FIRMWARE_VERSION,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_HWADDR,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_MTU,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_STATE,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_REASON,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_UDI,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_IP_IFACE,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_IS_SOFTWARE,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_NM_MANAGED,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_AUTOCONNECT,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_FIRMWARE_MISSING,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_NM_PLUGIN_MISSING,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_PHYS_PORT_ID,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_CONNECTION,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_CON_UUID,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_CON_PATH,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_METERED,
+	_NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_GENERAL_NUM,
+
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_CONNECTIONS_AVAILABLE_CONNECTION_PATHS = 0,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_CONNECTIONS_AVAILABLE_CONNECTIONS,
+	_NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_CONNECTIONS_NUM,
+
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_CAPABILITIES_CARRIER_DETECT = 0,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_CAPABILITIES_SPEED,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_CAPABILITIES_IS_SOFTWARE,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_CAPABILITIES_SRIOV,
+	_NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_CAPABILITIES_NUM,
+
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIRED_PROPERTIES_CARRIER = 0,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIRED_PROPERTIES_S390_SUBCHANNELS,
+	_NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIRED_PROPERTIES_NUM,
+
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIFI_PROPERTIES_WEP = 0,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIFI_PROPERTIES_WPA,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIFI_PROPERTIES_WPA2,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIFI_PROPERTIES_TKIP,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIFI_PROPERTIES_CCMP,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIFI_PROPERTIES_AP,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIFI_PROPERTIES_ADHOC,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIFI_PROPERTIES_2GHZ,
+	NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIFI_PROPERTIES_5GHZ,
+	_NMC_GENERIC_INFO_TYPE_DEVICE_DETAIL_WIFI_PROPERTIES_NUM,
+
 } NmcGenericInfoType;
 
 #define NMC_HANDLE_COLOR(color) \
@@ -175,6 +246,7 @@ struct _NmcMetaGenericInfo {
 	gpointer environment_user_data, \
 	const NmcMetaGenericInfo *info, \
 	gpointer target, \
+	gpointer target_data, \
 	NMMetaAccessorGetType get_type, \
 	NMMetaAccessorGetFlags get_flags, \
 	NMMetaAccessorGetOutFlags *out_flags, \
@@ -220,8 +292,19 @@ nmc_meta_generic_get_bool (gboolean val, NMMetaAccessorGetType get_type)
 	return nmc_meta_generic_get_str_i18n (val ? N_("yes") : N_("no"), get_type);
 }
 
+static inline const char *
+nmc_meta_generic_get_bool_onoff (gboolean val, NMMetaAccessorGetType get_type)
+{
+	return nmc_meta_generic_get_str_i18n (val ? N_("on") : N_("off"), get_type);
+}
+
+typedef enum {
+	NMC_META_GENERIC_GET_ENUM_TYPE_PARENTHESES,
+	NMC_META_GENERIC_GET_ENUM_TYPE_DASH,
+} NmcMetaGenericGetEnumType;
+
 static inline char *
-nmc_meta_generic_get_enum_with_detail (gint64 enum_val, const char *str_val, NMMetaAccessorGetType get_type)
+nmc_meta_generic_get_enum_with_detail (NmcMetaGenericGetEnumType get_enum_type, gint64 enum_val, const char *str_val, NMMetaAccessorGetType get_type)
 {
 	if (!NM_IN_SET (get_type, NM_META_ACCESSOR_GET_TYPE_PRETTY,
 	                          NM_META_ACCESSOR_GET_TYPE_PARSABLE))
@@ -232,18 +315,30 @@ nmc_meta_generic_get_enum_with_detail (gint64 enum_val, const char *str_val, NMM
 		return g_strdup_printf ("%lld", (long long) enum_val);
 	}
 
-	/* note that this function will always print "$NUM ($NICK)", also in PARSABLE
-	 * mode. That might not be desired, but it's done for certain properties to preserve
-	 * previous behavior. */
-	if (get_type == NM_META_ACCESSOR_GET_TYPE_PRETTY)
-		return g_strdup_printf (_("%lld (%s)"), (long long) enum_val, gettext (str_val));
-	return g_strdup_printf ("%lld (%s)", (long long) enum_val, str_val);
+	switch (get_enum_type) {
+	case NMC_META_GENERIC_GET_ENUM_TYPE_PARENTHESES:
+		/* note that this function will always print "$NUM ($NICK)", also in PARSABLE
+		 * mode. That might not be desired, but it's done for certain properties to preserve
+		 * previous behavior. */
+		if (get_type == NM_META_ACCESSOR_GET_TYPE_PRETTY)
+			return g_strdup_printf (_("%lld (%s)"), (long long) enum_val, gettext (str_val));
+		return g_strdup_printf ("%lld (%s)", (long long) enum_val, str_val);
+	case NMC_META_GENERIC_GET_ENUM_TYPE_DASH:
+		/* note that this function will always print "$NUM ($NICK)", also in PARSABLE
+		 * mode. That might not be desired, but it's done for certain properties to preserve
+		 * previous behavior. */
+		if (get_type == NM_META_ACCESSOR_GET_TYPE_PRETTY)
+			return g_strdup_printf (_("%lld - %s"), (long long) enum_val, gettext (str_val));
+		return g_strdup_printf ("%lld - %s", (long long) enum_val, str_val);
+	}
+	g_return_val_if_reached (NULL);
 }
 
 /*****************************************************************************/
 
 gboolean nmc_print (const NmcConfig *nmc_config,
                     gpointer const *targets,
+                    gpointer targets_data,
                     const char *header_name_no_l10n,
                     const NMMetaAbstractInfo *const*fields,
                     const char *fields_str,