about summary refs log tree commit diff
path: root/libnm-core/nm-setting-ppp.c
diff options
context:
space:
mode:
Diffstat (limited to 'libnm-core/nm-setting-ppp.c')
-rw-r--r--libnm-core/nm-setting-ppp.c420
1 files changed, 205 insertions, 215 deletions
diff --git a/libnm-core/nm-setting-ppp.c b/libnm-core/nm-setting-ppp.c
index 7425da19..12a8c366 100644
--- a/libnm-core/nm-setting-ppp.c
+++ b/libnm-core/nm-setting-ppp.c
@@ -23,6 +23,7 @@
 #include "nm-default.h"
 
 #include "nm-setting-ppp.h"
+
 #include "nm-setting-private.h"
 
 /**
@@ -35,9 +36,28 @@
  * cable and DSL modems and some mobile broadband devices.
  **/
 
-G_DEFINE_TYPE (NMSettingPpp, nm_setting_ppp, NM_TYPE_SETTING)
+/*****************************************************************************/
 
-#define NM_SETTING_PPP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_PPP, NMSettingPppPrivate))
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
+	PROP_NOAUTH,
+	PROP_REFUSE_EAP,
+	PROP_REFUSE_PAP,
+	PROP_REFUSE_CHAP,
+	PROP_REFUSE_MSCHAP,
+	PROP_REFUSE_MSCHAPV2,
+	PROP_NOBSDCOMP,
+	PROP_NODEFLATE,
+	PROP_NO_VJ_COMP,
+	PROP_REQUIRE_MPPE,
+	PROP_REQUIRE_MPPE_128,
+	PROP_MPPE_STATEFUL,
+	PROP_CRTSCTS,
+	PROP_BAUD,
+	PROP_MRU,
+	PROP_MTU,
+	PROP_LCP_ECHO_FAILURE,
+	PROP_LCP_ECHO_INTERVAL,
+);
 
 typedef struct {
 	gboolean noauth;
@@ -60,42 +80,11 @@ typedef struct {
 	guint32 lcp_echo_interval;
 } NMSettingPppPrivate;
 
-enum {
-	PROP_0,
-	PROP_NOAUTH,
-	PROP_REFUSE_EAP,
-	PROP_REFUSE_PAP,
-	PROP_REFUSE_CHAP,
-	PROP_REFUSE_MSCHAP,
-	PROP_REFUSE_MSCHAPV2,
-	PROP_NOBSDCOMP,
-	PROP_NODEFLATE,
-	PROP_NO_VJ_COMP,
-	PROP_REQUIRE_MPPE,
-	PROP_REQUIRE_MPPE_128,
-	PROP_MPPE_STATEFUL,
-	PROP_CRTSCTS,
-	PROP_BAUD,
-	PROP_MRU,
-	PROP_MTU,
-	PROP_LCP_ECHO_FAILURE,
-	PROP_LCP_ECHO_INTERVAL,
+G_DEFINE_TYPE (NMSettingPpp, nm_setting_ppp, NM_TYPE_SETTING)
 
-	LAST_PROP
-};
+#define NM_SETTING_PPP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_PPP, NMSettingPppPrivate))
 
-/**
- * nm_setting_ppp_new:
- *
- * Creates a new #NMSettingPpp object with default values.
- *
- * Returns: (transfer full): the new empty #NMSettingPpp object
- **/
-NMSetting *
-nm_setting_ppp_new (void)
-{
-	return (NMSetting *) g_object_new (NM_TYPE_SETTING_PPP, NULL);
-}
+/*****************************************************************************/
 
 /**
  * nm_setting_ppp_get_noauth:
@@ -383,71 +372,68 @@ verify (NMSetting *setting, NMConnection *connection, GError **error)
 	return TRUE;
 }
 
-static void
-nm_setting_ppp_init (NMSettingPpp *setting)
-{
-}
+/*****************************************************************************/
 
 static void
-set_property (GObject *object, guint prop_id,
-              const GValue *value, GParamSpec *pspec)
+get_property (GObject *object, guint prop_id,
+              GValue *value, GParamSpec *pspec)
 {
-	NMSettingPppPrivate *priv = NM_SETTING_PPP_GET_PRIVATE (object);
+	NMSettingPpp *setting = NM_SETTING_PPP (object);
 
 	switch (prop_id) {
 	case PROP_NOAUTH:
-		priv->noauth = g_value_get_boolean (value);
+		g_value_set_boolean (value, nm_setting_ppp_get_noauth (setting));
 		break;
 	case PROP_REFUSE_EAP:
-		priv->refuse_eap = g_value_get_boolean (value);
+		g_value_set_boolean (value, nm_setting_ppp_get_refuse_eap (setting));
 		break;
 	case PROP_REFUSE_PAP:
-		priv->refuse_pap = g_value_get_boolean (value);
+		g_value_set_boolean (value, nm_setting_ppp_get_refuse_pap (setting));
 		break;
 	case PROP_REFUSE_CHAP:
-		priv->refuse_chap = g_value_get_boolean (value);
+		g_value_set_boolean (value, nm_setting_ppp_get_refuse_chap (setting));
 		break;
 	case PROP_REFUSE_MSCHAP:
-		priv->refuse_mschap = g_value_get_boolean (value);
+		g_value_set_boolean (value, nm_setting_ppp_get_refuse_mschap (setting));
 		break;
 	case PROP_REFUSE_MSCHAPV2:
-		priv->refuse_mschapv2 = g_value_get_boolean (value);
+		g_value_set_boolean (value, nm_setting_ppp_get_refuse_mschapv2 (setting));
 		break;
 	case PROP_NOBSDCOMP:
-		priv->nobsdcomp = g_value_get_boolean (value);
+		g_value_set_boolean (value, nm_setting_ppp_get_nobsdcomp (setting));
 		break;
 	case PROP_NODEFLATE:
-		priv->nodeflate = g_value_get_boolean (value);
+		g_value_set_boolean (value, nm_setting_ppp_get_nodeflate (setting));
 		break;
 	case PROP_NO_VJ_COMP:
-		priv->no_vj_comp = g_value_get_boolean (value);
+		g_value_set_boolean (value, nm_setting_ppp_get_no_vj_comp (setting));
 		break;
 	case PROP_REQUIRE_MPPE:
-		priv->require_mppe = g_value_get_boolean (value);
+		g_value_set_boolean (value, nm_setting_ppp_get_require_mppe (setting));
 		break;
 	case PROP_REQUIRE_MPPE_128:
-		priv->require_mppe_128 = g_value_get_boolean (value);
+		g_value_set_boolean (value, nm_setting_ppp_get_require_mppe_128 (setting));
 		break;
 	case PROP_MPPE_STATEFUL:
-		priv->mppe_stateful = g_value_get_boolean (value);
+		g_value_set_boolean (value, nm_setting_ppp_get_mppe_stateful (setting));
 		break;
 	case PROP_CRTSCTS:
-		priv->crtscts = g_value_get_boolean (value);
+		g_value_set_boolean (value, nm_setting_ppp_get_crtscts (setting));
 		break;
 	case PROP_BAUD:
-		priv->baud = g_value_get_uint (value);
+		g_value_set_uint (value, nm_setting_ppp_get_baud (setting));
 		break;
 	case PROP_MRU:
-		priv->mru = g_value_get_uint (value);
+		g_value_set_uint (value, nm_setting_ppp_get_mru (setting));
 		break;
 	case PROP_MTU:
-		priv->mtu = g_value_get_uint (value);
+		g_value_set_uint (value, nm_setting_ppp_get_mtu (setting));
 		break;
 	case PROP_LCP_ECHO_FAILURE:
-		priv->lcp_echo_failure = g_value_get_uint (value);
+		g_value_set_uint (value, nm_setting_ppp_get_lcp_echo_failure (setting));
 		break;
 	case PROP_LCP_ECHO_INTERVAL:
-		priv->lcp_echo_interval = g_value_get_uint (value);
+		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);
@@ -456,65 +442,65 @@ set_property (GObject *object, guint prop_id,
 }
 
 static void
-get_property (GObject *object, guint prop_id,
-              GValue *value, GParamSpec *pspec)
+set_property (GObject *object, guint prop_id,
+              const GValue *value, GParamSpec *pspec)
 {
-	NMSettingPpp *setting = NM_SETTING_PPP (object);
+	NMSettingPppPrivate *priv = NM_SETTING_PPP_GET_PRIVATE (object);
 
 	switch (prop_id) {
 	case PROP_NOAUTH:
-		g_value_set_boolean (value, nm_setting_ppp_get_noauth (setting));
+		priv->noauth = g_value_get_boolean (value);
 		break;
 	case PROP_REFUSE_EAP:
-		g_value_set_boolean (value, nm_setting_ppp_get_refuse_eap (setting));
+		priv->refuse_eap = g_value_get_boolean (value);
 		break;
 	case PROP_REFUSE_PAP:
-		g_value_set_boolean (value, nm_setting_ppp_get_refuse_pap (setting));
+		priv->refuse_pap = g_value_get_boolean (value);
 		break;
 	case PROP_REFUSE_CHAP:
-		g_value_set_boolean (value, nm_setting_ppp_get_refuse_chap (setting));
+		priv->refuse_chap = g_value_get_boolean (value);
 		break;
 	case PROP_REFUSE_MSCHAP:
-		g_value_set_boolean (value, nm_setting_ppp_get_refuse_mschap (setting));
+		priv->refuse_mschap = g_value_get_boolean (value);
 		break;
 	case PROP_REFUSE_MSCHAPV2:
-		g_value_set_boolean (value, nm_setting_ppp_get_refuse_mschapv2 (setting));
+		priv->refuse_mschapv2 = g_value_get_boolean (value);
 		break;
 	case PROP_NOBSDCOMP:
-		g_value_set_boolean (value, nm_setting_ppp_get_nobsdcomp (setting));
+		priv->nobsdcomp = g_value_get_boolean (value);
 		break;
 	case PROP_NODEFLATE:
-		g_value_set_boolean (value, nm_setting_ppp_get_nodeflate (setting));
+		priv->nodeflate = g_value_get_boolean (value);
 		break;
 	case PROP_NO_VJ_COMP:
-		g_value_set_boolean (value, nm_setting_ppp_get_no_vj_comp (setting));
+		priv->no_vj_comp = g_value_get_boolean (value);
 		break;
 	case PROP_REQUIRE_MPPE:
-		g_value_set_boolean (value, nm_setting_ppp_get_require_mppe (setting));
+		priv->require_mppe = g_value_get_boolean (value);
 		break;
 	case PROP_REQUIRE_MPPE_128:
-		g_value_set_boolean (value, nm_setting_ppp_get_require_mppe_128 (setting));
+		priv->require_mppe_128 = g_value_get_boolean (value);
 		break;
 	case PROP_MPPE_STATEFUL:
-		g_value_set_boolean (value, nm_setting_ppp_get_mppe_stateful (setting));
+		priv->mppe_stateful = g_value_get_boolean (value);
 		break;
 	case PROP_CRTSCTS:
-		g_value_set_boolean (value, nm_setting_ppp_get_crtscts (setting));
+		priv->crtscts = g_value_get_boolean (value);
 		break;
 	case PROP_BAUD:
-		g_value_set_uint (value, nm_setting_ppp_get_baud (setting));
+		priv->baud = g_value_get_uint (value);
 		break;
 	case PROP_MRU:
-		g_value_set_uint (value, nm_setting_ppp_get_mru (setting));
+		priv->mru = g_value_get_uint (value);
 		break;
 	case PROP_MTU:
-		g_value_set_uint (value, nm_setting_ppp_get_mtu (setting));
+		priv->mtu = g_value_get_uint (value);
 		break;
 	case PROP_LCP_ECHO_FAILURE:
-		g_value_set_uint (value, nm_setting_ppp_get_lcp_echo_failure (setting));
+		priv->lcp_echo_failure = g_value_get_uint (value);
 		break;
 	case PROP_LCP_ECHO_INTERVAL:
-		g_value_set_uint (value, nm_setting_ppp_get_lcp_echo_interval (setting));
+		priv->lcp_echo_interval = g_value_get_uint (value);
 		break;
 	default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -522,6 +508,26 @@ get_property (GObject *object, guint prop_id,
 	}
 }
 
+/*****************************************************************************/
+
+static void
+nm_setting_ppp_init (NMSettingPpp *setting)
+{
+}
+
+/**
+ * nm_setting_ppp_new:
+ *
+ * Creates a new #NMSettingPpp object with default values.
+ *
+ * Returns: (transfer full): the new empty #NMSettingPpp object
+ **/
+NMSetting *
+nm_setting_ppp_new (void)
+{
+	return (NMSetting *) g_object_new (NM_TYPE_SETTING_PPP, NULL);
+}
+
 static void
 nm_setting_ppp_class_init (NMSettingPppClass *klass)
 {
@@ -530,8 +536,8 @@ nm_setting_ppp_class_init (NMSettingPppClass *klass)
 
 	g_type_class_add_private (klass, sizeof (NMSettingPppPrivate));
 
-	object_class->set_property = set_property;
 	object_class->get_property = get_property;
+	object_class->set_property = set_property;
 
 	setting_class->verify = verify;
 
@@ -542,120 +548,111 @@ nm_setting_ppp_class_init (NMSettingPppClass *klass)
 	 * authenticate itself to the client.  If %FALSE, require authentication
 	 * from the remote side.  In almost all cases, this should be %TRUE.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_NOAUTH,
-		 g_param_spec_boolean (NM_SETTING_PPP_NOAUTH, "", "",
-		                       TRUE,
-		                       G_PARAM_READWRITE |
-		                       G_PARAM_CONSTRUCT |
-		                       G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_NOAUTH] =
+	    g_param_spec_boolean (NM_SETTING_PPP_NOAUTH, "", "",
+	                          TRUE,
+	                          G_PARAM_READWRITE |
+	                          G_PARAM_CONSTRUCT |
+	                          G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:refuse-eap:
 	 *
 	 * If %TRUE, the EAP authentication method will not be used.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_REFUSE_EAP,
-		 g_param_spec_boolean (NM_SETTING_PPP_REFUSE_EAP, "", "",
-		                       FALSE,
-		                       G_PARAM_READWRITE |
-		                       G_PARAM_CONSTRUCT |
-		                       G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_REFUSE_EAP] =
+	    g_param_spec_boolean (NM_SETTING_PPP_REFUSE_EAP, "", "",
+	                          FALSE,
+	                          G_PARAM_READWRITE |
+	                          G_PARAM_CONSTRUCT |
+	                          G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:refuse-pap:
 	 *
 	 * If %TRUE, the PAP authentication method will not be used.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_REFUSE_PAP,
-		 g_param_spec_boolean (NM_SETTING_PPP_REFUSE_PAP, "", "",
-		                       FALSE,
-		                       G_PARAM_READWRITE |
-		                       G_PARAM_CONSTRUCT |
-		                       G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_REFUSE_PAP] =
+	    g_param_spec_boolean (NM_SETTING_PPP_REFUSE_PAP, "", "",
+	                          FALSE,
+	                          G_PARAM_READWRITE |
+	                          G_PARAM_CONSTRUCT |
+	                          G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:refuse-chap:
 	 *
 	 * If %TRUE, the CHAP authentication method will not be used.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_REFUSE_CHAP,
-		 g_param_spec_boolean (NM_SETTING_PPP_REFUSE_CHAP, "", "",
-		                       FALSE,
-		                       G_PARAM_READWRITE |
-		                       G_PARAM_CONSTRUCT |
-		                       G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_REFUSE_CHAP] =
+	    g_param_spec_boolean (NM_SETTING_PPP_REFUSE_CHAP, "", "",
+	                          FALSE,
+	                          G_PARAM_READWRITE |
+	                          G_PARAM_CONSTRUCT |
+	                          G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:refuse-mschap:
 	 *
 	 * If %TRUE, the MSCHAP authentication method will not be used.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_REFUSE_MSCHAP,
-		 g_param_spec_boolean (NM_SETTING_PPP_REFUSE_MSCHAP, "", "",
-		                       FALSE,
-		                       G_PARAM_READWRITE |
-		                       G_PARAM_CONSTRUCT |
-		                       G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_REFUSE_MSCHAP] =
+	    g_param_spec_boolean (NM_SETTING_PPP_REFUSE_MSCHAP, "", "",
+	                          FALSE,
+	                          G_PARAM_READWRITE |
+	                          G_PARAM_CONSTRUCT |
+	                          G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:refuse-mschapv2:
 	 *
 	 * If %TRUE, the MSCHAPv2 authentication method will not be used.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_REFUSE_MSCHAPV2,
-		 g_param_spec_boolean (NM_SETTING_PPP_REFUSE_MSCHAPV2, "", "",
-		                       FALSE,
-		                       G_PARAM_READWRITE |
-		                       G_PARAM_CONSTRUCT |
-		                       G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_REFUSE_MSCHAPV2] =
+	    g_param_spec_boolean (NM_SETTING_PPP_REFUSE_MSCHAPV2, "", "",
+	                          FALSE,
+	                          G_PARAM_READWRITE |
+	                          G_PARAM_CONSTRUCT |
+	                          G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:nobsdcomp:
 	 *
 	 * If %TRUE, BSD compression will not be requested.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_NOBSDCOMP,
-		 g_param_spec_boolean (NM_SETTING_PPP_NOBSDCOMP, "", "",
-		                       FALSE,
-		                       G_PARAM_READWRITE |
-		                       G_PARAM_CONSTRUCT |
-		                       NM_SETTING_PARAM_FUZZY_IGNORE |
-		                       G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_NOBSDCOMP] =
+	    g_param_spec_boolean (NM_SETTING_PPP_NOBSDCOMP, "", "",
+	                          FALSE,
+	                          G_PARAM_READWRITE |
+	                          G_PARAM_CONSTRUCT |
+	                          NM_SETTING_PARAM_FUZZY_IGNORE |
+	                          G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:nodeflate:
 	 *
 	 * If %TRUE, "deflate" compression will not be requested.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_NODEFLATE,
-		 g_param_spec_boolean (NM_SETTING_PPP_NODEFLATE, "", "",
-		                       FALSE,
-		                       G_PARAM_READWRITE |
-		                       G_PARAM_CONSTRUCT |
-		                       NM_SETTING_PARAM_FUZZY_IGNORE |
-		                       G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_NODEFLATE] =
+	    g_param_spec_boolean (NM_SETTING_PPP_NODEFLATE, "", "",
+	                          FALSE,
+	                          G_PARAM_READWRITE |
+	                          G_PARAM_CONSTRUCT |
+	                          NM_SETTING_PARAM_FUZZY_IGNORE |
+	                          G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:no-vj-comp:
 	 *
 	 * If %TRUE, Van Jacobsen TCP header compression will not be requested.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_NO_VJ_COMP,
-		 g_param_spec_boolean (NM_SETTING_PPP_NO_VJ_COMP, "", "",
-		                       FALSE,
-		                       G_PARAM_READWRITE |
-		                       G_PARAM_CONSTRUCT |
-		                       NM_SETTING_PARAM_FUZZY_IGNORE |
-		                       G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_NO_VJ_COMP] =
+	    g_param_spec_boolean (NM_SETTING_PPP_NO_VJ_COMP, "", "",
+	                          FALSE,
+	                          G_PARAM_READWRITE |
+	                          G_PARAM_CONSTRUCT |
+	                          NM_SETTING_PARAM_FUZZY_IGNORE |
+	                          G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:require-mppe:
@@ -665,13 +662,12 @@ nm_setting_ppp_class_init (NMSettingPppClass *klass)
 	 * session will fail.  Note that MPPE is not used on mobile broadband
 	 * connections.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_REQUIRE_MPPE,
-		 g_param_spec_boolean (NM_SETTING_PPP_REQUIRE_MPPE, "", "",
-		                       FALSE,
-		                       G_PARAM_READWRITE |
-		                       G_PARAM_CONSTRUCT |
-		                       G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_REQUIRE_MPPE] =
+	    g_param_spec_boolean (NM_SETTING_PPP_REQUIRE_MPPE, "", "",
+	                          FALSE,
+	                          G_PARAM_READWRITE |
+	                          G_PARAM_CONSTRUCT |
+	                          G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:require-mppe-128:
@@ -680,12 +676,11 @@ nm_setting_ppp_class_init (NMSettingPppClass *klass)
 	 * required for the PPP session, and the "require-mppe" property must also
 	 * be set to %TRUE.  If 128-bit MPPE is not available the session will fail.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_REQUIRE_MPPE_128,
-		 g_param_spec_boolean (NM_SETTING_PPP_REQUIRE_MPPE_128, "", "",
-		                       FALSE,
-		                       G_PARAM_READWRITE  | G_PARAM_CONSTRUCT |
-		                       G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_REQUIRE_MPPE_128] =
+	    g_param_spec_boolean (NM_SETTING_PPP_REQUIRE_MPPE_128, "", "",
+	                          FALSE,
+	                          G_PARAM_READWRITE  | G_PARAM_CONSTRUCT |
+	                          G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:mppe-stateful:
@@ -693,13 +688,12 @@ nm_setting_ppp_class_init (NMSettingPppClass *klass)
 	 * If %TRUE, stateful MPPE is used.  See pppd documentation for more
 	 * information on stateful MPPE.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_MPPE_STATEFUL,
-		 g_param_spec_boolean (NM_SETTING_PPP_MPPE_STATEFUL, "", "",
-		                       FALSE,
-		                       G_PARAM_READWRITE |
-		                       G_PARAM_CONSTRUCT |
-		                       G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_MPPE_STATEFUL] =
+	    g_param_spec_boolean (NM_SETTING_PPP_MPPE_STATEFUL, "", "",
+	                          FALSE,
+	                          G_PARAM_READWRITE |
+	                          G_PARAM_CONSTRUCT |
+	                          G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:crtscts:
@@ -708,13 +702,12 @@ nm_setting_ppp_class_init (NMSettingPppClass *klass)
 	 * flow control with RTS and CTS signals.  This value should normally be set
 	 * to %FALSE.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_CRTSCTS,
-		 g_param_spec_boolean (NM_SETTING_PPP_CRTSCTS, "", "",
-		                       FALSE,
-		                       G_PARAM_READWRITE |
-		                       G_PARAM_CONSTRUCT |
-		                       G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_CRTSCTS] =
+	    g_param_spec_boolean (NM_SETTING_PPP_CRTSCTS, "", "",
+	                          FALSE,
+	                          G_PARAM_READWRITE |
+	                          G_PARAM_CONSTRUCT |
+	                          G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:baud:
@@ -723,14 +716,13 @@ nm_setting_ppp_class_init (NMSettingPppClass *klass)
 	 * baudrate.  This value should normally be left as 0 to automatically
 	 * choose the speed.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_BAUD,
-		 g_param_spec_uint (NM_SETTING_PPP_BAUD, "", "",
-		                    0, G_MAXUINT32, 0,
-		                    G_PARAM_READWRITE |
-		                    G_PARAM_CONSTRUCT |
-		                    NM_SETTING_PARAM_FUZZY_IGNORE |
-		                    G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_BAUD] =
+	    g_param_spec_uint (NM_SETTING_PPP_BAUD, "", "",
+	                       0, G_MAXUINT32, 0,
+	                       G_PARAM_READWRITE |
+	                       G_PARAM_CONSTRUCT |
+	                       NM_SETTING_PARAM_FUZZY_IGNORE |
+	                       G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:mru:
@@ -739,13 +731,12 @@ nm_setting_ppp_class_init (NMSettingPppClass *klass)
 	 * larger than the specified size.  If non-zero, the MRU should be between
 	 * 128 and 16384.
 	 */
-	g_object_class_install_property
-		(object_class, PROP_MRU,
-		 g_param_spec_uint (NM_SETTING_PPP_MRU, "", "",
-		                    0, 16384, 0,
-		                    G_PARAM_READWRITE |
-		                    G_PARAM_CONSTRUCT |
-		                    G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_MRU] =
+	    g_param_spec_uint (NM_SETTING_PPP_MRU, "", "",
+	                       0, 16384, 0,
+	                       G_PARAM_READWRITE |
+	                       G_PARAM_CONSTRUCT |
+	                       G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:mtu:
@@ -753,14 +744,13 @@ nm_setting_ppp_class_init (NMSettingPppClass *klass)
 	 * If non-zero, instruct pppd to send packets no larger than the specified
 	 * size.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_MTU,
-		 g_param_spec_uint (NM_SETTING_PPP_MTU, "", "",
-		                    0, G_MAXUINT32, 0,
-		                    G_PARAM_READWRITE |
-		                    G_PARAM_CONSTRUCT |
-		                    NM_SETTING_PARAM_FUZZY_IGNORE |
-		                    G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_MTU] =
+	    g_param_spec_uint (NM_SETTING_PPP_MTU, "", "",
+	                       0, G_MAXUINT32, 0,
+	                       G_PARAM_READWRITE |
+	                       G_PARAM_CONSTRUCT |
+	                       NM_SETTING_PARAM_FUZZY_IGNORE |
+	                       G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:lcp-echo-failure:
@@ -770,14 +760,13 @@ 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.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_LCP_ECHO_FAILURE,
-		 g_param_spec_uint (NM_SETTING_PPP_LCP_ECHO_FAILURE, "", "",
-		                    0, G_MAXUINT32, 0,
-		                    G_PARAM_READWRITE |
-		                    G_PARAM_CONSTRUCT |
-		                    NM_SETTING_PARAM_FUZZY_IGNORE |
-		                    G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_LCP_ECHO_FAILURE] =
+	    g_param_spec_uint (NM_SETTING_PPP_LCP_ECHO_FAILURE, "", "",
+	                       0, G_MAXUINT32, 0,
+	                       G_PARAM_READWRITE |
+	                       G_PARAM_CONSTRUCT |
+	                       NM_SETTING_PARAM_FUZZY_IGNORE |
+	                       G_PARAM_STATIC_STRINGS);
 
 	/**
 	 * NMSettingPpp:lcp-echo-interval:
@@ -787,14 +776,15 @@ 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.
 	 **/
-	g_object_class_install_property
-		(object_class, PROP_LCP_ECHO_INTERVAL,
-		 g_param_spec_uint (NM_SETTING_PPP_LCP_ECHO_INTERVAL, "", "",
-		                    0, G_MAXUINT32, 0,
-		                    G_PARAM_READWRITE |
-		                    G_PARAM_CONSTRUCT |
-		                    NM_SETTING_PARAM_FUZZY_IGNORE |
-		                    G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_LCP_ECHO_INTERVAL] =
+	    g_param_spec_uint (NM_SETTING_PPP_LCP_ECHO_INTERVAL, "", "",
+	                       0, G_MAXUINT32, 0,
+	                       G_PARAM_READWRITE |
+	                       G_PARAM_CONSTRUCT |
+	                       NM_SETTING_PARAM_FUZZY_IGNORE |
+	                       G_PARAM_STATIC_STRINGS);
+
+	g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
 
 	_nm_setting_class_commit (setting_class, NM_META_SETTING_TYPE_PPP);
 }