gdbusconnection: add a getter for the flags property

Right now this can only be set at construction but not read back.
That seems unnecessarily restrictive, and we'll need to read these
flags from outside of gdbusconnection.c in the next commit, so let's
just make it public.

https://gitlab.gnome.org/GNOME/glib/issues/1620
This commit is contained in:
Cosimo Cecchi 2018-12-19 16:33:50 -08:00
parent 3924ef6ac1
commit 7d02e32644
3 changed files with 30 additions and 0 deletions

View File

@ -2967,6 +2967,7 @@ g_dbus_connection_flush_sync
g_dbus_connection_get_exit_on_close
g_dbus_connection_set_exit_on_close
g_dbus_connection_get_stream
g_dbus_connection_get_flags
g_dbus_connection_get_guid
g_dbus_connection_get_unique_name
GDBusCapabilityFlags

View File

@ -728,6 +728,10 @@ g_dbus_connection_get_property (GObject *object,
g_value_set_flags (value, g_dbus_connection_get_capabilities (connection));
break;
case PROP_FLAGS:
g_value_set_flags (value, g_dbus_connection_get_flags (connection));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@ -874,6 +878,7 @@ g_dbus_connection_class_init (GDBusConnectionClass *klass)
P_("Flags"),
G_TYPE_DBUS_CONNECTION_FLAGS,
G_DBUS_CONNECTION_FLAGS_NONE,
G_PARAM_READABLE |
G_PARAM_WRITABLE |
G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_NAME |
@ -1186,6 +1191,28 @@ g_dbus_connection_get_capabilities (GDBusConnection *connection)
return connection->capabilities;
}
/**
* g_dbus_connection_get_flags:
* @connection: a #GDBusConnection
*
* Gets the flags used to construct this connection
*
* Returns: zero or more flags from the #GDBusConnectionFlags enumeration
*
* Since: 2.60
*/
GDBusConnectionFlags
g_dbus_connection_get_flags (GDBusConnection *connection)
{
g_return_val_if_fail (G_IS_DBUS_CONNECTION (connection), G_DBUS_CONNECTION_FLAGS_NONE);
/* do not use g_return_val_if_fail(), we want the memory barrier */
if (!check_initialized (connection))
return G_DBUS_CONNECTION_FLAGS_NONE;
return connection->flags;
}
/* ---------------------------------------------------------------------------------------------------- */
/* Called in a temporary thread without holding locks. */

View File

@ -114,6 +114,8 @@ void g_dbus_connection_set_exit_on_close (GDBusConnection
gboolean exit_on_close);
GLIB_AVAILABLE_IN_ALL
GDBusCapabilityFlags g_dbus_connection_get_capabilities (GDBusConnection *connection);
GLIB_AVAILABLE_IN_2_60
GDBusConnectionFlags g_dbus_connection_get_flags (GDBusConnection *connection);
/* ---------------------------------------------------------------------------------------------------- */