summary refs log tree commit diff
path: root/src/libnmc-setting/nm-meta-setting-desc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libnmc-setting/nm-meta-setting-desc.h')
-rw-r--r--src/libnmc-setting/nm-meta-setting-desc.h41
1 files changed, 39 insertions, 2 deletions
diff --git a/src/libnmc-setting/nm-meta-setting-desc.h b/src/libnmc-setting/nm-meta-setting-desc.h
index 8e3383cc..f8e36b0e 100644
--- a/src/libnmc-setting/nm-meta-setting-desc.h
+++ b/src/libnmc-setting/nm-meta-setting-desc.h
@@ -178,11 +178,35 @@ typedef enum {
 
 typedef enum {
     NM_META_PROPERTY_TYPE_MAC_MODE_DEFAULT,
-    NM_META_PROPERTY_TYPE_MAC_MODE_CLONED,
+    NM_META_PROPERTY_TYPE_MAC_MODE_CLONED_ETHERNET,
+    NM_META_PROPERTY_TYPE_MAC_MODE_CLONED_WIFI,
     NM_META_PROPERTY_TYPE_MAC_MODE_INFINIBAND,
     NM_META_PROPERTY_TYPE_MAC_MODE_WPAN,
 } NMMetaPropertyTypeMacMode;
 
+typedef enum _nm_packed {
+    NM_META_PROPERTY_TYPE_FORMAT_UNDEF = 0,
+    NM_META_PROPERTY_TYPE_FORMAT_INT,
+    NM_META_PROPERTY_TYPE_FORMAT_STRING,
+    NM_META_PROPERTY_TYPE_FORMAT_ENUM,
+    NM_META_PROPERTY_TYPE_FORMAT_SECRET_FLAGS,
+    NM_META_PROPERTY_TYPE_FORMAT_BOOL,
+    NM_META_PROPERTY_TYPE_FORMAT_TERNARY,
+    NM_META_PROPERTY_TYPE_FORMAT_MAC,
+    NM_META_PROPERTY_TYPE_FORMAT_IPV4,
+    NM_META_PROPERTY_TYPE_FORMAT_IPV6,
+    NM_META_PROPERTY_TYPE_FORMAT_MTU,
+    NM_META_PROPERTY_TYPE_FORMAT_BYTES,
+    NM_META_PROPERTY_TYPE_FORMAT_PATH,
+    NM_META_PROPERTY_TYPE_FORMAT_ETHTOOL,
+    NM_META_PROPERTY_TYPE_FORMAT_MULTILIST,
+    NM_META_PROPERTY_TYPE_FORMAT_OBJLIST,
+    NM_META_PROPERTY_TYPE_FORMAT_OPTIONLIST,
+    NM_META_PROPERTY_TYPE_FORMAT_DCB,
+    NM_META_PROPERTY_TYPE_FORMAT_DCB_BOOL,
+    NM_META_PROPERTY_TYPE_FORMAT_DCB_FLAGS,
+} NMMetaPropertyTypeFormat;
+
 typedef struct _NMMetaEnvironment           NMMetaEnvironment;
 typedef struct _NMMetaType                  NMMetaType;
 typedef struct _NMMetaAbstractInfo          NMMetaAbstractInfo;
@@ -232,6 +256,8 @@ struct _NMMetaPropertyType {
                                        gboolean                     *out_complete_filename,
                                        char                       ***out_to_free);
 
+    NMMetaPropertyTypeFormat doc_format;
+
     /* Whether set_fcn() supports the '-' modifier. That is, whether the property
      * is a list type. */
     bool set_supports_remove : 1;
@@ -252,7 +278,7 @@ typedef struct {
 struct _NMMetaPropertyTypData {
     union {
         struct {
-            GType (*get_gtype)(void);
+            GType (*get_gtype)(void); /* note: only allowed for int/uint properties */
             int                                 min;
             int                                 max;
             const struct _NMUtilsEnumValueInfo *value_infos_get; /* nicks for get function */
@@ -350,6 +376,7 @@ struct _NMMetaPropertyTypData {
     const char *const                 *values_static;
     const NMMetaPropertyTypDataNested *nested;
     NMMetaPropertyTypFlags             typ_flags;
+    NMMetaPropertyTypeFormat           list_items_doc_format;
 };
 
 typedef enum {
@@ -479,6 +506,16 @@ const NMMetaSettingValidPartItem *const *
 nm_meta_setting_info_valid_parts_for_slave_type(const char  *slave_type,
                                                 const char **out_slave_name);
 
+gboolean nm_meta_property_int_get_range(const NMMetaPropertyInfo *property_info,
+                                        NMMetaSignUnsignInt64    *out_min,
+                                        NMMetaSignUnsignInt64    *out_max);
+
+gboolean nm_meta_property_enum_get_range(const NMMetaPropertyInfo *property_info,
+                                         int                      *out_min,
+                                         int                      *out_max);
+
+GType nm_meta_property_enum_get_type(const NMMetaPropertyInfo *property_info);
+
 /*****************************************************************************/
 
 typedef enum {