Revert "libnm-util: refactor NMSetting construction, assert of setting name"

This reverts commit f43586fc17.

This broke stuff as "name" was set on various places after construction. So we
revert the commit for now, and will rework it.
This commit is contained in:
Jiří Klimeš 2013-11-28 11:18:54 +01:00
parent e2ecf5b808
commit 0d4a5f0328

View file

@ -1165,6 +1165,30 @@ nm_setting_init (NMSetting *setting)
{
}
static GObject*
constructor (GType type,
guint n_construct_params,
GObjectConstructParam *construct_params)
{
GObject *object;
NMSettingPrivate *priv;
object = G_OBJECT_CLASS (nm_setting_parent_class)->constructor (type,
n_construct_params,
construct_params);
if (!object)
return NULL;
priv = NM_SETTING_GET_PRIVATE (object);
if (!priv->name) {
g_warning ("Setting name is not set.");
g_object_unref (object);
object = NULL;
}
return object;
}
static void
finalize (GObject *object)
{
@ -1183,9 +1207,8 @@ set_property (GObject *object, guint prop_id,
switch (prop_id) {
case PROP_NAME:
/* construct only */
g_free (priv->name);
priv->name = g_value_dup_string (value);
g_assert (priv->name && *priv->name);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@ -1217,6 +1240,7 @@ nm_setting_class_init (NMSettingClass *setting_class)
g_type_class_add_private (setting_class, sizeof (NMSettingPrivate));
/* virtual methods */
object_class->constructor = constructor;
object_class->set_property = set_property;
object_class->get_property = get_property;
object_class->finalize = finalize;
@ -1245,6 +1269,6 @@ nm_setting_class_init (NMSettingClass *setting_class)
"has been created. Each setting class has a name, and "
"all objects of that class share the same name.",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
G_PARAM_READWRITE));
}