コード例 #1
0
NMIfupdownConnection*
nm_ifupdown_connection_new (if_block *block)
{
	GObject *object;
	GError *error = NULL;

	g_return_val_if_fail (block != NULL, NULL);

	object = g_object_new (NM_TYPE_IFUPDOWN_CONNECTION, NULL);

	if (!ifupdown_update_connection_from_if_block (NM_CONNECTION (object), block, &error)) {
		nm_log_warn (LOGD_SETTINGS, "%s.%d - invalid connection read from /etc/network/interfaces: %s",
		             __FILE__,
		             __LINE__,
		             error->message);
		g_object_unref (object);
		return NULL;
	}

	return (NMIfupdownConnection *) object;
}
コード例 #2
0
static GObject *
constructor (GType type,
		   guint n_construct_params,
		   GObjectConstructParam *construct_params)
{
	GObject *object;
	NMIfupdownConnectionPrivate *priv;
	GError *error = NULL;

	object = G_OBJECT_CLASS (nm_ifupdown_connection_parent_class)->constructor (type, n_construct_params, construct_params);
	g_return_val_if_fail (object, NULL);

	priv = NM_IFUPDOWN_CONNECTION_GET_PRIVATE (object);
	if (!priv) {
		nm_log_warn (LOGD_SETTINGS, "%s.%d - no private instance.", __FILE__, __LINE__);
		goto err;
	}
	if (!priv->ifblock) {
		nm_log_warn (LOGD_SETTINGS, "(ifupdown) ifblock not provided to constructor.");
		goto err;
	}

	if (!ifupdown_update_connection_from_if_block (NM_CONNECTION (object), priv->ifblock, &error)) {
		nm_log_warn (LOGD_SETTINGS, "%s.%d - invalid connection read from /etc/network/interfaces: (%d) %s",
		             __FILE__,
		             __LINE__,
		             error ? error->code : -1,
		             error && error->message ? error->message : "(unknown)");
		goto err;
	}

	return object;

 err:
	g_object_unref (object);
	return NULL;
}