libnm: refactor some NMSetting to use direct properties

"direct" properties are the latest preferred way to implement GObject
base properties. That way, the property meta data tracks the
"direct_type" and the offset where to find the data in the struct.

That way, we can automatically

- initialize the default values
- free during finalize
- implement get_property()/set_property()

Also, the other settings operations (compare, to/from D-Bus) are
implemented more efficiently and don't need to go through
g_object_get_property()/GValue API.
This commit is contained in:
Thomas Haller 2021-10-20 16:13:14 +02:00
parent 989a6911ba
commit 04b4982d3c
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728
19 changed files with 1100 additions and 2227 deletions

File diff suppressed because it is too large Load diff

View file

@ -31,13 +31,13 @@ NM_GOBJECT_PROPERTIES_DEFINE_BASE(PROP_USERNAME,
PROP_VCI, );
typedef struct {
char * username;
char * password;
NMSettingSecretFlags password_flags;
char * protocol;
char * encapsulation;
guint32 vpi;
guint32 vci;
char * username;
char * password;
char * protocol;
char * encapsulation;
guint password_flags;
guint32 vpi;
guint32 vci;
} NMSettingAdslPrivate;
/**
@ -243,81 +243,6 @@ need_secrets(NMSetting *setting)
/*****************************************************************************/
static void
get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
NMSettingAdsl *setting = NM_SETTING_ADSL(object);
switch (prop_id) {
case PROP_USERNAME:
g_value_set_string(value, nm_setting_adsl_get_username(setting));
break;
case PROP_PASSWORD:
g_value_set_string(value, nm_setting_adsl_get_password(setting));
break;
case PROP_PASSWORD_FLAGS:
g_value_set_flags(value, nm_setting_adsl_get_password_flags(setting));
break;
case PROP_PROTOCOL:
g_value_set_string(value, nm_setting_adsl_get_protocol(setting));
break;
case PROP_ENCAPSULATION:
g_value_set_string(value, nm_setting_adsl_get_encapsulation(setting));
break;
case PROP_VPI:
g_value_set_uint(value, nm_setting_adsl_get_vpi(setting));
break;
case PROP_VCI:
g_value_set_uint(value, nm_setting_adsl_get_vci(setting));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
}
}
static void
set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
NMSettingAdslPrivate *priv = NM_SETTING_ADSL_GET_PRIVATE(object);
const char * str;
switch (prop_id) {
case PROP_USERNAME:
g_free(priv->username);
priv->username = g_value_dup_string(value);
break;
case PROP_PASSWORD:
g_free(priv->password);
priv->password = g_value_dup_string(value);
break;
case PROP_PASSWORD_FLAGS:
priv->password_flags = g_value_get_flags(value);
break;
case PROP_PROTOCOL:
g_free(priv->protocol);
str = g_value_get_string(value);
priv->protocol = str ? g_ascii_strdown(str, -1) : NULL;
break;
case PROP_ENCAPSULATION:
g_free(priv->encapsulation);
str = g_value_get_string(value);
priv->encapsulation = str ? g_ascii_strdown(str, -1) : NULL;
break;
case PROP_VPI:
priv->vpi = g_value_get_uint(value);
break;
case PROP_VCI:
priv->vci = g_value_get_uint(value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
}
}
/*****************************************************************************/
static void
nm_setting_adsl_init(NMSettingAdsl *setting)
{}
@ -344,8 +269,8 @@ nm_setting_adsl_class_init(NMSettingAdslClass *klass)
g_type_class_add_private(klass, sizeof(NMSettingAdslPrivate));
object_class->get_property = get_property;
object_class->set_property = set_property;
object_class->get_property = _nm_setting_property_get_property_direct;
object_class->set_property = _nm_setting_property_set_property_direct;
setting_class->verify = verify;
setting_class->verify_secrets = verify_secrets;
@ -382,13 +307,12 @@ nm_setting_adsl_class_init(NMSettingAdslClass *klass)
*
* Flags indicating how to handle the #NMSettingAdsl:password property.
**/
obj_properties[PROP_PASSWORD_FLAGS] =
g_param_spec_flags(NM_SETTING_ADSL_PASSWORD_FLAGS,
"",
"",
NM_TYPE_SETTING_SECRET_FLAGS,
NM_SETTING_SECRET_FLAG_NONE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_secret_flags(properties_override,
obj_properties,
NM_SETTING_ADSL_PASSWORD_FLAGS,
PROP_PASSWORD_FLAGS,
NMSettingAdslPrivate,
password_flags);
/**
* NMSettingAdsl:protocol:
@ -423,26 +347,32 @@ nm_setting_adsl_class_init(NMSettingAdslClass *klass)
*
* VPI of ADSL connection
**/
obj_properties[PROP_VPI] = g_param_spec_uint(NM_SETTING_ADSL_VPI,
"",
"",
0,
65536,
0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_ADSL_VPI,
PROP_VPI,
0,
65536,
0,
NM_SETTING_PARAM_NONE,
NMSettingAdslPrivate,
vpi);
/**
* NMSettingAdsl:vci:
*
* VCI of ADSL connection
**/
obj_properties[PROP_VCI] = g_param_spec_uint(NM_SETTING_ADSL_VCI,
"",
"",
0,
65536,
0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_ADSL_VCI,
PROP_VCI,
0,
65536,
0,
NM_SETTING_PARAM_NONE,
NMSettingAdslPrivate,
vci);
g_object_class_install_properties(object_class, _PROPERTY_ENUMS_LAST, obj_properties);

View file

@ -34,8 +34,8 @@ NM_GOBJECT_PROPERTIES_DEFINE(NMSettingBridgePort,
typedef struct {
GPtrArray *vlans;
guint16 priority;
guint16 path_cost;
guint32 priority;
guint32 path_cost;
bool hairpin_mode;
} NMSettingBridgePortPrivate;
@ -385,15 +385,6 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
NMSettingBridgePortPrivate *priv = NM_SETTING_BRIDGE_PORT_GET_PRIVATE(object);
switch (prop_id) {
case PROP_PRIORITY:
g_value_set_uint(value, priv->priority);
break;
case PROP_PATH_COST:
g_value_set_uint(value, priv->path_cost);
break;
case PROP_HAIRPIN_MODE:
g_value_set_boolean(value, priv->hairpin_mode);
break;
case PROP_VLANS:
g_value_take_boxed(value,
_nm_utils_copy_array(priv->vlans,
@ -401,7 +392,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
(GDestroyNotify) nm_bridge_vlan_unref));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
_nm_setting_property_get_property_direct(object, prop_id, value, pspec);
break;
}
}
@ -412,15 +403,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
NMSettingBridgePortPrivate *priv = NM_SETTING_BRIDGE_PORT_GET_PRIVATE(object);
switch (prop_id) {
case PROP_PRIORITY:
priv->priority = g_value_get_uint(value);
break;
case PROP_PATH_COST:
priv->path_cost = g_value_get_uint(value);
break;
case PROP_HAIRPIN_MODE:
priv->hairpin_mode = g_value_get_boolean(value);
break;
case PROP_VLANS:
g_ptr_array_unref(priv->vlans);
priv->vlans = _nm_utils_copy_array(g_value_get_boxed(value),
@ -428,7 +410,7 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
(GDestroyNotify) nm_bridge_vlan_unref);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
_nm_setting_property_set_property_direct(object, prop_id, value, pspec);
break;
}
}
@ -441,9 +423,6 @@ nm_setting_bridge_port_init(NMSettingBridgePort *setting)
NMSettingBridgePortPrivate *priv = NM_SETTING_BRIDGE_PORT_GET_PRIVATE(setting);
priv->vlans = g_ptr_array_new_with_free_func((GDestroyNotify) nm_bridge_vlan_unref);
priv->priority = NM_BRIDGE_PORT_PRIORITY_DEF;
priv->path_cost = NM_BRIDGE_PORT_PATH_COST_DEF;
}
/**
@ -478,9 +457,9 @@ nm_setting_bridge_port_class_init(NMSettingBridgePortClass *klass)
g_type_class_add_private(klass, sizeof(NMSettingBridgePortPrivate));
object_class->finalize = finalize;
object_class->get_property = get_property;
object_class->set_property = set_property;
object_class->finalize = finalize;
setting_class->verify = verify;
@ -497,14 +476,16 @@ nm_setting_bridge_port_class_init(NMSettingBridgePortClass *klass)
* description: STP priority.
* ---end---
*/
obj_properties[PROP_PRIORITY] =
g_param_spec_uint(NM_SETTING_BRIDGE_PORT_PRIORITY,
"",
"",
NM_BRIDGE_PORT_PRIORITY_MIN,
NM_BRIDGE_PORT_PRIORITY_MAX,
NM_BRIDGE_PORT_PRIORITY_DEF,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_BRIDGE_PORT_PRIORITY,
PROP_PRIORITY,
NM_BRIDGE_PORT_PRIORITY_MIN,
NM_BRIDGE_PORT_PRIORITY_MAX,
NM_BRIDGE_PORT_PRIORITY_DEF,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePortPrivate,
priority);
/**
* NMSettingBridgePort:path-cost:
@ -520,13 +501,16 @@ nm_setting_bridge_port_class_init(NMSettingBridgePortClass *klass)
* description: STP cost.
* ---end---
*/
obj_properties[PROP_PATH_COST] = g_param_spec_uint(NM_SETTING_BRIDGE_PORT_PATH_COST,
"",
"",
NM_BRIDGE_PORT_PATH_COST_MIN,
NM_BRIDGE_PORT_PATH_COST_MAX,
NM_BRIDGE_PORT_PATH_COST_DEF,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_BRIDGE_PORT_PATH_COST,
PROP_PATH_COST,
NM_BRIDGE_PORT_PATH_COST_MIN,
NM_BRIDGE_PORT_PATH_COST_MAX,
NM_BRIDGE_PORT_PATH_COST_DEF,
NM_SETTING_PARAM_NONE,
NMSettingBridgePortPrivate,
path_cost);
/**
* NMSettingBridgePort:hairpin-mode:

View file

@ -71,12 +71,12 @@ typedef struct {
guint32 multicast_hash_max;
guint32 multicast_last_member_count;
guint32 multicast_startup_query_count;
guint16 priority;
guint16 forward_delay;
guint16 hello_time;
guint16 max_age;
guint16 vlan_default_pvid;
guint16 group_forward_mask;
guint32 priority;
guint32 forward_delay;
guint32 hello_time;
guint32 max_age;
guint32 group_forward_mask;
guint32 vlan_default_pvid;
bool stp;
bool multicast_snooping;
bool vlan_filtering;
@ -1231,7 +1231,7 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
error))
return FALSE;
if (priv->group_forward_mask & 7) {
if (priv->group_forward_mask & 7u) {
g_set_error_literal(error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_INVALID_PROPERTY,
@ -1329,88 +1329,9 @@ compare_fcn_vlans(_NM_SETT_INFO_PROP_COMPARE_FCN_ARGS _nm_nil)
static void
get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
NMSettingBridgePrivate *priv = NM_SETTING_BRIDGE_GET_PRIVATE(object);
NMSettingBridge * setting = NM_SETTING_BRIDGE(object);
NMSettingBridgePrivate *priv = NM_SETTING_BRIDGE_GET_PRIVATE(object);
switch (prop_id) {
case PROP_MAC_ADDRESS:
g_value_set_string(value, nm_setting_bridge_get_mac_address(setting));
break;
case PROP_STP:
g_value_set_boolean(value, priv->stp);
break;
case PROP_PRIORITY:
g_value_set_uint(value, priv->priority);
break;
case PROP_FORWARD_DELAY:
g_value_set_uint(value, priv->forward_delay);
break;
case PROP_HELLO_TIME:
g_value_set_uint(value, priv->hello_time);
break;
case PROP_MAX_AGE:
g_value_set_uint(value, priv->max_age);
break;
case PROP_AGEING_TIME:
g_value_set_uint(value, priv->ageing_time);
break;
case PROP_GROUP_ADDRESS:
g_value_set_string(value, priv->group_address);
break;
case PROP_GROUP_FORWARD_MASK:
g_value_set_uint(value, priv->group_forward_mask);
break;
case PROP_MULTICAST_HASH_MAX:
g_value_set_uint(value, priv->multicast_hash_max);
break;
case PROP_MULTICAST_LAST_MEMBER_COUNT:
g_value_set_uint(value, priv->multicast_last_member_count);
break;
case PROP_MULTICAST_LAST_MEMBER_INTERVAL:
g_value_set_uint64(value, priv->multicast_last_member_interval);
break;
case PROP_MULTICAST_MEMBERSHIP_INTERVAL:
g_value_set_uint64(value, priv->multicast_membership_interval);
break;
case PROP_MULTICAST_SNOOPING:
g_value_set_boolean(value, priv->multicast_snooping);
break;
case PROP_MULTICAST_ROUTER:
g_value_set_string(value, priv->multicast_router);
break;
case PROP_MULTICAST_QUERIER:
g_value_set_boolean(value, priv->multicast_querier);
break;
case PROP_MULTICAST_QUERIER_INTERVAL:
g_value_set_uint64(value, priv->multicast_querier_interval);
break;
case PROP_MULTICAST_QUERY_INTERVAL:
g_value_set_uint64(value, priv->multicast_query_interval);
break;
case PROP_MULTICAST_QUERY_RESPONSE_INTERVAL:
g_value_set_uint64(value, priv->multicast_query_response_interval);
break;
case PROP_MULTICAST_QUERY_USE_IFADDR:
g_value_set_boolean(value, priv->multicast_query_use_ifaddr);
break;
case PROP_MULTICAST_STARTUP_QUERY_COUNT:
g_value_set_uint(value, priv->multicast_startup_query_count);
break;
case PROP_MULTICAST_STARTUP_QUERY_INTERVAL:
g_value_set_uint64(value, priv->multicast_startup_query_interval);
break;
case PROP_VLAN_FILTERING:
g_value_set_boolean(value, priv->vlan_filtering);
break;
case PROP_VLAN_DEFAULT_PVID:
g_value_set_uint(value, priv->vlan_default_pvid);
break;
case PROP_VLAN_PROTOCOL:
g_value_set_string(value, priv->vlan_protocol);
break;
case PROP_VLAN_STATS_ENABLED:
g_value_set_boolean(value, priv->vlan_stats_enabled);
break;
case PROP_VLANS:
g_value_take_boxed(value,
_nm_utils_copy_array(priv->vlans,
@ -1418,7 +1339,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
(GDestroyNotify) nm_bridge_vlan_unref));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
_nm_setting_property_get_property_direct(object, prop_id, value, pspec);
break;
}
}
@ -1429,90 +1350,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
NMSettingBridgePrivate *priv = NM_SETTING_BRIDGE_GET_PRIVATE(object);
switch (prop_id) {
case PROP_MAC_ADDRESS:
g_free(priv->mac_address);
priv->mac_address =
_nm_utils_hwaddr_canonical_or_invalid(g_value_get_string(value), ETH_ALEN);
break;
case PROP_STP:
priv->stp = g_value_get_boolean(value);
break;
case PROP_PRIORITY:
priv->priority = (guint16) g_value_get_uint(value);
break;
case PROP_FORWARD_DELAY:
priv->forward_delay = (guint16) g_value_get_uint(value);
break;
case PROP_HELLO_TIME:
priv->hello_time = (guint16) g_value_get_uint(value);
break;
case PROP_MAX_AGE:
priv->max_age = (guint16) g_value_get_uint(value);
break;
case PROP_AGEING_TIME:
priv->ageing_time = g_value_get_uint(value);
break;
case PROP_GROUP_ADDRESS:
g_free(priv->group_address);
priv->group_address =
_nm_utils_hwaddr_canonical_or_invalid(g_value_get_string(value), ETH_ALEN);
break;
case PROP_GROUP_FORWARD_MASK:
priv->group_forward_mask = (guint16) g_value_get_uint(value);
break;
case PROP_MULTICAST_HASH_MAX:
priv->multicast_hash_max = g_value_get_uint(value);
break;
case PROP_MULTICAST_LAST_MEMBER_COUNT:
priv->multicast_last_member_count = g_value_get_uint(value);
break;
case PROP_MULTICAST_LAST_MEMBER_INTERVAL:
priv->multicast_last_member_interval = g_value_get_uint64(value);
break;
case PROP_MULTICAST_MEMBERSHIP_INTERVAL:
priv->multicast_membership_interval = g_value_get_uint64(value);
break;
case PROP_MULTICAST_SNOOPING:
priv->multicast_snooping = g_value_get_boolean(value);
break;
case PROP_MULTICAST_ROUTER:
g_free(priv->multicast_router);
priv->multicast_router = g_value_dup_string(value);
break;
case PROP_MULTICAST_QUERIER:
priv->multicast_querier = g_value_get_boolean(value);
break;
case PROP_MULTICAST_QUERIER_INTERVAL:
priv->multicast_querier_interval = g_value_get_uint64(value);
break;
case PROP_MULTICAST_QUERY_INTERVAL:
priv->multicast_query_interval = g_value_get_uint64(value);
break;
case PROP_MULTICAST_QUERY_RESPONSE_INTERVAL:
priv->multicast_query_response_interval = g_value_get_uint64(value);
break;
case PROP_MULTICAST_QUERY_USE_IFADDR:
priv->multicast_query_use_ifaddr = g_value_get_boolean(value);
break;
case PROP_MULTICAST_STARTUP_QUERY_COUNT:
priv->multicast_startup_query_count = g_value_get_uint(value);
break;
case PROP_MULTICAST_STARTUP_QUERY_INTERVAL:
priv->multicast_startup_query_interval = g_value_get_uint64(value);
break;
case PROP_VLAN_FILTERING:
priv->vlan_filtering = g_value_get_boolean(value);
break;
case PROP_VLAN_DEFAULT_PVID:
priv->vlan_default_pvid = g_value_get_uint(value);
break;
case PROP_VLAN_PROTOCOL:
g_free(priv->vlan_protocol);
priv->vlan_protocol = g_value_dup_string(value);
break;
case PROP_VLAN_STATS_ENABLED:
priv->vlan_stats_enabled = g_value_get_boolean(value);
break;
case PROP_VLANS:
g_ptr_array_unref(priv->vlans);
priv->vlans = _nm_utils_copy_array(g_value_get_boxed(value),
@ -1520,7 +1357,7 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
(GDestroyNotify) nm_bridge_vlan_unref);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
_nm_setting_property_set_property_direct(object, prop_id, value, pspec);
break;
}
}
@ -1533,22 +1370,6 @@ nm_setting_bridge_init(NMSettingBridge *setting)
NMSettingBridgePrivate *priv = NM_SETTING_BRIDGE_GET_PRIVATE(setting);
priv->vlans = g_ptr_array_new_with_free_func((GDestroyNotify) nm_bridge_vlan_unref);
priv->ageing_time = NM_BRIDGE_AGEING_TIME_DEF;
priv->forward_delay = NM_BRIDGE_FORWARD_DELAY_DEF;
priv->hello_time = NM_BRIDGE_HELLO_TIME_DEF;
priv->max_age = NM_BRIDGE_MAX_AGE_DEF;
priv->multicast_last_member_count = NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEF;
priv->multicast_last_member_interval = NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEF;
priv->multicast_membership_interval = NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEF;
priv->multicast_hash_max = NM_BRIDGE_MULTICAST_HASH_MAX_DEF;
priv->priority = NM_BRIDGE_PRIORITY_DEF;
priv->vlan_default_pvid = NM_BRIDGE_VLAN_DEFAULT_PVID_DEF;
priv->multicast_query_interval = NM_BRIDGE_MULTICAST_QUERY_INTERVAL_DEF;
priv->multicast_query_response_interval = NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEF;
priv->multicast_querier_interval = NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF;
priv->multicast_startup_query_count = NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEF;
priv->multicast_startup_query_interval = NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEF;
}
/**
@ -1569,8 +1390,6 @@ finalize(GObject *object)
{
NMSettingBridgePrivate *priv = NM_SETTING_BRIDGE_GET_PRIVATE(object);
g_free(priv->multicast_router);
g_free(priv->vlan_protocol);
g_ptr_array_unref(priv->vlans);
G_OBJECT_CLASS(nm_setting_bridge_parent_class)->finalize(object);
@ -1664,14 +1483,16 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
* description: STP priority.
* ---end---
*/
obj_properties[PROP_PRIORITY] =
g_param_spec_uint(NM_SETTING_BRIDGE_PRIORITY,
"",
"",
NM_BRIDGE_PRIORITY_MIN,
NM_BRIDGE_PRIORITY_MAX,
NM_BRIDGE_PRIORITY_DEF,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_BRIDGE_PRIORITY,
PROP_PRIORITY,
NM_BRIDGE_PRIORITY_MIN,
NM_BRIDGE_PRIORITY_MAX,
NM_BRIDGE_PRIORITY_DEF,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
priority);
/**
* NMSettingBridge:forward-delay:
@ -1686,14 +1507,16 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
* description: STP forwarding delay.
* ---end---
*/
obj_properties[PROP_FORWARD_DELAY] =
g_param_spec_uint(NM_SETTING_BRIDGE_FORWARD_DELAY,
"",
"",
0,
NM_BRIDGE_FORWARD_DELAY_MAX,
NM_BRIDGE_FORWARD_DELAY_DEF,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_BRIDGE_FORWARD_DELAY,
PROP_FORWARD_DELAY,
0,
NM_BRIDGE_FORWARD_DELAY_MAX,
NM_BRIDGE_FORWARD_DELAY_DEF,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
forward_delay);
/**
* NMSettingBridge:hello-time:
@ -1708,14 +1531,16 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
* description: STP hello time.
* ---end---
*/
obj_properties[PROP_HELLO_TIME] =
g_param_spec_uint(NM_SETTING_BRIDGE_HELLO_TIME,
"",
"",
0,
NM_BRIDGE_HELLO_TIME_MAX,
NM_BRIDGE_HELLO_TIME_DEF,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_BRIDGE_HELLO_TIME,
PROP_HELLO_TIME,
0,
NM_BRIDGE_HELLO_TIME_MAX,
NM_BRIDGE_HELLO_TIME_DEF,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
hello_time);
/**
* NMSettingBridge:max-age:
@ -1730,14 +1555,16 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
* description: STP maximum message age.
* ---end---
*/
obj_properties[PROP_MAX_AGE] =
g_param_spec_uint(NM_SETTING_BRIDGE_MAX_AGE,
"",
"",
0,
NM_BRIDGE_MAX_AGE_MAX,
NM_BRIDGE_MAX_AGE_DEF,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_BRIDGE_MAX_AGE,
PROP_MAX_AGE,
0,
NM_BRIDGE_MAX_AGE_MAX,
NM_BRIDGE_MAX_AGE_DEF,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
max_age);
/**
* NMSettingBridge:ageing-time:
@ -1752,14 +1579,16 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
* description: Ethernet MAC ageing time.
* ---end---
*/
obj_properties[PROP_AGEING_TIME] =
g_param_spec_uint(NM_SETTING_BRIDGE_AGEING_TIME,
"",
"",
NM_BRIDGE_AGEING_TIME_MIN,
NM_BRIDGE_AGEING_TIME_MAX,
NM_BRIDGE_AGEING_TIME_DEF,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_BRIDGE_AGEING_TIME,
PROP_AGEING_TIME,
NM_BRIDGE_AGEING_TIME_MIN,
NM_BRIDGE_AGEING_TIME_MAX,
NM_BRIDGE_AGEING_TIME_DEF,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
ageing_time);
/**
* NMSettingBridge:group-forward-mask:
@ -1773,14 +1602,16 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
*
* Since: 1.10
**/
obj_properties[PROP_GROUP_FORWARD_MASK] =
g_param_spec_uint(NM_SETTING_BRIDGE_GROUP_FORWARD_MASK,
"",
"",
0,
0xFFFF,
0,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_BRIDGE_GROUP_FORWARD_MASK,
PROP_GROUP_FORWARD_MASK,
0,
0xFFFF,
0,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
group_forward_mask);
/**
* NMSettingBridge:multicast-snooping:
@ -1849,14 +1680,16 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
* description: default VLAN PVID.
* ---end---
*/
obj_properties[PROP_VLAN_DEFAULT_PVID] =
g_param_spec_uint(NM_SETTING_BRIDGE_VLAN_DEFAULT_PVID,
"",
"",
0,
NM_BRIDGE_VLAN_VID_MAX,
NM_BRIDGE_VLAN_DEFAULT_PVID_DEF,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_BRIDGE_VLAN_DEFAULT_PVID,
PROP_VLAN_DEFAULT_PVID,
0,
NM_BRIDGE_VLAN_VID_MAX,
NM_BRIDGE_VLAN_DEFAULT_PVID_DEF,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
vlan_default_pvid);
/**
* NMSettingBridge:vlans: (type GPtrArray(NMBridgeVlan))
@ -1954,12 +1787,13 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
*
* Since: 1.24
*/
obj_properties[PROP_VLAN_PROTOCOL] = g_param_spec_string(
NM_SETTING_BRIDGE_VLAN_PROTOCOL,
"",
"",
NULL,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_string(properties_override,
obj_properties,
NM_SETTING_BRIDGE_VLAN_PROTOCOL,
PROP_VLAN_PROTOCOL,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
vlan_protocol);
/**
* NMSettingBridge:vlan-stats-enabled:
@ -2004,12 +1838,13 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
*
* Since: 1.24
*/
obj_properties[PROP_MULTICAST_ROUTER] = g_param_spec_string(
NM_SETTING_BRIDGE_MULTICAST_ROUTER,
"",
"",
NULL,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_string(properties_override,
obj_properties,
NM_SETTING_BRIDGE_MULTICAST_ROUTER,
PROP_MULTICAST_ROUTER,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
multicast_router);
/**
* NMSettingBridge:multicast-query-use-ifaddr:
@ -2074,14 +1909,16 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
*
* Since: 1.26
*/
obj_properties[PROP_MULTICAST_HASH_MAX] =
g_param_spec_uint(NM_SETTING_BRIDGE_MULTICAST_HASH_MAX,
"",
"",
NM_BRIDGE_MULTICAST_HASH_MAX_MIN,
NM_BRIDGE_MULTICAST_HASH_MAX_MAX,
NM_BRIDGE_MULTICAST_HASH_MAX_DEF,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_BRIDGE_MULTICAST_HASH_MAX,
PROP_MULTICAST_HASH_MAX,
NM_BRIDGE_MULTICAST_HASH_MAX_MIN,
NM_BRIDGE_MULTICAST_HASH_MAX_MAX,
NM_BRIDGE_MULTICAST_HASH_MAX_DEF,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
multicast_hash_max);
/**
* NMSettingBridge:multicast-last-member-count:
@ -2099,14 +1936,16 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
*
* Since: 1.26
*/
obj_properties[PROP_MULTICAST_LAST_MEMBER_COUNT] =
g_param_spec_uint(NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_COUNT,
"",
"",
NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_MIN,
NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_MAX,
NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEF,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_COUNT,
PROP_MULTICAST_LAST_MEMBER_COUNT,
NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_MIN,
NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_MAX,
NM_BRIDGE_MULTICAST_LAST_MEMBER_COUNT_DEF,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
multicast_last_member_count);
/**
* NMSettingBridge:multicast-last-member-interval:
@ -2123,14 +1962,16 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
*
* Since: 1.26
*/
obj_properties[PROP_MULTICAST_LAST_MEMBER_INTERVAL] = g_param_spec_uint64(
NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL,
"",
"",
NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_MIN,
NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_MAX,
NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEF,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint64(properties_override,
obj_properties,
NM_SETTING_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL,
PROP_MULTICAST_LAST_MEMBER_INTERVAL,
NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_MIN,
NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_MAX,
NM_BRIDGE_MULTICAST_LAST_MEMBER_INTERVAL_DEF,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
multicast_last_member_interval);
/**
* NMSettingBridge:multicast-membership-interval:
@ -2148,14 +1989,16 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
*
* Since: 1.26
*/
obj_properties[PROP_MULTICAST_MEMBERSHIP_INTERVAL] = g_param_spec_uint64(
NM_SETTING_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL,
"",
"",
NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_MIN,
NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_MAX,
NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEF,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint64(properties_override,
obj_properties,
NM_SETTING_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL,
PROP_MULTICAST_MEMBERSHIP_INTERVAL,
NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_MIN,
NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_MAX,
NM_BRIDGE_MULTICAST_MEMBERSHIP_INTERVAL_DEF,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
multicast_membership_interval);
/**
* NMSettingBridge:multicast-querier-interval:
@ -2172,14 +2015,16 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
*
* Since: 1.26
*/
obj_properties[PROP_MULTICAST_QUERIER_INTERVAL] = g_param_spec_uint64(
NM_SETTING_BRIDGE_MULTICAST_QUERIER_INTERVAL,
"",
"",
NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_MIN,
NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_MAX,
NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint64(properties_override,
obj_properties,
NM_SETTING_BRIDGE_MULTICAST_QUERIER_INTERVAL,
PROP_MULTICAST_QUERIER_INTERVAL,
NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_MIN,
NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_MAX,
NM_BRIDGE_MULTICAST_QUERIER_INTERVAL_DEF,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
multicast_querier_interval);
/**
* NMSettingBridge:multicast-query-interval:
@ -2196,14 +2041,16 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
*
* Since: 1.26
*/
obj_properties[PROP_MULTICAST_QUERY_INTERVAL] = g_param_spec_uint64(
NM_SETTING_BRIDGE_MULTICAST_QUERY_INTERVAL,
"",
"",
NM_BRIDGE_MULTICAST_QUERY_INTERVAL_MIN,
NM_BRIDGE_MULTICAST_QUERY_INTERVAL_MAX,
NM_BRIDGE_MULTICAST_QUERY_INTERVAL_DEF,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint64(properties_override,
obj_properties,
NM_SETTING_BRIDGE_MULTICAST_QUERY_INTERVAL,
PROP_MULTICAST_QUERY_INTERVAL,
NM_BRIDGE_MULTICAST_QUERY_INTERVAL_MIN,
NM_BRIDGE_MULTICAST_QUERY_INTERVAL_MAX,
NM_BRIDGE_MULTICAST_QUERY_INTERVAL_DEF,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
multicast_query_interval);
/**
* NMSettingBridge:multicast-query-response-interval:
@ -2220,14 +2067,16 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
*
* Since: 1.26
*/
obj_properties[PROP_MULTICAST_QUERY_RESPONSE_INTERVAL] = g_param_spec_uint64(
NM_SETTING_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL,
"",
"",
NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_MIN,
NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_MAX,
NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEF,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint64(properties_override,
obj_properties,
NM_SETTING_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL,
PROP_MULTICAST_QUERY_RESPONSE_INTERVAL,
NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_MIN,
NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_MAX,
NM_BRIDGE_MULTICAST_QUERY_RESPONSE_INTERVAL_DEF,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
multicast_query_response_interval);
/**
* NMSettingBridge:multicast-startup-query-count:
@ -2243,14 +2092,16 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
*
* Since: 1.26
*/
obj_properties[PROP_MULTICAST_STARTUP_QUERY_COUNT] =
g_param_spec_uint(NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT,
"",
"",
NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_MIN,
NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_MAX,
NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEF,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT,
PROP_MULTICAST_STARTUP_QUERY_COUNT,
NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_MIN,
NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_MAX,
NM_BRIDGE_MULTICAST_STARTUP_QUERY_COUNT_DEF,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
multicast_startup_query_count);
/**
* NMSettingBridge:multicast-startup-query-interval:
@ -2267,14 +2118,16 @@ nm_setting_bridge_class_init(NMSettingBridgeClass *klass)
*
* Since: 1.26
*/
obj_properties[PROP_MULTICAST_STARTUP_QUERY_INTERVAL] = g_param_spec_uint64(
NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL,
"",
"",
NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_MIN,
NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_MAX,
NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEF,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint64(properties_override,
obj_properties,
NM_SETTING_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL,
PROP_MULTICAST_STARTUP_QUERY_INTERVAL,
NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_MIN,
NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_MAX,
NM_BRIDGE_MULTICAST_STARTUP_QUERY_INTERVAL_DEF,
NM_SETTING_PARAM_INFERRABLE,
NMSettingBridgePrivate,
multicast_startup_query_interval);
g_object_class_install_properties(object_class, _PROPERTY_ENUMS_LAST, obj_properties);

View file

@ -29,7 +29,7 @@ NM_GOBJECT_PROPERTIES_DEFINE_BASE(PROP_NUMBER,
PROP_MTU, );
typedef struct {
char * number; /* For dialing, duh */
char * number;
char * username;
char * password;
guint32 mtu;
@ -136,23 +136,23 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
{
NMSettingCdmaPrivate *priv = NM_SETTING_CDMA_GET_PRIVATE(setting);
if (!priv->number) {
g_set_error_literal(error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_MISSING_PROPERTY,
_("property is missing"));
g_prefix_error(error, "%s.%s: ", NM_SETTING_CDMA_SETTING_NAME, NM_SETTING_CDMA_NUMBER);
return FALSE;
} else if (!strlen(priv->number)) {
g_set_error_literal(error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_INVALID_PROPERTY,
_("property is empty"));
if (nm_str_is_empty(priv->number)) {
if (!priv->number) {
g_set_error_literal(error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_MISSING_PROPERTY,
_("property is missing"));
} else {
g_set_error_literal(error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_INVALID_PROPERTY,
_("property is empty"));
}
g_prefix_error(error, "%s.%s: ", NM_SETTING_CDMA_SETTING_NAME, NM_SETTING_CDMA_NUMBER);
return FALSE;
}
if (priv->username && !strlen(priv->username)) {
if (priv->username && nm_str_is_empty(priv->username)) {
g_set_error_literal(error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_INVALID_PROPERTY,
@ -179,7 +179,7 @@ need_secrets(NMSetting *setting)
NMSettingCdmaPrivate *priv = NM_SETTING_CDMA_GET_PRIVATE(setting);
GPtrArray * secrets = NULL;
if (priv->password && *priv->password)
if (!nm_str_is_empty(priv->password))
return NULL;
if (priv->username) {
@ -194,65 +194,6 @@ need_secrets(NMSetting *setting)
/*****************************************************************************/
static void
get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
NMSettingCdma *setting = NM_SETTING_CDMA(object);
switch (prop_id) {
case PROP_NUMBER:
g_value_set_string(value, nm_setting_cdma_get_number(setting));
break;
case PROP_USERNAME:
g_value_set_string(value, nm_setting_cdma_get_username(setting));
break;
case PROP_PASSWORD:
g_value_set_string(value, nm_setting_cdma_get_password(setting));
break;
case PROP_PASSWORD_FLAGS:
g_value_set_flags(value, nm_setting_cdma_get_password_flags(setting));
break;
case PROP_MTU:
g_value_set_uint(value, nm_setting_cdma_get_mtu(setting));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
}
}
static void
set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
NMSettingCdmaPrivate *priv = NM_SETTING_CDMA_GET_PRIVATE(object);
switch (prop_id) {
case PROP_NUMBER:
g_free(priv->number);
priv->number = g_value_dup_string(value);
break;
case PROP_USERNAME:
g_free(priv->username);
priv->username = g_value_dup_string(value);
break;
case PROP_PASSWORD:
g_free(priv->password);
priv->password = g_value_dup_string(value);
break;
case PROP_PASSWORD_FLAGS:
priv->password_flags = g_value_get_flags(value);
break;
case PROP_MTU:
priv->mtu = g_value_get_uint(value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
}
}
/*****************************************************************************/
static void
nm_setting_cdma_init(NMSettingCdma *setting)
{}
@ -270,29 +211,17 @@ nm_setting_cdma_new(void)
return g_object_new(NM_TYPE_SETTING_CDMA, NULL);
}
static void
finalize(GObject *object)
{
NMSettingCdmaPrivate *priv = NM_SETTING_CDMA_GET_PRIVATE(object);
g_free(priv->number);
g_free(priv->username);
g_free(priv->password);
G_OBJECT_CLASS(nm_setting_cdma_parent_class)->finalize(object);
}
static void
nm_setting_cdma_class_init(NMSettingCdmaClass *klass)
{
GObjectClass * object_class = G_OBJECT_CLASS(klass);
NMSettingClass *setting_class = NM_SETTING_CLASS(klass);
GObjectClass * object_class = G_OBJECT_CLASS(klass);
NMSettingClass *setting_class = NM_SETTING_CLASS(klass);
GArray * properties_override = _nm_sett_info_property_override_create_array();
g_type_class_add_private(klass, sizeof(NMSettingCdmaPrivate));
object_class->get_property = get_property;
object_class->set_property = set_property;
object_class->finalize = finalize;
object_class->get_property = _nm_setting_property_get_property_direct;
object_class->set_property = _nm_setting_property_set_property_direct;
setting_class->verify = verify;
setting_class->verify_secrets = verify_secrets;
@ -305,11 +234,13 @@ nm_setting_cdma_class_init(NMSettingCdmaClass *klass)
* broadband network, if any. If not specified, the default number (#777)
* is used when required.
**/
obj_properties[PROP_NUMBER] = g_param_spec_string(NM_SETTING_CDMA_NUMBER,
"",
"",
NULL,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_string(properties_override,
obj_properties,
NM_SETTING_CDMA_NUMBER,
PROP_NUMBER,
NM_SETTING_PARAM_NONE,
NMSettingCdmaPrivate,
number);
/**
* NMSettingCdma:username:
@ -318,11 +249,13 @@ nm_setting_cdma_class_init(NMSettingCdmaClass *klass)
* providers do not require a username, or accept any username. But if a
* username is required, it is specified here.
**/
obj_properties[PROP_USERNAME] = g_param_spec_string(NM_SETTING_CDMA_USERNAME,
"",
"",
NULL,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_string(properties_override,
obj_properties,
NM_SETTING_CDMA_USERNAME,
PROP_USERNAME,
NM_SETTING_PARAM_NONE,
NMSettingCdmaPrivate,
username);
/**
* NMSettingCdma:password:
@ -331,25 +264,25 @@ nm_setting_cdma_class_init(NMSettingCdmaClass *klass)
* providers do not require a password, or accept any password. But if a
* password is required, it is specified here.
**/
obj_properties[PROP_PASSWORD] =
g_param_spec_string(NM_SETTING_CDMA_PASSWORD,
"",
"",
NULL,
G_PARAM_READWRITE | NM_SETTING_PARAM_SECRET | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_string(properties_override,
obj_properties,
NM_SETTING_CDMA_PASSWORD,
PROP_PASSWORD,
NM_SETTING_PARAM_SECRET,
NMSettingCdmaPrivate,
password);
/**
* NMSettingCdma:password-flags:
*
* Flags indicating how to handle the #NMSettingCdma:password property.
**/
obj_properties[PROP_PASSWORD_FLAGS] =
g_param_spec_flags(NM_SETTING_CDMA_PASSWORD_FLAGS,
"",
"",
NM_TYPE_SETTING_SECRET_FLAGS,
NM_SETTING_SECRET_FLAG_NONE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_secret_flags(properties_override,
obj_properties,
NM_SETTING_CDMA_PASSWORD_FLAGS,
PROP_PASSWORD_FLAGS,
NMSettingCdmaPrivate,
password_flags);
/**
* NMSettingCdma:mtu:
@ -359,16 +292,22 @@ nm_setting_cdma_class_init(NMSettingCdmaClass *klass)
*
* Since: 1.8
**/
obj_properties[PROP_MTU] = g_param_spec_uint(NM_SETTING_CDMA_MTU,
"",
"",
0,
G_MAXUINT32,
0,
G_PARAM_READWRITE | NM_SETTING_PARAM_FUZZY_IGNORE
| G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_CDMA_MTU,
PROP_MTU,
0,
G_MAXUINT32,
0,
NM_SETTING_PARAM_FUZZY_IGNORE,
NMSettingCdmaPrivate,
mtu);
g_object_class_install_properties(object_class, _PROPERTY_ENUMS_LAST, obj_properties);
_nm_setting_class_commit(setting_class, NM_META_SETTING_TYPE_CDMA, NULL, NULL, 0);
_nm_setting_class_commit(setting_class,
NM_META_SETTING_TYPE_CDMA,
NULL,
properties_override,
NM_SETT_INFO_PRIVATE_OFFSET_FROM_CLASS);
}

View file

@ -71,32 +71,32 @@ NM_GOBJECT_PROPERTIES_DEFINE(NMSettingConnection,
PROP_MUD_URL, );
typedef struct {
GArray * permissions;
GArray * secondaries;
char * id;
char * uuid;
char * stable_id;
char * interface_name;
char * type;
char * master;
char * slave_type;
char * zone;
char * mud_url;
guint64 timestamp;
gint32 autoconnect_priority;
gint32 autoconnect_retries;
gint32 multi_connect;
gint32 auth_retries;
gint32 mdns;
gint32 llmnr;
gint32 dns_over_tls;
gint32 wait_device_timeout;
gint32 lldp;
guint32 gateway_ping_timeout;
NMSettingConnectionAutoconnectSlaves autoconnect_slaves;
NMMetered metered;
bool autoconnect;
bool read_only;
GArray *permissions;
GArray *secondaries;
char * id;
char * uuid;
char * stable_id;
char * interface_name;
char * type;
char * master;
char * slave_type;
char * zone;
char * mud_url;
guint64 timestamp;
int autoconnect_slaves;
int metered;
gint32 autoconnect_priority;
gint32 autoconnect_retries;
gint32 multi_connect;
gint32 auth_retries;
gint32 mdns;
gint32 llmnr;
gint32 dns_over_tls;
gint32 wait_device_timeout;
gint32 lldp;
guint32 gateway_ping_timeout;
bool autoconnect;
bool read_only;
} NMSettingConnectionPrivate;
/**
@ -1293,8 +1293,7 @@ after_interface_name:
return FALSE;
}
if (priv->metered != NM_METERED_UNKNOWN && priv->metered != NM_METERED_YES
&& priv->metered != NM_METERED_NO) {
if (!NM_IN_SET(priv->metered, NM_METERED_UNKNOWN, NM_METERED_NO, NM_METERED_YES)) {
g_set_error(error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_INVALID_PROPERTY,
@ -1620,21 +1619,6 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
NMSettingConnectionPrivate *priv = NM_SETTING_CONNECTION_GET_PRIVATE(setting);
switch (prop_id) {
case PROP_ID:
g_value_set_string(value, nm_setting_connection_get_id(setting));
break;
case PROP_UUID:
g_value_set_string(value, nm_setting_connection_get_uuid(setting));
break;
case PROP_STABLE_ID:
g_value_set_string(value, nm_setting_connection_get_stable_id(setting));
break;
case PROP_INTERFACE_NAME:
g_value_set_string(value, nm_setting_connection_get_interface_name(setting));
break;
case PROP_TYPE:
g_value_set_string(value, nm_setting_connection_get_connection_type(setting));
break;
case PROP_PERMISSIONS:
{
char **strv;
@ -1650,68 +1634,14 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
g_value_take_boxed(value, strv);
break;
}
case PROP_AUTOCONNECT:
g_value_set_boolean(value, nm_setting_connection_get_autoconnect(setting));
break;
case PROP_AUTOCONNECT_PRIORITY:
g_value_set_int(value, nm_setting_connection_get_autoconnect_priority(setting));
break;
case PROP_AUTOCONNECT_RETRIES:
g_value_set_int(value, nm_setting_connection_get_autoconnect_retries(setting));
break;
case PROP_MULTI_CONNECT:
g_value_set_int(value, priv->multi_connect);
break;
case PROP_TIMESTAMP:
g_value_set_uint64(value, nm_setting_connection_get_timestamp(setting));
break;
case PROP_READ_ONLY:
g_value_set_boolean(value, nm_setting_connection_get_read_only(setting));
break;
case PROP_ZONE:
g_value_set_string(value, nm_setting_connection_get_zone(setting));
break;
case PROP_MASTER:
g_value_set_string(value, nm_setting_connection_get_master(setting));
break;
case PROP_SLAVE_TYPE:
g_value_set_string(value, nm_setting_connection_get_slave_type(setting));
break;
case PROP_AUTOCONNECT_SLAVES:
g_value_set_enum(value, nm_setting_connection_get_autoconnect_slaves(setting));
break;
case PROP_SECONDARIES:
g_value_take_boxed(value, nm_strvarray_get_strv_non_empty_dup(priv->secondaries, NULL));
break;
case PROP_GATEWAY_PING_TIMEOUT:
g_value_set_uint(value, priv->gateway_ping_timeout);
break;
case PROP_METERED:
g_value_set_enum(value, priv->metered);
break;
case PROP_LLDP:
g_value_set_int(value, priv->lldp);
break;
case PROP_AUTH_RETRIES:
g_value_set_int(value, priv->auth_retries);
break;
case PROP_MDNS:
g_value_set_int(value, priv->mdns);
break;
case PROP_LLMNR:
g_value_set_int(value, priv->llmnr);
break;
case PROP_DNS_OVER_TLS:
g_value_set_int(value, priv->dns_over_tls);
break;
case PROP_WAIT_DEVICE_TIMEOUT:
g_value_set_int(value, priv->wait_device_timeout);
break;
case PROP_MUD_URL:
g_value_set_string(value, priv->mud_url);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
_nm_setting_property_get_property_direct(object, prop_id, value, pspec);
break;
}
}
@ -1722,26 +1652,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
NMSettingConnectionPrivate *priv = NM_SETTING_CONNECTION_GET_PRIVATE(object);
switch (prop_id) {
case PROP_ID:
g_free(priv->id);
priv->id = g_value_dup_string(value);
break;
case PROP_UUID:
g_free(priv->uuid);
priv->uuid = g_value_dup_string(value);
break;
case PROP_STABLE_ID:
g_free(priv->stable_id);
priv->stable_id = g_value_dup_string(value);
break;
case PROP_INTERFACE_NAME:
g_free(priv->interface_name);
priv->interface_name = g_value_dup_string(value);
break;
case PROP_TYPE:
g_free(priv->type);
priv->type = g_value_dup_string(value);
break;
case PROP_PERMISSIONS:
{
const char *const *strv;
@ -1762,72 +1672,14 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
}
break;
}
case PROP_AUTOCONNECT:
priv->autoconnect = g_value_get_boolean(value);
break;
case PROP_AUTOCONNECT_PRIORITY:
priv->autoconnect_priority = g_value_get_int(value);
break;
case PROP_AUTOCONNECT_RETRIES:
priv->autoconnect_retries = g_value_get_int(value);
break;
case PROP_MULTI_CONNECT:
priv->multi_connect = g_value_get_int(value);
break;
case PROP_TIMESTAMP:
priv->timestamp = g_value_get_uint64(value);
break;
case PROP_READ_ONLY:
priv->read_only = g_value_get_boolean(value);
break;
case PROP_ZONE:
g_free(priv->zone);
priv->zone = g_value_dup_string(value);
break;
case PROP_MASTER:
g_free(priv->master);
priv->master = g_value_dup_string(value);
break;
case PROP_SLAVE_TYPE:
g_free(priv->slave_type);
priv->slave_type = g_value_dup_string(value);
break;
case PROP_AUTOCONNECT_SLAVES:
priv->autoconnect_slaves = g_value_get_enum(value);
break;
case PROP_SECONDARIES:
nm_strvarray_set_strv(&priv->secondaries, g_value_get_boxed(value));
break;
case PROP_GATEWAY_PING_TIMEOUT:
priv->gateway_ping_timeout = g_value_get_uint(value);
break;
case PROP_METERED:
priv->metered = g_value_get_enum(value);
break;
case PROP_LLDP:
priv->lldp = g_value_get_int(value);
break;
case PROP_AUTH_RETRIES:
priv->auth_retries = g_value_get_int(value);
break;
case PROP_MDNS:
priv->mdns = g_value_get_int(value);
break;
case PROP_LLMNR:
priv->llmnr = g_value_get_int(value);
break;
case PROP_DNS_OVER_TLS:
priv->dns_over_tls = g_value_get_int(value);
break;
case PROP_WAIT_DEVICE_TIMEOUT:
priv->wait_device_timeout = g_value_get_int(value);
break;
case PROP_MUD_URL:
g_free(priv->mud_url);
priv->mud_url = g_value_dup_string(value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
_nm_setting_property_set_property_direct(object, prop_id, value, pspec);
break;
}
}
@ -1836,11 +1688,7 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
static void
nm_setting_connection_init(NMSettingConnection *setting)
{
NMSettingConnectionPrivate *priv = NM_SETTING_CONNECTION_GET_PRIVATE(setting);
priv->autoconnect_slaves = NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES_DEFAULT;
}
{}
/**
* nm_setting_connection_new:
@ -2357,13 +2205,15 @@ nm_setting_connection_class_init(NMSettingConnectionClass *klass)
* when this connection is activated.
* ---end---
*/
obj_properties[PROP_AUTOCONNECT_SLAVES] = g_param_spec_enum(
NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES,
"",
"",
NM_TYPE_SETTING_CONNECTION_AUTOCONNECT_SLAVES,
NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES_DEFAULT,
G_PARAM_READWRITE | NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_enum(properties_override,
obj_properties,
NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES,
PROP_AUTOCONNECT_SLAVES,
NM_TYPE_SETTING_CONNECTION_AUTOCONNECT_SLAVES,
NM_SETTING_CONNECTION_AUTOCONNECT_SLAVES_DEFAULT,
NM_SETTING_PARAM_FUZZY_IGNORE,
NMSettingConnectionPrivate,
autoconnect_slaves);
/**
* NMSettingConnection:secondaries:
@ -2430,13 +2280,15 @@ nm_setting_connection_class_init(NMSettingConnectionClass *klass)
* example: CONNECTION_METERED=yes
* ---end---
*/
obj_properties[PROP_METERED] = g_param_spec_enum(
NM_SETTING_CONNECTION_METERED,
"",
"",
NM_TYPE_METERED,
NM_METERED_UNKNOWN,
G_PARAM_READWRITE | NM_SETTING_PARAM_REAPPLY_IMMEDIATELY | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_enum(properties_override,
obj_properties,
NM_SETTING_CONNECTION_METERED,
PROP_METERED,
NM_TYPE_METERED,
NM_METERED_UNKNOWN,
NM_SETTING_PARAM_REAPPLY_IMMEDIATELY,
NMSettingConnectionPrivate,
metered);
/**
* NMSettingConnection:lldp:

View file

@ -48,21 +48,21 @@ NM_GOBJECT_PROPERTIES_DEFINE(NMSettingDcb,
PROP_PRIORITY_TRAFFIC_CLASS, );
typedef struct {
char * app_fcoe_mode;
guint pfc[8];
guint priority_group_id[8];
guint priority_group_bandwidth[8];
guint priority_bandwidth[8];
guint priority_strict[8];
guint priority_traffic_class[8];
int app_fcoe_priority;
int app_iscsi_priority;
int app_fip_priority;
NMSettingDcbFlags app_fcoe_flags;
NMSettingDcbFlags app_iscsi_flags;
NMSettingDcbFlags app_fip_flags;
NMSettingDcbFlags pfc_flags;
NMSettingDcbFlags priority_group_flags;
char * app_fcoe_mode;
guint pfc[8];
guint priority_group_id[8];
guint priority_group_bandwidth[8];
guint priority_bandwidth[8];
guint priority_strict[8];
guint priority_traffic_class[8];
guint app_fcoe_flags;
guint app_iscsi_flags;
guint app_fip_flags;
guint pfc_flags;
guint priority_group_flags;
gint32 app_fcoe_priority;
gint32 app_iscsi_priority;
gint32 app_fip_priority;
} NMSettingDcbPrivate;
/**
@ -765,36 +765,9 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
NMSettingDcbPrivate *priv = NM_SETTING_DCB_GET_PRIVATE(setting);
switch (prop_id) {
case PROP_APP_FCOE_FLAGS:
g_value_set_flags(value, priv->app_fcoe_flags);
break;
case PROP_APP_FCOE_PRIORITY:
g_value_set_int(value, priv->app_fcoe_priority);
break;
case PROP_APP_FCOE_MODE:
g_value_set_string(value, priv->app_fcoe_mode);
break;
case PROP_APP_ISCSI_FLAGS:
g_value_set_flags(value, priv->app_iscsi_flags);
break;
case PROP_APP_ISCSI_PRIORITY:
g_value_set_int(value, priv->app_iscsi_priority);
break;
case PROP_APP_FIP_FLAGS:
g_value_set_flags(value, priv->app_fip_flags);
break;
case PROP_APP_FIP_PRIORITY:
g_value_set_int(value, priv->app_fip_priority);
break;
case PROP_PFC_FLAGS:
g_value_set_flags(value, priv->pfc_flags);
break;
case PROP_PRIORITY_FLOW_CONTROL:
SET_GVALUE_FROM_ARRAY(value, priv->pfc);
break;
case PROP_PRIORITY_GROUP_FLAGS:
g_value_set_flags(value, priv->priority_group_flags);
break;
case PROP_PRIORITY_GROUP_ID:
SET_GVALUE_FROM_ARRAY(value, priv->priority_group_id);
break;
@ -811,7 +784,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
SET_GVALUE_FROM_ARRAY(value, priv->priority_traffic_class);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
_nm_setting_property_get_property_direct(object, prop_id, value, pspec);
break;
}
}
@ -822,37 +795,9 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
NMSettingDcbPrivate *priv = NM_SETTING_DCB_GET_PRIVATE(object);
switch (prop_id) {
case PROP_APP_FCOE_FLAGS:
priv->app_fcoe_flags = g_value_get_flags(value);
break;
case PROP_APP_FCOE_PRIORITY:
priv->app_fcoe_priority = g_value_get_int(value);
break;
case PROP_APP_FCOE_MODE:
g_free(priv->app_fcoe_mode);
priv->app_fcoe_mode = g_value_dup_string(value);
break;
case PROP_APP_ISCSI_FLAGS:
priv->app_iscsi_flags = g_value_get_flags(value);
break;
case PROP_APP_ISCSI_PRIORITY:
priv->app_iscsi_priority = g_value_get_int(value);
break;
case PROP_APP_FIP_FLAGS:
priv->app_fip_flags = g_value_get_flags(value);
break;
case PROP_APP_FIP_PRIORITY:
priv->app_fip_priority = g_value_get_int(value);
break;
case PROP_PFC_FLAGS:
priv->pfc_flags = g_value_get_flags(value);
break;
case PROP_PRIORITY_FLOW_CONTROL:
SET_ARRAY_FROM_GVALUE(value, priv->pfc);
break;
case PROP_PRIORITY_GROUP_FLAGS:
priv->priority_group_flags = g_value_get_flags(value);
break;
case PROP_PRIORITY_GROUP_ID:
SET_ARRAY_FROM_GVALUE(value, priv->priority_group_id);
break;
@ -869,7 +814,7 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
SET_ARRAY_FROM_GVALUE(value, priv->priority_traffic_class);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
_nm_setting_property_set_property_direct(object, prop_id, value, pspec);
break;
}
}
@ -878,13 +823,7 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
static void
nm_setting_dcb_init(NMSettingDcb *self)
{
NMSettingDcbPrivate *priv = NM_SETTING_DCB_GET_PRIVATE(self);
priv->app_fcoe_priority = -1;
priv->app_fip_priority = -1;
priv->app_iscsi_priority = -1;
}
{}
/**
* nm_setting_dcb_new:
@ -899,16 +838,6 @@ nm_setting_dcb_new(void)
return g_object_new(NM_TYPE_SETTING_DCB, NULL);
}
static void
finalize(GObject *object)
{
NMSettingDcbPrivate *priv = NM_SETTING_DCB_GET_PRIVATE(object);
g_free(priv->app_fcoe_mode);
G_OBJECT_CLASS(nm_setting_dcb_parent_class)->finalize(object);
}
static void
nm_setting_dcb_class_init(NMSettingDcbClass *klass)
{
@ -920,7 +849,6 @@ nm_setting_dcb_class_init(NMSettingDcbClass *klass)
object_class->get_property = get_property;
object_class->set_property = set_property;
object_class->finalize = finalize;
setting_class->verify = verify;
@ -939,13 +867,15 @@ nm_setting_dcb_class_init(NMSettingDcbClass *klass)
* example: DCB_APP_FCOE_ENABLE=yes DCB_APP_FCOE_ADVERTISE=yes
* ---end---
*/
obj_properties[PROP_APP_FCOE_FLAGS] =
g_param_spec_flags(NM_SETTING_DCB_APP_FCOE_FLAGS,
"",
"",
NM_TYPE_SETTING_DCB_FLAGS,
NM_SETTING_DCB_FLAG_NONE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_flags(properties_override,
obj_properties,
NM_SETTING_DCB_APP_FCOE_FLAGS,
PROP_APP_FCOE_FLAGS,
NM_TYPE_SETTING_DCB_FLAGS,
NM_SETTING_DCB_FLAG_NONE,
NM_SETTING_PARAM_NONE,
NMSettingDcbPrivate,
app_fcoe_flags);
/**
* NMSettingDcb:app-fcoe-priority:
@ -961,14 +891,16 @@ nm_setting_dcb_class_init(NMSettingDcbClass *klass)
* description: Priority of FCoE frames.
* ---end---
*/
obj_properties[PROP_APP_FCOE_PRIORITY] =
g_param_spec_int(NM_SETTING_DCB_APP_FCOE_PRIORITY,
"",
"",
-1,
7,
-1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_int32(properties_override,
obj_properties,
NM_SETTING_DCB_APP_FCOE_PRIORITY,
PROP_APP_FCOE_PRIORITY,
-1,
7,
-1,
NM_SETTING_PARAM_NONE,
NMSettingDcbPrivate,
app_fcoe_priority);
/**
* NMSettingDcb:app-fcoe-mode:
@ -987,12 +919,13 @@ nm_setting_dcb_class_init(NMSettingDcbClass *klass)
* description: FCoE controller mode.
* ---end---
*/
obj_properties[PROP_APP_FCOE_MODE] =
g_param_spec_string(NM_SETTING_DCB_APP_FCOE_MODE,
"",
"",
NULL,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_string(properties_override,
obj_properties,
NM_SETTING_DCB_APP_FCOE_MODE,
PROP_APP_FCOE_MODE,
NM_SETTING_PARAM_NONE,
NMSettingDcbPrivate,
app_fcoe_mode);
/**
* NMSettingDcb:app-iscsi-flags:
@ -1008,13 +941,15 @@ nm_setting_dcb_class_init(NMSettingDcbClass *klass)
* description: iSCSI flags.
* ---end---
*/
obj_properties[PROP_APP_ISCSI_FLAGS] =
g_param_spec_flags(NM_SETTING_DCB_APP_ISCSI_FLAGS,
"",
"",
NM_TYPE_SETTING_DCB_FLAGS,
NM_SETTING_DCB_FLAG_NONE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_flags(properties_override,
obj_properties,
NM_SETTING_DCB_APP_ISCSI_FLAGS,
PROP_APP_ISCSI_FLAGS,
NM_TYPE_SETTING_DCB_FLAGS,
NM_SETTING_DCB_FLAG_NONE,
NM_SETTING_PARAM_NONE,
NMSettingDcbPrivate,
app_iscsi_flags);
/**
* NMSettingDcb:app-iscsi-priority:
@ -1030,14 +965,16 @@ nm_setting_dcb_class_init(NMSettingDcbClass *klass)
* description: Priority of iSCSI frames.
* ---end---
*/
obj_properties[PROP_APP_ISCSI_PRIORITY] =
g_param_spec_int(NM_SETTING_DCB_APP_ISCSI_PRIORITY,
"",
"",
-1,
7,
-1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_int32(properties_override,
obj_properties,
NM_SETTING_DCB_APP_ISCSI_PRIORITY,
PROP_APP_ISCSI_PRIORITY,
-1,
7,
-1,
NM_SETTING_PARAM_NONE,
NMSettingDcbPrivate,
app_iscsi_priority);
/**
* NMSettingDcb:app-fip-flags:
@ -1053,13 +990,15 @@ nm_setting_dcb_class_init(NMSettingDcbClass *klass)
* description: FIP flags.
* ---end---
*/
obj_properties[PROP_APP_FIP_FLAGS] =
g_param_spec_flags(NM_SETTING_DCB_APP_FIP_FLAGS,
"",
"",
NM_TYPE_SETTING_DCB_FLAGS,
NM_SETTING_DCB_FLAG_NONE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_flags(properties_override,
obj_properties,
NM_SETTING_DCB_APP_FIP_FLAGS,
PROP_APP_FIP_FLAGS,
NM_TYPE_SETTING_DCB_FLAGS,
NM_SETTING_DCB_FLAG_NONE,
NM_SETTING_PARAM_NONE,
NMSettingDcbPrivate,
app_fip_flags);
/**
* NMSettingDcb:app-fip-priority:
@ -1075,14 +1014,16 @@ nm_setting_dcb_class_init(NMSettingDcbClass *klass)
* description: Priority of FIP frames.
* ---end---
*/
obj_properties[PROP_APP_FIP_PRIORITY] =
g_param_spec_int(NM_SETTING_DCB_APP_FIP_PRIORITY,
"",
"",
-1,
7,
-1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_int32(properties_override,
obj_properties,
NM_SETTING_DCB_APP_FIP_PRIORITY,
PROP_APP_FIP_PRIORITY,
-1,
7,
-1,
NM_SETTING_PARAM_NONE,
NMSettingDcbPrivate,
app_fip_priority);
/**
* NMSettingDcb:priority-flow-control-flags:
@ -1098,12 +1039,15 @@ nm_setting_dcb_class_init(NMSettingDcbClass *klass)
* description: Priority flow control flags.
* ---end---
*/
obj_properties[PROP_PFC_FLAGS] = g_param_spec_flags(NM_SETTING_DCB_PRIORITY_FLOW_CONTROL_FLAGS,
"",
"",
NM_TYPE_SETTING_DCB_FLAGS,
NM_SETTING_DCB_FLAG_NONE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_flags(properties_override,
obj_properties,
NM_SETTING_DCB_PRIORITY_FLOW_CONTROL_FLAGS,
PROP_PFC_FLAGS,
NM_TYPE_SETTING_DCB_FLAGS,
NM_SETTING_DCB_FLAG_NONE,
NM_SETTING_PARAM_NONE,
NMSettingDcbPrivate,
pfc_flags);
/**
* NMSettingDcb:priority-flow-control: (type GArray(gboolean))
@ -1144,13 +1088,15 @@ nm_setting_dcb_class_init(NMSettingDcbClass *klass)
* description: Priority groups flags.
* ---end---
*/
obj_properties[PROP_PRIORITY_GROUP_FLAGS] =
g_param_spec_flags(NM_SETTING_DCB_PRIORITY_GROUP_FLAGS,
"",
"",
NM_TYPE_SETTING_DCB_FLAGS,
NM_SETTING_DCB_FLAG_NONE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_flags(properties_override,
obj_properties,
NM_SETTING_DCB_PRIORITY_GROUP_FLAGS,
PROP_PRIORITY_GROUP_FLAGS,
NM_TYPE_SETTING_DCB_FLAGS,
NM_SETTING_DCB_FLAG_NONE,
NM_SETTING_PARAM_NONE,
NMSettingDcbPrivate,
priority_group_flags);
/**
* NMSettingDcb:priority-group-id: (type GArray(guint))

View file

@ -34,9 +34,9 @@ NM_GOBJECT_PROPERTIES_DEFINE(NMSettingHostname,
struct _NMSettingHostname {
NMSetting parent;
int priority;
NMTernary from_dhcp;
NMTernary from_dns_lookup;
NMTernary only_from_default;
int from_dhcp;
int from_dns_lookup;
int only_from_default;
};
struct _NMSettingHostnameClass {
@ -123,63 +123,9 @@ nm_setting_hostname_get_only_from_default(NMSettingHostname *setting)
/*****************************************************************************/
static void
get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
NMSettingHostname *self = NM_SETTING_HOSTNAME(object);
switch (prop_id) {
case PROP_PRIORITY:
g_value_set_int(value, self->priority);
break;
case PROP_FROM_DHCP:
g_value_set_enum(value, self->from_dhcp);
break;
case PROP_FROM_DNS_LOOKUP:
g_value_set_enum(value, self->from_dns_lookup);
break;
case PROP_ONLY_FROM_DEFAULT:
g_value_set_enum(value, self->only_from_default);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
}
}
static void
set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
NMSettingHostname *self = NM_SETTING_HOSTNAME(object);
switch (prop_id) {
case PROP_PRIORITY:
self->priority = g_value_get_int(value);
break;
case PROP_FROM_DHCP:
self->from_dhcp = g_value_get_enum(value);
break;
case PROP_FROM_DNS_LOOKUP:
self->from_dns_lookup = g_value_get_enum(value);
break;
case PROP_ONLY_FROM_DEFAULT:
self->only_from_default = g_value_get_enum(value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
}
}
/*****************************************************************************/
static void
nm_setting_hostname_init(NMSettingHostname *setting)
{
setting->from_dhcp = NM_TERNARY_DEFAULT;
setting->from_dns_lookup = NM_TERNARY_DEFAULT;
setting->only_from_default = NM_TERNARY_DEFAULT;
}
{}
/**
* nm_setting_hostname_new:
@ -199,11 +145,12 @@ nm_setting_hostname_new(void)
static void
nm_setting_hostname_class_init(NMSettingHostnameClass *klass)
{
GObjectClass * object_class = G_OBJECT_CLASS(klass);
NMSettingClass *setting_class = NM_SETTING_CLASS(klass);
GObjectClass * object_class = G_OBJECT_CLASS(klass);
NMSettingClass *setting_class = NM_SETTING_CLASS(klass);
GArray * properties_override = _nm_sett_info_property_override_create_array();
object_class->get_property = get_property;
object_class->set_property = set_property;
object_class->get_property = _nm_setting_property_get_property_direct;
object_class->set_property = _nm_setting_property_set_property_direct;
/**
* NMSettingHostname:priority
@ -234,13 +181,16 @@ nm_setting_hostname_class_init(NMSettingHostnameClass *klass)
* example: HOSTNAME_PRIORITY=50
* ---end---
*/
obj_properties[PROP_PRIORITY] = g_param_spec_int(NM_SETTING_HOSTNAME_PRIORITY,
"",
"",
G_MININT32,
G_MAXINT32,
0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_int32(properties_override,
obj_properties,
NM_SETTING_HOSTNAME_PRIORITY,
PROP_PRIORITY,
G_MININT32,
G_MAXINT32,
0,
NM_SETTING_PARAM_NONE,
NMSettingHostname,
priority);
/**
* NMSettingHostname:from-dhcp
@ -262,13 +212,13 @@ nm_setting_hostname_class_init(NMSettingHostnameClass *klass)
* example: HOSTNAME_FROM_DHCP=0,1
* ---end---
*/
obj_properties[PROP_FROM_DHCP] = g_param_spec_enum(
NM_SETTING_HOSTNAME_FROM_DHCP,
"",
"",
NM_TYPE_TERNARY,
NM_TERNARY_DEFAULT,
NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_ternary_enum(properties_override,
obj_properties,
NM_SETTING_HOSTNAME_FROM_DHCP,
PROP_FROM_DHCP,
NM_SETTING_PARAM_FUZZY_IGNORE,
NMSettingHostname,
from_dhcp);
/**
* NMSettingHostname:from-dns-lookup
@ -291,13 +241,13 @@ nm_setting_hostname_class_init(NMSettingHostnameClass *klass)
* example: HOSTNAME_FROM_DNS_LOOKUP=0,1
* ---end---
*/
obj_properties[PROP_FROM_DNS_LOOKUP] = g_param_spec_enum(
NM_SETTING_HOSTNAME_FROM_DNS_LOOKUP,
"",
"",
NM_TYPE_TERNARY,
NM_TERNARY_DEFAULT,
NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_ternary_enum(properties_override,
obj_properties,
NM_SETTING_HOSTNAME_FROM_DNS_LOOKUP,
PROP_FROM_DNS_LOOKUP,
NM_SETTING_PARAM_FUZZY_IGNORE,
NMSettingHostname,
from_dns_lookup);
/**
* NMSettingHostname:only-from-default
@ -325,15 +275,19 @@ nm_setting_hostname_class_init(NMSettingHostnameClass *klass)
* example: HOSTNAME_ONLY_FROM_DEFAULT=0,1
* ---end---
*/
obj_properties[PROP_ONLY_FROM_DEFAULT] = g_param_spec_enum(
NM_SETTING_HOSTNAME_ONLY_FROM_DEFAULT,
"",
"",
NM_TYPE_TERNARY,
NM_TERNARY_DEFAULT,
NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_ternary_enum(properties_override,
obj_properties,
NM_SETTING_HOSTNAME_ONLY_FROM_DEFAULT,
PROP_ONLY_FROM_DEFAULT,
NM_SETTING_PARAM_FUZZY_IGNORE,
NMSettingHostname,
only_from_default);
g_object_class_install_properties(object_class, _PROPERTY_ENUMS_LAST, obj_properties);
_nm_setting_class_commit(setting_class, NM_META_SETTING_TYPE_HOSTNAME, NULL, NULL, 0);
_nm_setting_class_commit(setting_class,
NM_META_SETTING_TYPE_HOSTNAME,
NULL,
properties_override,
0);
}

View file

@ -147,55 +147,6 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
/*****************************************************************************/
static void
get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
NMSettingOlpcMesh *setting = NM_SETTING_OLPC_MESH(object);
switch (prop_id) {
case PROP_SSID:
g_value_set_boxed(value, nm_setting_olpc_mesh_get_ssid(setting));
break;
case PROP_CHANNEL:
g_value_set_uint(value, nm_setting_olpc_mesh_get_channel(setting));
break;
case PROP_DHCP_ANYCAST_ADDRESS:
g_value_set_string(value, nm_setting_olpc_mesh_get_dhcp_anycast_address(setting));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
}
}
static void
set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
NMSettingOlpcMeshPrivate *priv = NM_SETTING_OLPC_MESH_GET_PRIVATE(object);
switch (prop_id) {
case PROP_SSID:
if (priv->ssid)
g_bytes_unref(priv->ssid);
priv->ssid = g_value_dup_boxed(value);
break;
case PROP_CHANNEL:
priv->channel = g_value_get_uint(value);
break;
case PROP_DHCP_ANYCAST_ADDRESS:
g_free(priv->dhcp_anycast_addr);
priv->dhcp_anycast_addr =
_nm_utils_hwaddr_canonical_or_invalid(g_value_get_string(value), ETH_ALEN);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
}
}
/*****************************************************************************/
static void
nm_setting_olpc_mesh_init(NMSettingOlpcMesh *setting)
{}
@ -213,17 +164,6 @@ nm_setting_olpc_mesh_new(void)
return g_object_new(NM_TYPE_SETTING_OLPC_MESH, NULL);
}
static void
finalize(GObject *object)
{
NMSettingOlpcMeshPrivate *priv = NM_SETTING_OLPC_MESH_GET_PRIVATE(object);
if (priv->ssid)
g_bytes_unref(priv->ssid);
G_OBJECT_CLASS(nm_setting_olpc_mesh_parent_class)->finalize(object);
}
static void
nm_setting_olpc_mesh_class_init(NMSettingOlpcMeshClass *klass)
{
@ -233,9 +173,8 @@ nm_setting_olpc_mesh_class_init(NMSettingOlpcMeshClass *klass)
g_type_class_add_private(klass, sizeof(NMSettingOlpcMeshPrivate));
object_class->get_property = get_property;
object_class->set_property = set_property;
object_class->finalize = finalize;
object_class->get_property = _nm_setting_property_get_property_direct;
object_class->set_property = _nm_setting_property_set_property_direct;
setting_class->verify = verify;
@ -244,26 +183,29 @@ nm_setting_olpc_mesh_class_init(NMSettingOlpcMeshClass *klass)
*
* SSID of the mesh network to join.
**/
obj_properties[PROP_SSID] = g_param_spec_boxed(NM_SETTING_OLPC_MESH_SSID,
"",
"",
G_TYPE_BYTES,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE
| G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_bytes(properties_override,
obj_properties,
NM_SETTING_OLPC_MESH_SSID,
PROP_SSID,
NM_SETTING_PARAM_INFERRABLE,
NMSettingOlpcMeshPrivate,
ssid);
/**
* NMSettingOlpcMesh:channel:
*
* Channel on which the mesh network to join is located.
**/
obj_properties[PROP_CHANNEL] =
g_param_spec_uint(NM_SETTING_OLPC_MESH_CHANNEL,
"",
"",
0,
G_MAXUINT32,
0,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_OLPC_MESH_CHANNEL,
PROP_CHANNEL,
0,
G_MAXUINT32,
0,
NM_SETTING_PARAM_INFERRABLE,
NMSettingOlpcMeshPrivate,
channel);
/**
* NMSettingOlpcMesh:dhcp-anycast-address:

View file

@ -30,11 +30,11 @@ NM_GOBJECT_PROPERTIES_DEFINE_BASE(PROP_PARENT,
PROP_PASSWORD_FLAGS, );
typedef struct {
char * parent;
char * service;
char * username;
char * password;
NMSettingSecretFlags password_flags;
char *parent;
char *service;
char *username;
char *password;
guint password_flags;
} NMSettingPppoePrivate;
/**
@ -138,23 +138,23 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
NMSettingPppoePrivate *priv = NM_SETTING_PPPOE_GET_PRIVATE(setting);
gs_free_error GError *local_error = NULL;
if (!priv->username) {
g_set_error_literal(error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_MISSING_PROPERTY,
_("property is missing"));
g_prefix_error(error, "%s.%s: ", NM_SETTING_PPPOE_SETTING_NAME, NM_SETTING_PPPOE_USERNAME);
return FALSE;
} else if (!strlen(priv->username)) {
g_set_error_literal(error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_INVALID_PROPERTY,
_("property is empty"));
if (nm_str_is_empty(priv->username)) {
if (!priv->username) {
g_set_error_literal(error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_MISSING_PROPERTY,
_("property is missing"));
} else {
g_set_error_literal(error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_INVALID_PROPERTY,
_("property is empty"));
}
g_prefix_error(error, "%s.%s: ", NM_SETTING_PPPOE_SETTING_NAME, NM_SETTING_PPPOE_USERNAME);
return FALSE;
}
if (priv->service && !strlen(priv->service)) {
if (priv->service && nm_str_is_empty(priv->service)) {
g_set_error_literal(error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_INVALID_PROPERTY,
@ -196,66 +196,6 @@ need_secrets(NMSetting *setting)
/*****************************************************************************/
static void
get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
NMSettingPppoe *setting = NM_SETTING_PPPOE(object);
switch (prop_id) {
case PROP_PARENT:
g_value_set_string(value, nm_setting_pppoe_get_parent(setting));
break;
case PROP_SERVICE:
g_value_set_string(value, nm_setting_pppoe_get_service(setting));
break;
case PROP_USERNAME:
g_value_set_string(value, nm_setting_pppoe_get_username(setting));
break;
case PROP_PASSWORD:
g_value_set_string(value, nm_setting_pppoe_get_password(setting));
break;
case PROP_PASSWORD_FLAGS:
g_value_set_flags(value, nm_setting_pppoe_get_password_flags(setting));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
}
}
static void
set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
NMSettingPppoePrivate *priv = NM_SETTING_PPPOE_GET_PRIVATE(object);
switch (prop_id) {
case PROP_PARENT:
g_free(priv->parent);
priv->parent = g_value_dup_string(value);
break;
case PROP_SERVICE:
g_free(priv->service);
priv->service = g_value_dup_string(value);
break;
case PROP_USERNAME:
g_free(priv->username);
priv->username = g_value_dup_string(value);
break;
case PROP_PASSWORD:
g_free(priv->password);
priv->password = g_value_dup_string(value);
break;
case PROP_PASSWORD_FLAGS:
priv->password_flags = g_value_get_flags(value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
}
}
/*****************************************************************************/
static void
nm_setting_pppoe_init(NMSettingPppoe *setting)
{}
@ -273,30 +213,17 @@ nm_setting_pppoe_new(void)
return g_object_new(NM_TYPE_SETTING_PPPOE, NULL);
}
static void
finalize(GObject *object)
{
NMSettingPppoePrivate *priv = NM_SETTING_PPPOE_GET_PRIVATE(object);
g_free(priv->parent);
g_free(priv->username);
g_free(priv->password);
g_free(priv->service);
G_OBJECT_CLASS(nm_setting_pppoe_parent_class)->finalize(object);
}
static void
nm_setting_pppoe_class_init(NMSettingPppoeClass *klass)
{
GObjectClass * object_class = G_OBJECT_CLASS(klass);
NMSettingClass *setting_class = NM_SETTING_CLASS(klass);
GObjectClass * object_class = G_OBJECT_CLASS(klass);
NMSettingClass *setting_class = NM_SETTING_CLASS(klass);
GArray * properties_override = _nm_sett_info_property_override_create_array();
g_type_class_add_private(klass, sizeof(NMSettingPppoePrivate));
object_class->get_property = get_property;
object_class->set_property = set_property;
object_class->finalize = finalize;
object_class->get_property = _nm_setting_property_get_property_direct;
object_class->set_property = _nm_setting_property_set_property_direct;
setting_class->verify = verify;
setting_class->need_secrets = need_secrets;
@ -311,12 +238,13 @@ nm_setting_pppoe_class_init(NMSettingPppoeClass *klass)
*
* Since: 1.10
**/
obj_properties[PROP_PARENT] = g_param_spec_string(
NM_SETTING_PPPOE_PARENT,
"",
"",
NULL,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_string(properties_override,
obj_properties,
NM_SETTING_PPPOE_PARENT,
PROP_PARENT,
NM_SETTING_PARAM_INFERRABLE,
NMSettingPppoePrivate,
parent);
/**
* NMSettingPppoe:service:
@ -326,49 +254,57 @@ nm_setting_pppoe_class_init(NMSettingPppoeClass *klass)
* this should be left blank. It is only required if there are multiple
* access concentrators or a specific service is known to be required.
**/
obj_properties[PROP_SERVICE] = g_param_spec_string(NM_SETTING_PPPOE_SERVICE,
"",
"",
NULL,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_string(properties_override,
obj_properties,
NM_SETTING_PPPOE_SERVICE,
PROP_SERVICE,
NM_SETTING_PARAM_NONE,
NMSettingPppoePrivate,
service);
/**
* NMSettingPppoe:username:
*
* Username used to authenticate with the PPPoE service.
**/
obj_properties[PROP_USERNAME] = g_param_spec_string(NM_SETTING_PPPOE_USERNAME,
"",
"",
NULL,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_string(properties_override,
obj_properties,
NM_SETTING_PPPOE_USERNAME,
PROP_USERNAME,
NM_SETTING_PARAM_NONE,
NMSettingPppoePrivate,
username);
/**
* NMSettingPppoe:password:
*
* Password used to authenticate with the PPPoE service.
**/
obj_properties[PROP_PASSWORD] =
g_param_spec_string(NM_SETTING_PPPOE_PASSWORD,
"",
"",
NULL,
G_PARAM_READWRITE | NM_SETTING_PARAM_SECRET | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_string(properties_override,
obj_properties,
NM_SETTING_PPPOE_PASSWORD,
PROP_PASSWORD,
NM_SETTING_PARAM_SECRET,
NMSettingPppoePrivate,
password);
/**
* NMSettingPppoe:password-flags:
*
* Flags indicating how to handle the #NMSettingPppoe:password property.
**/
obj_properties[PROP_PASSWORD_FLAGS] =
g_param_spec_flags(NM_SETTING_PPPOE_PASSWORD_FLAGS,
"",
"",
NM_TYPE_SETTING_SECRET_FLAGS,
NM_SETTING_SECRET_FLAG_NONE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_secret_flags(properties_override,
obj_properties,
NM_SETTING_PPPOE_PASSWORD_FLAGS,
PROP_PASSWORD_FLAGS,
NMSettingPppoePrivate,
password_flags);
g_object_class_install_properties(object_class, _PROPERTY_ENUMS_LAST, obj_properties);
_nm_setting_class_commit(setting_class, NM_META_SETTING_TYPE_PPPOE, NULL, NULL, 0);
_nm_setting_class_commit(setting_class,
NM_META_SETTING_TYPE_PPPOE,
NULL,
properties_override,
NM_SETT_INFO_PRIVATE_OFFSET_FROM_CLASS);
}

View file

@ -771,6 +771,27 @@ _nm_properties_override(GArray *properties_override, const NMSettInfoProperty *p
/*****************************************************************************/
#define _nm_setting_property_define_direct_ternary_enum(properties_override, \
obj_properties, \
prop_name, \
prop_id, \
param_flags, \
private_struct_type, \
private_struct_field, \
...) \
_nm_setting_property_define_direct_enum((properties_override), \
(obj_properties), \
prop_name, \
(prop_id), \
NM_TYPE_TERNARY, \
NM_TERNARY_DEFAULT, \
(param_flags), \
private_struct_type, \
private_struct_field, \
__VA_ARGS__)
/*****************************************************************************/
#define _nm_setting_property_define_direct_flags(properties_override, \
obj_properties, \
prop_name, \

View file

@ -29,10 +29,10 @@
NM_GOBJECT_PROPERTIES_DEFINE_BASE(PROP_METHOD, PROP_BROWSER_ONLY, PROP_PAC_URL, PROP_PAC_SCRIPT, );
typedef struct {
char *pac_url;
char *pac_script;
int method;
bool browser_only;
char * pac_url;
char * pac_script;
gint32 method;
bool browser_only;
} NMSettingProxyPrivate;
/**
@ -207,63 +207,9 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
/*****************************************************************************/
static void
get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
NMSettingProxy *setting = NM_SETTING_PROXY(object);
switch (prop_id) {
case PROP_METHOD:
g_value_set_int(value, nm_setting_proxy_get_method(setting));
break;
case PROP_BROWSER_ONLY:
g_value_set_boolean(value, nm_setting_proxy_get_browser_only(setting));
break;
case PROP_PAC_URL:
g_value_set_string(value, nm_setting_proxy_get_pac_url(setting));
break;
case PROP_PAC_SCRIPT:
g_value_set_string(value, nm_setting_proxy_get_pac_script(setting));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
}
}
static void
set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
NMSettingProxyPrivate *priv = NM_SETTING_PROXY_GET_PRIVATE(object);
switch (prop_id) {
case PROP_METHOD:
priv->method = g_value_get_int(value);
break;
case PROP_BROWSER_ONLY:
priv->browser_only = g_value_get_boolean(value);
break;
case PROP_PAC_URL:
g_free(priv->pac_url);
priv->pac_url = g_value_dup_string(value);
break;
case PROP_PAC_SCRIPT:
g_free(priv->pac_script);
priv->pac_script = g_value_dup_string(value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
}
}
/*****************************************************************************/
static void
nm_setting_proxy_init(NMSettingProxy *self)
{
nm_assert(NM_SETTING_PROXY_GET_PRIVATE(self)->method == NM_SETTING_PROXY_METHOD_NONE);
}
{}
/**
* nm_setting_proxy_new:
@ -280,18 +226,6 @@ nm_setting_proxy_new(void)
return g_object_new(NM_TYPE_SETTING_PROXY, NULL);
}
static void
finalize(GObject *object)
{
NMSettingProxy * self = NM_SETTING_PROXY(object);
NMSettingProxyPrivate *priv = NM_SETTING_PROXY_GET_PRIVATE(self);
g_free(priv->pac_url);
g_free(priv->pac_script);
G_OBJECT_CLASS(nm_setting_proxy_parent_class)->finalize(object);
}
static void
nm_setting_proxy_class_init(NMSettingProxyClass *klass)
{
@ -301,9 +235,8 @@ nm_setting_proxy_class_init(NMSettingProxyClass *klass)
g_type_class_add_private(klass, sizeof(NMSettingProxyPrivate));
object_class->get_property = get_property;
object_class->set_property = set_property;
object_class->finalize = finalize;
object_class->get_property = _nm_setting_property_get_property_direct;
object_class->set_property = _nm_setting_property_set_property_direct;
setting_class->verify = verify;
@ -323,13 +256,16 @@ nm_setting_proxy_class_init(NMSettingProxyClass *klass)
* values: none, auto
* ---end---
*/
obj_properties[PROP_METHOD] = g_param_spec_int(NM_SETTING_PROXY_METHOD,
"",
"",
G_MININT32,
G_MAXINT32,
NM_SETTING_PROXY_METHOD_NONE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_int32(properties_override,
obj_properties,
NM_SETTING_PROXY_METHOD,
PROP_METHOD,
G_MININT32,
G_MAXINT32,
NM_SETTING_PROXY_METHOD_NONE,
NM_SETTING_PARAM_NONE,
NMSettingProxyPrivate,
method);
/**
* NMSettingProxy:browser-only:
@ -368,11 +304,13 @@ nm_setting_proxy_class_init(NMSettingProxyClass *klass)
* example: PAC_URL=http://wpad.mycompany.com/wpad.dat
* ---end---
*/
obj_properties[PROP_PAC_URL] = g_param_spec_string(NM_SETTING_PROXY_PAC_URL,
"",
"",
NULL,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_string(properties_override,
obj_properties,
NM_SETTING_PROXY_PAC_URL,
PROP_PAC_URL,
NM_SETTING_PARAM_NONE,
NMSettingProxyPrivate,
pac_url);
/**
* NMSettingProxy:pac-script:
@ -388,12 +326,13 @@ nm_setting_proxy_class_init(NMSettingProxyClass *klass)
* example: PAC_SCRIPT=/home/joe/proxy.pac
* ---end---
*/
obj_properties[PROP_PAC_SCRIPT] =
g_param_spec_string(NM_SETTING_PROXY_PAC_SCRIPT,
"",
"",
NULL,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_string(properties_override,
obj_properties,
NM_SETTING_PROXY_PAC_SCRIPT,
PROP_PAC_SCRIPT,
NM_SETTING_PARAM_NONE,
NMSettingProxyPrivate,
pac_script);
g_object_class_install_properties(object_class, _PROPERTY_ENUMS_LAST, obj_properties);

View file

@ -30,9 +30,9 @@ NM_GOBJECT_PROPERTIES_DEFINE_BASE(PROP_BAUD,
typedef struct {
guint64 send_delay;
guint baud;
guint bits;
guint stopbits;
guint32 baud;
guint32 bits;
guint32 stopbits;
char parity;
} NMSettingSerialPrivate;
@ -129,6 +129,8 @@ nm_setting_serial_get_send_delay(NMSettingSerial *setting)
return NM_SETTING_SERIAL_GET_PRIVATE(setting)->send_delay;
}
/*****************************************************************************/
static GVariant *
parity_to_dbus_fcn(_NM_SETT_INFO_PROP_TO_DBUS_FCN_ARGS _nm_nil)
{
@ -170,23 +172,11 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
NMSettingSerial *setting = NM_SETTING_SERIAL(object);
switch (prop_id) {
case PROP_BAUD:
g_value_set_uint(value, nm_setting_serial_get_baud(setting));
break;
case PROP_BITS:
g_value_set_uint(value, nm_setting_serial_get_bits(setting));
break;
case PROP_PARITY:
g_value_set_enum(value, nm_setting_serial_get_parity(setting));
break;
case PROP_STOPBITS:
g_value_set_uint(value, nm_setting_serial_get_stopbits(setting));
break;
case PROP_SEND_DELAY:
g_value_set_uint64(value, nm_setting_serial_get_send_delay(setting));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
_nm_setting_property_get_property_direct(object, prop_id, value, pspec);
break;
}
}
@ -197,23 +187,11 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
NMSettingSerialPrivate *priv = NM_SETTING_SERIAL_GET_PRIVATE(object);
switch (prop_id) {
case PROP_BAUD:
priv->baud = g_value_get_uint(value);
break;
case PROP_BITS:
priv->bits = g_value_get_uint(value);
break;
case PROP_PARITY:
priv->parity = g_value_get_enum(value);
break;
case PROP_STOPBITS:
priv->stopbits = g_value_get_uint(value);
break;
case PROP_SEND_DELAY:
priv->send_delay = g_value_get_uint64(value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
_nm_setting_property_set_property_direct(object, prop_id, value, pspec);
break;
}
}
@ -226,9 +204,6 @@ nm_setting_serial_init(NMSettingSerial *self)
NMSettingSerialPrivate *priv = NM_SETTING_SERIAL_GET_PRIVATE(self);
nm_assert(priv->parity == NM_SETTING_SERIAL_PARITY_NONE);
priv->stopbits = 1;
priv->baud = 57600;
priv->bits = 8;
}
/**
@ -263,26 +238,32 @@ nm_setting_serial_class_init(NMSettingSerialClass *klass)
* value usually has no effect for mobile broadband modems as they generally
* ignore speed settings and use the highest available speed.
**/
obj_properties[PROP_BAUD] = g_param_spec_uint(NM_SETTING_SERIAL_BAUD,
"",
"",
0,
G_MAXUINT,
57600,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_SERIAL_BAUD,
PROP_BAUD,
0,
G_MAXUINT32,
57600,
NM_SETTING_PARAM_NONE,
NMSettingSerialPrivate,
baud);
/**
* NMSettingSerial:bits:
*
* Byte-width of the serial communication. The 8 in "8n1" for example.
**/
obj_properties[PROP_BITS] = g_param_spec_uint(NM_SETTING_SERIAL_BITS,
"",
"",
5,
8,
8,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_SERIAL_BITS,
PROP_BITS,
5,
8,
8,
NM_SETTING_PARAM_NONE,
NMSettingSerialPrivate,
bits);
/**
* NMSettingSerial:parity:
@ -326,27 +307,32 @@ nm_setting_serial_class_init(NMSettingSerialClass *klass)
* Number of stop bits for communication on the serial port. Either 1 or 2.
* The 1 in "8n1" for example.
**/
obj_properties[PROP_STOPBITS] = g_param_spec_uint(NM_SETTING_SERIAL_STOPBITS,
"",
"",
1,
2,
1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_SERIAL_STOPBITS,
PROP_STOPBITS,
1,
2,
1,
NM_SETTING_PARAM_NONE,
NMSettingSerialPrivate,
stopbits);
/**
* NMSettingSerial:send-delay:
*
* Time to delay between each byte sent to the modem, in microseconds.
**/
obj_properties[PROP_SEND_DELAY] =
g_param_spec_uint64(NM_SETTING_SERIAL_SEND_DELAY,
"",
"",
0,
G_MAXUINT64,
0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint64(properties_override,
obj_properties,
NM_SETTING_SERIAL_SEND_DELAY,
PROP_SEND_DELAY,
0,
G_MAXUINT64,
0,
NM_SETTING_PARAM_NONE,
NMSettingSerialPrivate,
send_delay);
g_object_class_install_properties(object_class, _PROPERTY_ENUMS_LAST, obj_properties);

View file

@ -90,6 +90,7 @@ guint32
nm_setting_vlan_get_id(NMSettingVlan *setting)
{
g_return_val_if_fail(NM_IS_SETTING_VLAN(setting), 0);
return NM_SETTING_VLAN_GET_PRIVATE(setting)->id;
}
@ -738,9 +739,6 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
case PROP_PARENT:
g_value_set_string(value, priv->parent);
break;
case PROP_ID:
g_value_set_uint(value, priv->id);
break;
case PROP_FLAGS:
g_value_set_flags(value, priv->flags);
break;
@ -751,7 +749,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
g_value_take_boxed(value, priority_maplist_to_strv(priv->egress_priority_map));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
_nm_setting_property_get_property_direct(object, prop_id, value, pspec);
break;
}
}
@ -767,9 +765,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
g_free(priv->parent);
priv->parent = g_value_dup_string(value);
break;
case PROP_ID:
priv->id = g_value_get_uint(value);
break;
case PROP_FLAGS:
priv->flags = g_value_get_flags(value);
break;
@ -784,7 +779,7 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
priority_strv_to_maplist(NM_VLAN_EGRESS_MAP, g_value_get_boxed(value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
_nm_setting_property_set_property_direct(object, prop_id, value, pspec);
break;
}
}
@ -876,14 +871,16 @@ nm_setting_vlan_class_init(NMSettingVlanClass *klass)
* prefer the detected ID from the DEVICE over VLAN_ID.
* ---end---
*/
obj_properties[PROP_ID] =
g_param_spec_uint(NM_SETTING_VLAN_ID,
"",
"",
0,
4095,
0,
G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_VLAN_ID,
PROP_ID,
0,
4095,
0,
NM_SETTING_PARAM_INFERRABLE,
NMSettingVlanPrivate,
id);
/**
* NMSettingVlan:flags:

View file

@ -35,10 +35,9 @@
NM_GOBJECT_PROPERTIES_DEFINE_BASE(PROP_PEER, PROP_WPS_METHOD, PROP_WFD_IES, );
typedef struct {
char * peer_mac_address;
char * peer;
GBytes *wfd_ies;
NMSettingWirelessSecurityWpsMethod wps_method;
guint32 wps_method;
} NMSettingWifiP2PPrivate;
struct _NMSettingWifiP2P {
@ -70,7 +69,7 @@ nm_setting_wifi_p2p_get_peer(NMSettingWifiP2P *setting)
{
g_return_val_if_fail(NM_IS_SETTING_WIFI_P2P(setting), NULL);
return NM_SETTING_WIFI_P2P_GET_PRIVATE(setting)->peer_mac_address;
return NM_SETTING_WIFI_P2P_GET_PRIVATE(setting)->peer;
}
/**
@ -113,7 +112,7 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
{
NMSettingWifiP2PPrivate *priv = NM_SETTING_WIFI_P2P_GET_PRIVATE(setting);
if (!priv->peer_mac_address) {
if (!priv->peer) {
g_set_error_literal(error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_MISSING_PROPERTY,
@ -125,7 +124,7 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
return FALSE;
}
if (!nm_utils_hwaddr_valid(priv->peer_mac_address, ETH_ALEN)) {
if (!nm_utils_hwaddr_valid(priv->peer, ETH_ALEN)) {
g_set_error_literal(error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_INVALID_PROPERTY,
@ -149,53 +148,6 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
/*****************************************************************************/
static void
get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
NMSettingWifiP2P *setting = NM_SETTING_WIFI_P2P(object);
switch (prop_id) {
case PROP_PEER:
g_value_set_string(value, nm_setting_wifi_p2p_get_peer(setting));
break;
case PROP_WPS_METHOD:
g_value_set_uint(value, nm_setting_wifi_p2p_get_wps_method(setting));
break;
case PROP_WFD_IES:
g_value_set_boxed(value, nm_setting_wifi_p2p_get_wfd_ies(setting));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
}
}
static void
set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
NMSettingWifiP2PPrivate *priv = NM_SETTING_WIFI_P2P_GET_PRIVATE(object);
switch (prop_id) {
case PROP_PEER:
g_free(priv->peer_mac_address);
priv->peer_mac_address =
_nm_utils_hwaddr_canonical_or_invalid(g_value_get_string(value), ETH_ALEN);
break;
case PROP_WPS_METHOD:
priv->wps_method = g_value_get_uint(value);
break;
case PROP_WFD_IES:
nm_clear_pointer(&priv->wfd_ies, g_bytes_unref);
priv->wfd_ies = g_value_dup_boxed(value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
}
}
/*****************************************************************************/
static void
nm_setting_wifi_p2p_init(NMSettingWifiP2P *setting)
{}
@ -215,26 +167,15 @@ nm_setting_wifi_p2p_new(void)
return g_object_new(NM_TYPE_SETTING_WIFI_P2P, NULL);
}
static void
finalize(GObject *object)
{
NMSettingWifiP2PPrivate *priv = NM_SETTING_WIFI_P2P_GET_PRIVATE(object);
g_free(priv->peer_mac_address);
g_bytes_unref(priv->wfd_ies);
G_OBJECT_CLASS(nm_setting_wifi_p2p_parent_class)->finalize(object);
}
static void
nm_setting_wifi_p2p_class_init(NMSettingWifiP2PClass *setting_wifi_p2p_class)
{
GObjectClass * object_class = G_OBJECT_CLASS(setting_wifi_p2p_class);
NMSettingClass *setting_class = NM_SETTING_CLASS(setting_wifi_p2p_class);
GObjectClass * object_class = G_OBJECT_CLASS(setting_wifi_p2p_class);
NMSettingClass *setting_class = NM_SETTING_CLASS(setting_wifi_p2p_class);
GArray * properties_override = _nm_sett_info_property_override_create_array();
object_class->get_property = get_property;
object_class->set_property = set_property;
object_class->finalize = finalize;
object_class->get_property = _nm_setting_property_get_property_direct;
object_class->set_property = _nm_setting_property_set_property_direct;
setting_class->verify = verify;
@ -254,11 +195,13 @@ nm_setting_wifi_p2p_class_init(NMSettingWifiP2PClass *setting_wifi_p2p_class)
* (e.g. 0;34;104;18;121;162).
* ---end---
*/
obj_properties[PROP_PEER] = g_param_spec_string(NM_SETTING_WIFI_P2P_PEER,
"",
"",
NULL,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_string(properties_override,
obj_properties,
NM_SETTING_WIFI_P2P_PEER,
PROP_PEER,
NM_SETTING_PARAM_NONE,
NMSettingWifiP2P,
_priv.peer);
/**
* NMSettingWifiP2P:wps-method:
@ -270,14 +213,16 @@ nm_setting_wifi_p2p_class_init(NMSettingWifiP2PClass *setting_wifi_p2p_class)
*
* Since: 1.16
*/
obj_properties[PROP_WPS_METHOD] = g_param_spec_uint(
NM_SETTING_WIFI_P2P_WPS_METHOD,
"",
"",
0,
G_MAXUINT32,
NM_SETTING_WIRELESS_SECURITY_WPS_METHOD_DEFAULT,
G_PARAM_READWRITE | NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_WIFI_P2P_WPS_METHOD,
PROP_WPS_METHOD,
0,
G_MAXUINT32,
NM_SETTING_WIRELESS_SECURITY_WPS_METHOD_DEFAULT,
NM_SETTING_PARAM_FUZZY_IGNORE,
NMSettingWifiP2P,
_priv.wps_method);
/**
* NMSettingWifiP2P:wfd-ies:
@ -291,14 +236,19 @@ nm_setting_wifi_p2p_class_init(NMSettingWifiP2PClass *setting_wifi_p2p_class)
*
* Since: 1.16
*/
obj_properties[PROP_WFD_IES] = g_param_spec_boxed(
NM_SETTING_WIFI_P2P_WFD_IES,
"",
"",
G_TYPE_BYTES,
G_PARAM_READWRITE | NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_bytes(properties_override,
obj_properties,
NM_SETTING_WIFI_P2P_WFD_IES,
PROP_WFD_IES,
NM_SETTING_PARAM_FUZZY_IGNORE,
NMSettingWifiP2P,
_priv.wfd_ies);
g_object_class_install_properties(object_class, _PROPERTY_ENUMS_LAST, obj_properties);
_nm_setting_class_commit(setting_class, NM_META_SETTING_TYPE_WIFI_P2P, NULL, NULL, 0);
_nm_setting_class_commit(setting_class,
NM_META_SETTING_TYPE_WIFI_P2P,
NULL,
properties_override,
0);
}

View file

@ -1156,9 +1156,6 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
NMSettingWirelessPrivate *priv = NM_SETTING_WIRELESS_GET_PRIVATE(object);
switch (prop_id) {
case PROP_SSID:
g_value_set_boxed(value, nm_setting_wireless_get_ssid(setting));
break;
case PROP_MODE:
g_value_set_string(value, nm_setting_wireless_get_mode(setting));
break;
@ -1168,18 +1165,12 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
case PROP_CHANNEL:
g_value_set_uint(value, nm_setting_wireless_get_channel(setting));
break;
case PROP_BSSID:
g_value_set_string(value, nm_setting_wireless_get_bssid(setting));
break;
case PROP_RATE:
g_value_set_uint(value, nm_setting_wireless_get_rate(setting));
break;
case PROP_TX_POWER:
g_value_set_uint(value, nm_setting_wireless_get_tx_power(setting));
break;
case PROP_MAC_ADDRESS:
g_value_set_string(value, nm_setting_wireless_get_mac_address(setting));
break;
case PROP_CLONED_MAC_ADDRESS:
g_value_set_string(value, nm_setting_wireless_get_cloned_mac_address(setting));
break;
@ -1199,9 +1190,6 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
? nm_strv_dup((char **) priv->seen_bssids->pdata, priv->seen_bssids->len, TRUE)
: NULL);
break;
case PROP_HIDDEN:
g_value_set_boolean(value, nm_setting_wireless_get_hidden(setting));
break;
case PROP_POWERSAVE:
g_value_set_uint(value, nm_setting_wireless_get_powersave(setting));
break;
@ -1215,7 +1203,7 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
g_value_set_enum(value, priv->ap_isolation);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
_nm_setting_property_get_property_direct(object, prop_id, value, pspec);
break;
}
}
@ -1229,11 +1217,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
gboolean bool_val;
switch (prop_id) {
case PROP_SSID:
if (priv->ssid)
g_bytes_unref(priv->ssid);
priv->ssid = g_value_dup_boxed(value);
break;
case PROP_MODE:
g_free(priv->mode);
priv->mode = g_value_dup_string(value);
@ -1245,21 +1228,12 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
case PROP_CHANNEL:
priv->channel = g_value_get_uint(value);
break;
case PROP_BSSID:
g_free(priv->bssid);
priv->bssid = _nm_utils_hwaddr_canonical_or_invalid(g_value_get_string(value), ETH_ALEN);
break;
case PROP_RATE:
priv->rate = g_value_get_uint(value);
break;
case PROP_TX_POWER:
priv->tx_power = g_value_get_uint(value);
break;
case PROP_MAC_ADDRESS:
g_free(priv->device_mac_address);
priv->device_mac_address =
_nm_utils_hwaddr_canonical_or_invalid(g_value_get_string(value), ETH_ALEN);
break;
case PROP_CLONED_MAC_ADDRESS:
bool_val = !!priv->cloned_mac_address;
g_free(priv->cloned_mac_address);
@ -1311,9 +1285,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
}
break;
}
case PROP_HIDDEN:
priv->hidden = g_value_get_boolean(value);
break;
case PROP_POWERSAVE:
priv->powersave = g_value_get_uint(value);
break;
@ -1327,7 +1298,7 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
priv->ap_isolation = g_value_get_enum(value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
_nm_setting_property_set_property_direct(object, prop_id, value, pspec);
break;
}
}
@ -1368,8 +1339,6 @@ finalize(GObject *object)
g_free(priv->mode);
g_free(priv->band);
if (priv->ssid)
g_bytes_unref(priv->ssid);
g_free(priv->cloned_mac_address);
g_free(priv->generate_mac_address_mask);
g_array_unref(priv->mac_address_blacklist);
@ -1411,11 +1380,13 @@ nm_setting_wireless_class_init(NMSettingWirelessClass *klass)
* example: ESSID="Quick Net"
* ---end---
*/
obj_properties[PROP_SSID] = g_param_spec_boxed(NM_SETTING_WIRELESS_SSID,
"",
"",
G_TYPE_BYTES,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_bytes(properties_override,
obj_properties,
NM_SETTING_WIRELESS_SSID,
PROP_SSID,
NM_SETTING_PARAM_NONE,
NMSettingWirelessPrivate,
ssid);
/**
* NMSettingWireless:mode:

View file

@ -375,19 +375,7 @@ _nm_setting_class_commit(NMSettingClass * setting_class,
nm_assert(p->param_spec);
vtype = p->param_spec->value_type;
if (vtype == G_TYPE_BOOLEAN)
p->property_type = NM_SETT_INFO_PROPERT_TYPE_GPROP(
G_VARIANT_TYPE_BOOLEAN,
.compare_fcn = _nm_setting_property_compare_fcn_default,
.from_dbus_fcn = _nm_setting_property_from_dbus_fcn_gprop,
.from_dbus_is_full = TRUE);
else if (vtype == G_TYPE_UCHAR)
p->property_type = NM_SETT_INFO_PROPERT_TYPE_GPROP(
G_VARIANT_TYPE_BYTE,
.compare_fcn = _nm_setting_property_compare_fcn_default,
.from_dbus_fcn = _nm_setting_property_from_dbus_fcn_gprop,
.from_dbus_is_full = TRUE);
else if (vtype == G_TYPE_INT)
if (vtype == G_TYPE_INT)
p->property_type = &nm_sett_info_propert_type_plain_i;
else if (vtype == G_TYPE_UINT)
p->property_type = &nm_sett_info_propert_type_plain_u;
@ -397,12 +385,6 @@ _nm_setting_class_commit(NMSettingClass * setting_class,
.compare_fcn = _nm_setting_property_compare_fcn_default,
.from_dbus_fcn = _nm_setting_property_from_dbus_fcn_gprop,
.from_dbus_is_full = TRUE);
else if (vtype == G_TYPE_UINT64)
p->property_type = NM_SETT_INFO_PROPERT_TYPE_GPROP(
G_VARIANT_TYPE_UINT64,
.compare_fcn = _nm_setting_property_compare_fcn_default,
.from_dbus_fcn = _nm_setting_property_from_dbus_fcn_gprop,
.from_dbus_is_full = TRUE);
else if (vtype == G_TYPE_STRING) {
nm_assert(nm_streq(p->name, NM_SETTING_NAME)
== (!NM_FLAGS_HAS(p->param_spec->flags, G_PARAM_WRITABLE)));
@ -427,14 +409,7 @@ _nm_setting_class_commit(NMSettingClass * setting_class,
.compare_fcn = _nm_setting_property_compare_fcn_default,
.from_dbus_fcn = _nm_setting_property_from_dbus_fcn_gprop,
.from_dbus_is_full = TRUE);
else if (vtype == G_TYPE_BYTES) {
p->property_type = NM_SETT_INFO_PROPERT_TYPE_GPROP(
G_VARIANT_TYPE_BYTESTRING,
.typdata_to_dbus.gprop_type = NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_BYTES,
.compare_fcn = _nm_setting_property_compare_fcn_default,
.from_dbus_fcn = _nm_setting_property_from_dbus_fcn_gprop,
.from_dbus_is_full = TRUE);
} else if (g_type_is_a(vtype, G_TYPE_ENUM)) {
else if (g_type_is_a(vtype, G_TYPE_ENUM)) {
p->property_type = NM_SETT_INFO_PROPERT_TYPE_GPROP(
G_VARIANT_TYPE_INT32,
.typdata_to_dbus.gprop_type = NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_ENUM,
@ -1234,9 +1209,6 @@ _nm_setting_property_to_dbus_fcn_gprop(_NM_SETT_INFO_PROP_TO_DBUS_FCN_ARGS _nm_n
switch (property_info->property_type->typdata_to_dbus.gprop_type) {
case NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_DEFAULT:
return g_dbus_gvalue_to_gvariant(&prop_value, property_info->property_type->dbus_type);
case NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_BYTES:
nm_assert(G_VALUE_HOLDS(&prop_value, G_TYPE_BYTES));
return nm_g_bytes_to_variant_ay(g_value_get_boxed(&prop_value));
case NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_ENUM:
return nm_g_variant_maybe_singleton_i(g_value_get_enum(&prop_value));
case NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_FLAGS:

View file

@ -4589,9 +4589,6 @@ test_setting_metadata(void)
} else if (sip->property_type->to_dbus_fcn == _nm_setting_property_to_dbus_fcn_gprop) {
g_assert(sip->param_spec);
switch (sip->property_type->typdata_to_dbus.gprop_type) {
case NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_BYTES:
g_assert(sip->param_spec->value_type == G_TYPE_BYTES);
goto check_done;
case NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_ENUM:
g_assert(g_type_is_a(sip->param_spec->value_type, G_TYPE_ENUM));
goto check_done;

View file

@ -660,7 +660,6 @@ const NMSettInfoSetting *nmtst_sett_info_settings(void);
typedef enum _nm_packed {
NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_DEFAULT = 0,
NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_BYTES,
NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_ENUM,
NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_FLAGS,
NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_GARRAY_UINT,