libnm: implement NMSettingPpp with all direct properties

This commit is contained in:
Thomas Haller 2021-06-29 09:22:11 +02:00
parent 56241f328f
commit 3a7a88fe61
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728

View file

@ -337,6 +337,8 @@ nm_setting_ppp_get_lcp_echo_interval(NMSettingPpp *setting)
return NM_SETTING_PPP_GET_PRIVATE(setting)->lcp_echo_interval;
}
/*****************************************************************************/
static gboolean
verify(NMSetting *setting, NMConnection *connection, GError **error)
{
@ -376,140 +378,6 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
/*****************************************************************************/
static void
get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
NMSettingPpp *setting = NM_SETTING_PPP(object);
switch (prop_id) {
case PROP_NOAUTH:
g_value_set_boolean(value, nm_setting_ppp_get_noauth(setting));
break;
case PROP_REFUSE_EAP:
g_value_set_boolean(value, nm_setting_ppp_get_refuse_eap(setting));
break;
case PROP_REFUSE_PAP:
g_value_set_boolean(value, nm_setting_ppp_get_refuse_pap(setting));
break;
case PROP_REFUSE_CHAP:
g_value_set_boolean(value, nm_setting_ppp_get_refuse_chap(setting));
break;
case PROP_REFUSE_MSCHAP:
g_value_set_boolean(value, nm_setting_ppp_get_refuse_mschap(setting));
break;
case PROP_REFUSE_MSCHAPV2:
g_value_set_boolean(value, nm_setting_ppp_get_refuse_mschapv2(setting));
break;
case PROP_NOBSDCOMP:
g_value_set_boolean(value, nm_setting_ppp_get_nobsdcomp(setting));
break;
case PROP_NODEFLATE:
g_value_set_boolean(value, nm_setting_ppp_get_nodeflate(setting));
break;
case PROP_NO_VJ_COMP:
g_value_set_boolean(value, nm_setting_ppp_get_no_vj_comp(setting));
break;
case PROP_REQUIRE_MPPE:
g_value_set_boolean(value, nm_setting_ppp_get_require_mppe(setting));
break;
case PROP_REQUIRE_MPPE_128:
g_value_set_boolean(value, nm_setting_ppp_get_require_mppe_128(setting));
break;
case PROP_MPPE_STATEFUL:
g_value_set_boolean(value, nm_setting_ppp_get_mppe_stateful(setting));
break;
case PROP_CRTSCTS:
g_value_set_boolean(value, nm_setting_ppp_get_crtscts(setting));
break;
case PROP_BAUD:
g_value_set_uint(value, nm_setting_ppp_get_baud(setting));
break;
case PROP_MRU:
g_value_set_uint(value, nm_setting_ppp_get_mru(setting));
break;
case PROP_MTU:
g_value_set_uint(value, nm_setting_ppp_get_mtu(setting));
break;
case PROP_LCP_ECHO_FAILURE:
g_value_set_uint(value, nm_setting_ppp_get_lcp_echo_failure(setting));
break;
case PROP_LCP_ECHO_INTERVAL:
g_value_set_uint(value, nm_setting_ppp_get_lcp_echo_interval(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)
{
NMSettingPppPrivate *priv = NM_SETTING_PPP_GET_PRIVATE(object);
switch (prop_id) {
case PROP_NOAUTH:
priv->noauth = g_value_get_boolean(value);
break;
case PROP_REFUSE_EAP:
priv->refuse_eap = g_value_get_boolean(value);
break;
case PROP_REFUSE_PAP:
priv->refuse_pap = g_value_get_boolean(value);
break;
case PROP_REFUSE_CHAP:
priv->refuse_chap = g_value_get_boolean(value);
break;
case PROP_REFUSE_MSCHAP:
priv->refuse_mschap = g_value_get_boolean(value);
break;
case PROP_REFUSE_MSCHAPV2:
priv->refuse_mschapv2 = g_value_get_boolean(value);
break;
case PROP_NOBSDCOMP:
priv->nobsdcomp = g_value_get_boolean(value);
break;
case PROP_NODEFLATE:
priv->nodeflate = g_value_get_boolean(value);
break;
case PROP_NO_VJ_COMP:
priv->no_vj_comp = g_value_get_boolean(value);
break;
case PROP_REQUIRE_MPPE:
priv->require_mppe = g_value_get_boolean(value);
break;
case PROP_REQUIRE_MPPE_128:
priv->require_mppe_128 = g_value_get_boolean(value);
break;
case PROP_MPPE_STATEFUL:
priv->mppe_stateful = g_value_get_boolean(value);
break;
case PROP_CRTSCTS:
priv->crtscts = g_value_get_boolean(value);
break;
case PROP_BAUD:
priv->baud = g_value_get_uint(value);
break;
case PROP_MRU:
priv->mru = g_value_get_uint(value);
break;
case PROP_MTU:
priv->mtu = g_value_get_uint(value);
break;
case PROP_LCP_ECHO_FAILURE:
priv->lcp_echo_failure = g_value_get_uint(value);
break;
case PROP_LCP_ECHO_INTERVAL:
priv->lcp_echo_interval = g_value_get_uint(value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
break;
}
}
/*****************************************************************************/
static void
nm_setting_ppp_init(NMSettingPpp *self)
{}
@ -536,10 +404,11 @@ nm_setting_ppp_class_init(NMSettingPppClass *klass)
g_type_class_add_private(klass, sizeof(NMSettingPppPrivate));
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 = verify;
setting_class->finalize_direct = TRUE;
/**
* NMSettingPpp:noauth:
@ -740,14 +609,16 @@ nm_setting_ppp_class_init(NMSettingPppClass *klass)
* baudrate. This value should normally be left as 0 to automatically
* choose the speed.
**/
obj_properties[PROP_BAUD] = g_param_spec_uint(NM_SETTING_PPP_BAUD,
"",
"",
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_PPP_BAUD,
PROP_BAUD,
0,
G_MAXUINT32,
0,
NM_SETTING_PARAM_FUZZY_IGNORE,
NMSettingPppPrivate,
baud);
/**
* NMSettingPpp:mru:
@ -756,13 +627,16 @@ nm_setting_ppp_class_init(NMSettingPppClass *klass)
* larger than the specified size. If non-zero, the MRU should be between
* 128 and 16384.
*/
obj_properties[PROP_MRU] = g_param_spec_uint(NM_SETTING_PPP_MRU,
"",
"",
0,
16384,
0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
_nm_setting_property_define_direct_uint32(properties_override,
obj_properties,
NM_SETTING_PPP_MRU,
PROP_MRU,
0,
16384,
0,
NM_SETTING_PARAM_NONE,
NMSettingPppPrivate,
mru);
/**
* NMSettingPpp:mtu:
@ -770,14 +644,16 @@ nm_setting_ppp_class_init(NMSettingPppClass *klass)
* If non-zero, instruct pppd to send packets no larger than the specified
* size.
**/
obj_properties[PROP_MTU] = g_param_spec_uint(NM_SETTING_PPP_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_PPP_MTU,
PROP_MTU,
0,
G_MAXUINT32,
0,
NM_SETTING_PARAM_FUZZY_IGNORE,
NMSettingPppPrivate,
mtu);
/**
* NMSettingPpp:lcp-echo-failure:
@ -787,14 +663,16 @@ nm_setting_ppp_class_init(NMSettingPppClass *klass)
* peer. The "lcp-echo-interval" property must also be set to a non-zero
* value if this property is used.
**/
obj_properties[PROP_LCP_ECHO_FAILURE] = g_param_spec_uint(
NM_SETTING_PPP_LCP_ECHO_FAILURE,
"",
"",
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_PPP_LCP_ECHO_FAILURE,
PROP_LCP_ECHO_FAILURE,
0,
G_MAXUINT32,
0,
NM_SETTING_PARAM_FUZZY_IGNORE,
NMSettingPppPrivate,
lcp_echo_failure);
/**
* NMSettingPpp:lcp-echo-interval:
@ -804,14 +682,16 @@ nm_setting_ppp_class_init(NMSettingPppClass *klass)
* peers will respond to echo requests and some will not, and it is not
* possible to autodetect this.
**/
obj_properties[PROP_LCP_ECHO_INTERVAL] = g_param_spec_uint(
NM_SETTING_PPP_LCP_ECHO_INTERVAL,
"",
"",
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_PPP_LCP_ECHO_INTERVAL,
PROP_LCP_ECHO_INTERVAL,
0,
G_MAXUINT32,
0,
NM_SETTING_PARAM_FUZZY_IGNORE,
NMSettingPppPrivate,
lcp_echo_interval);
g_object_class_install_properties(object_class, _PROPERTY_ENUMS_LAST, obj_properties);