diff options
Diffstat (limited to 'clients/cli/utils.h')
| -rw-r--r-- | clients/cli/utils.h | 109 |
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, |