* implemented by @interface.
*
* Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
+ *
+ * Since: 2.30
*/
GDBusInterfaceInfo *
g_dbus_interface_get_info (GDBusInterface *interface)
*
* Returns: (transfer none): A #GDBusObject or %NULL. The returned
* reference belongs to @interface and should not be freed.
+ *
+ * Since: 2.30
*/
GDBusObject *
g_dbus_interface_get_object (GDBusInterface *interface)
* Sets the #GDBusObject for @interface to @object.
*
* Note that @interface will hold a weak reference to @object.
+ *
+ * Since: 2.30
*/
void
g_dbus_interface_set_object (GDBusInterface *interface,
* Note that the passed @out_gvalue does not have to have a #GType set.
*
* Returns: %TRUE if the conversion succeeded, %FALSE otherwise.
+ *
+ * Since: 2.30
*/
gboolean
g_dbus_gvariant_to_gvalue (GVariant *value,
*
* Returns: A #GVariant (never floating) holding the data from @gvalue
* or %NULL in case of error. Free with g_variant_unref().
+ *
+ * Since: 2.30
*/
GVariant *
g_dbus_gvalue_to_gvariant (const GValue *gvalue,
* GDBusInterface:
*
* Base type for D-Bus interfaces.
+ *
+ * Since: 2.30
*/
typedef struct _GDBusInterface GDBusInterface; /* Dummy typedef */
* @set_object: Sets the enclosing #GDBusObject. See g_dbus_interface_set_object().
*
* Base type for D-Bus interfaces.
+ *
+ * Since: 2.30
*/
struct _GDBusInterfaceIface
{
* GDBusInterfaceStub:g-flags:
*
* Flags from the #GDBusInterfaceStubFlags enumeration.
+ *
+ * Since: 2.30
*/
g_object_class_install_property (gobject_class,
PROP_G_FLAGS,
* to was exported in.
*
* Returns: %TRUE if the call is authorized, %FALSE otherwise.
+ *
+ * Since: 2.30
*/
signals[G_AUTHORIZE_METHOD_SIGNAL] =
g_signal_new ("g-authorize-method",
* of @stub
*
* Returns: One or more flags from the #GDBusInterfaceStubFlags enumeration.
+ *
+ * Since: 2.30
*/
GDBusInterfaceStubFlags
g_dbus_interface_stub_get_flags (GDBusInterfaceStub *stub)
* @flags: Flags from the #GDBusInterfaceStubFlags enumeration.
*
* Sets flags describing what the behavior of @stub should be.
+ *
+ * Since: 2.30
*/
void
g_dbus_interface_stub_set_flags (GDBusInterfaceStub *stub,
* implemented by @interface.
*
* Returns: (transfer none): A #GDBusInterfaceInfo (never %NULL). Do not free.
+ *
+ * Since: 2.30
*/
GDBusInterfaceInfo *
g_dbus_interface_stub_get_info (GDBusInterfaceStub *stub)
* itself to be passed as @user_data.
*
* Returns: A #GDBusInterfaceVTable (never %NULL).
+ *
+ * Since: 2.30
*/
GDBusInterfaceVTable *
g_dbus_interface_stub_get_vtable (GDBusInterfaceStub *stub)
* Gets all D-Bus properties for @stub.
*
* Returns: A new, floating, #GVariant. Free with g_variant_unref().
+ *
+ * Since: 2.30
*/
GVariant *
g_dbus_interface_stub_get_properties (GDBusInterfaceStub *stub)
* <literal>org.freedesktop.DBus.Properties::PropertiesChanged</literal>
* signal later (e.g. in an idle handler). This technique is useful
* for collapsing multiple property changes into one.
+ *
+ * Since: 2.30
*/
void
g_dbus_interface_stub_flush (GDBusInterfaceStub *stub)
*
* Returns: (transfer none): A #GDBusConnection or %NULL if @stub is
* not exported anywhere. Do not free, the object belongs to @stub.
+ *
+ * Since: 2.30
*/
GDBusConnection *
g_dbus_interface_stub_get_connection (GDBusInterfaceStub *stub)
*
* Returns: A string owned by @stub or %NULL if stub is not exported
* anywhere. Do not free, the string belongs to @stub.
+ *
+ * Since: 2.30
*/
const gchar *
g_dbus_interface_stub_get_object_path (GDBusInterfaceStub *stub)
*
* Returns: %TRUE if the interface was exported, other %FALSE with
* @error set.
+ *
+ * Since: 2.30
*/
gboolean
g_dbus_interface_stub_export (GDBusInterfaceStub *stub,
*
* Stops exporting an interface previously exported with
* g_dbus_interface_stub_export().
+ *
+ * Since: 2.30
*/
void
g_dbus_interface_stub_unexport (GDBusInterfaceStub *stub)
*
* The #GDBusInterfaceStub structure contains private data and should
* only be accessed using the provided API.
+ *
+ * Since: 2.30
*/
struct _GDBusInterfaceStub
{
* @g_authorize_method: Signal class handler for the #GDBusInterfaceStub::g-authorize-method signal.
*
* Class structure for #GDBusInterfaceStub.
+ *
+ * Since: 2.30
*/
struct _GDBusInterfaceStubClass
{
* @interface: The #GDBusInterface that was added.
*
* Emitted when @interface is added to @object.
+ *
+ * Since: 2.30
*/
g_signal_new ("interface-added",
G_TYPE_FROM_INTERFACE (iface),
* @interface: The #GDBusInterface that was removed.
*
* Emitted when @interface is removed from @object.
+ *
+ * Since: 2.30
*/
g_signal_new ("interface-removed",
G_TYPE_FROM_INTERFACE (iface),
* Gets the object path for @object.
*
* Returns: A string owned by @object. Do not free.
+ *
+ * Since: 2.30
*/
const gchar *
g_dbus_object_get_object_path (GDBusObject *object)
* Returns: (element-type GDBusInterface) (transfer full) : A list of #GDBusInterface instances.
* The returned list must be freed by g_list_free() after each element has been freed
* with g_object_unref().
+ *
+ * Since: 2.30
*/
GList *
g_dbus_object_get_interfaces (GDBusObject *object)
*
* Returns: %NULL if not found, otherwise a #GDBusInterface that must
* be freed with g_object_unref().
+ *
+ * Since: 2.30
*/
GDBusInterface *
g_dbus_object_get_interface (GDBusObject *object,
* Returns: A #GDBusInterface implementing @type or %NULL if
* not found. Do not free the returned object, it is owned by
* @object.
+ *
+ * Since: 2.30
*/
gpointer
g_dbus_object_peek_with_typecheck (GDBusObject *object,
*
* Returns: A #GDBusInterface implementing @type or %NULL if
* not found. Free with g_object_unref().
+ *
+ * Since: 2.30
*/
gpointer
g_dbus_object_lookup_with_typecheck (GDBusObject *object,
* <note><para>The @lookup_with_typecheck and @peek_with_typecheck
* virtual functions should only be used by D-Bus interface
* implementations.</para></note>
+ *
+ * Since: 2.30
*/
struct _GDBusObjectIface
{
* and #GDBusObjectManagerServer for the service-side implementation.
*/
-/**
- * GDBusObjectManager:
- *
- * A D-Bus object.
- */
-
typedef GDBusObjectManagerIface GDBusObjectManagerInterface;
G_DEFINE_INTERFACE (GDBusObjectManager, g_dbus_object_manager, G_TYPE_OBJECT)
* @object: The #GDBusObject that was added.
*
* Emitted when @object is added to @manager.
+ *
+ * Since: 2.30
*/
g_signal_new ("object-added",
G_TYPE_FROM_INTERFACE (iface),
* @object: The #GDBusObject that was removed.
*
* Emitted when @object is removed from @manager.
+ *
+ * Since: 2.30
*/
g_signal_new ("object-removed",
G_TYPE_FROM_INTERFACE (iface),
*
* This signal exists purely as a convenience to avoid having to
* connect signals to all objects managed by @manager.
+ *
+ * Since: 2.30
*/
g_signal_new ("interface-added",
G_TYPE_FROM_INTERFACE (iface),
*
* This signal exists purely as a convenience to avoid having to
* connect signals to all objects managed by @manager.
+ *
+ * Since: 2.30
*/
g_signal_new ("interface-removed",
G_TYPE_FROM_INTERFACE (iface),
* Gets the object path that @manager is for.
*
* Returns: A string owned by @manager. Do not free.
+ *
+ * Since: 2.30
*/
const gchar *
g_dbus_object_manager_get_object_path (GDBusObjectManager *manager)
* #GDBusObject objects. The returned list should be freed with
* g_list_free() after each element has been freed with
* g_object_unref().
+ *
+ * Since: 2.30
*/
GList *
g_dbus_object_manager_get_objects (GDBusObjectManager *manager)
* Gets the #GDBusObjectProxy at @object_path, if any.
*
* Returns: A #GDBusObject or %NULL. Free with g_object_unref().
+ *
+ * Since: 2.30
*/
GDBusObject *
g_dbus_object_manager_get_object (GDBusObjectManager *manager,
* any.
*
* Returns: A #GDBusInterface instance or %NULL. Free with g_object_unref().
+ *
+ * Since: 2.30
*/
GDBusInterface *
g_dbus_object_manager_get_interface (GDBusObjectManager *manager,
* @interface_removed: Signal handler for the #GDBusObjectManager::interface-removed signal.
*
* Base type for D-Bus object managers.
+ *
+ * Since: 2.30
*/
struct _GDBusObjectManagerIface
{
* GDBusObjectManagerClient:connection:
*
* The #GDBusConnection to use.
+ *
+ * Since: 2.30
*/
g_object_class_install_property (gobject_class,
PROP_CONNECTION,
* #GDBusObjectManagerClient:connection must be %NULL and will be set to the
* #GDBusConnection obtained by calling g_bus_get() with the value
* of this property.
+ *
+ * Since: 2.30
*/
g_object_class_install_property (gobject_class,
PROP_BUS_TYPE,
* GDBusObjectManagerClient:flags:
*
* Flags from the #GDBusObjectManagerClientFlags enumeration.
+ *
+ * Since: 2.30
*/
g_object_class_install_property (gobject_class,
PROP_FLAGS,
* GDBusObjectManagerClient:object-path:
*
* The object path the manager is for.
+ *
+ * Since: 2.30
*/
g_object_class_install_property (gobject_class,
PROP_OBJECT_PATH,
* GDBusObjectManagerClient:name:
*
* The well-known name or unique name that the manager is for.
+ *
+ * Since: 2.30
*/
g_object_class_install_property (gobject_class,
PROP_NAME,
* The unique name that owns #GDBusObjectManagerClient:name or %NULL if
* no-one is currently owning the name. Connect to the
* #GObject::notify signal to track changes to this property.
+ *
+ * Since: 2.30
*/
g_object_class_install_property (gobject_class,
PROP_NAME_OWNER,
*
* The #GDBusProxyTypeFunc to use when determining what #GType to
* use for interface proxies or %NULL.
+ *
+ * Since: 2.30
*/
g_object_class_install_property (gobject_class,
PROP_GET_PROXY_TYPE_FUNC,
* GDBusObjectManagerClient:get-proxy-type-user-data:
*
* The #gpointer user_data to pass to #GDBusObjectManagerClient:get-proxy-type-func.
+ *
+ * Since: 2.30
*/
g_object_class_install_property (gobject_class,
PROP_GET_PROXY_TYPE_USER_DATA,
* This signal is emitted in the
* <link linkend="g-main-context-push-thread-default">thread-default main loop</link>
* that @manager was constructed in.
+ *
+ * Since: 2.30
*/
signals[INTERFACE_PROXY_SIGNAL_SIGNAL] =
g_signal_new ("interface-proxy-signal",
* This signal is emitted in the
* <link linkend="g-main-context-push-thread-default">thread-default main loop</link>
* that @manager was constructed in.
+ *
+ * Since: 2.30
*/
signals[INTERFACE_PROXY_PROPERTIES_CHANGED_SIGNAL] =
g_signal_new ("interface-proxy-properties-changed",
*
* Returns: A #GDBusObjectManagerClient object or %NULL if @error is
* set. Free with g_object_unref().
+ *
+ * Since: 2.30
*/
GDBusObjectManager *
g_dbus_object_manager_client_new_sync (GDBusConnection *connection,
* of the thread you are calling this method from. You can
* then call g_dbus_object_manager_client_new_finish() to get the result. See
* g_dbus_object_manager_client_new_sync() for the synchronous version.
+ *
+ * Since: 2.30
*/
void
g_dbus_object_manager_client_new (GDBusConnection *connection,
*
* Returns: A #GDBusObjectManagerClient object or %NULL if @error is
* set. Free with g_object_unref().
+ *
+ * Since: 2.30
*/
GDBusObjectManager *
g_dbus_object_manager_client_new_finish (GAsyncResult *res,
*
* Returns: A #GDBusObjectManagerClient object or %NULL if @error is
* set. Free with g_object_unref().
+ *
+ * Since: 2.30
*/
GDBusObjectManager *
g_dbus_object_manager_client_new_for_bus_sync (GBusType bus_type,
* of the thread you are calling this method from. You can
* then call g_dbus_object_manager_client_new_for_bus_finish() to get the result. See
* g_dbus_object_manager_client_new_for_bus_sync() for the synchronous version.
+ *
+ * Since: 2.30
*/
void
g_dbus_object_manager_client_new_for_bus (GBusType bus_type,
*
* Returns: A #GDBusObjectManagerClient object or %NULL if @error is
* set. Free with g_object_unref().
+ *
+ * Since: 2.30
*/
GDBusObjectManager *
g_dbus_object_manager_client_new_for_bus_finish (GAsyncResult *res,
*
* Returns: A #GDBusConnection object. Do not free, the object belongs
* to @manager.
+ *
+ * Since: 2.30
*/
GDBusConnection *
g_dbus_object_manager_client_get_connection (GDBusObjectManagerClient *manager)
*
* Returns: A unique or well-known name. Do not free, the string
* belongs to @manager.
+ *
+ * Since: 2.30
*/
const gchar *
g_dbus_object_manager_client_get_name (GDBusObjectManagerClient *manager)
*
* Returns: Zero of more flags from the #GDBusObjectManagerClientFlags
* enumeration.
+ *
+ * Since: 2.30
*/
GDBusObjectManagerClientFlags
g_dbus_object_manager_client_get_flags (GDBusObjectManagerClient *manager)
*
* Returns: The name owner or %NULL if no name owner exists. Free with
* g_free().
+ *
+ * Since: 2.30
*/
gchar *
g_dbus_object_manager_client_get_name_owner (GDBusObjectManagerClient *manager)
*
* The #GDBusObjectManagerClient structure contains private data and should
* only be accessed using the provided API.
+ *
+ * Since: 2.30
*/
struct _GDBusObjectManagerClient
{
* @interface_proxy_properties_changed: Signal class handler for the #GDBusObjectManagerClient::interface-proxy-properties-changed signal.
*
* Class structure for #GDBusObjectManagerClient.
+ *
+ * Since: 2.30
*/
struct _GDBusObjectManagerClientClass
{
* GDBusObjectManagerServer:connection:
*
* The #GDBusConnection to export objects on.
+ *
+ * Since: 2.30
*/
g_object_class_install_property (gobject_class,
PROP_CONNECTION,
* GDBusObjectManagerServer:object-path:
*
* The object path to register the manager object at.
+ *
+ * Since: 2.30
*/
g_object_class_install_property (gobject_class,
PROP_OBJECT_PATH,
* e.g. start()/stop() semantics.
*
* Returns: A #GDBusObjectManagerServer object. Free with g_object_unref().
+ *
+ * Since: 2.30
*/
GDBusObjectManagerServer *
g_dbus_object_manager_server_new (GDBusConnection *connection,
*
* Returns: A #GDBusConnection object. Do not free, the object belongs
* to @manager.
+ *
+ * Since: 2.30
*/
GDBusConnection *
g_dbus_object_manager_server_get_connection (GDBusObjectManagerServer *manager)
*
* Note that @manager will take a reference on @object for as long as
* it is exported.
+ *
+ * Since: 2.30
*/
void
g_dbus_object_manager_server_export (GDBusObjectManagerServer *manager,
* @object<!-- -->'s object path if an object with the given path
* already exists. As such, the #GDBusObjectProxy:object-path property
* of @object may be modified.
+ *
+ * Since: 2.30
*/
void
g_dbus_object_manager_server_export_and_uniquify (GDBusObjectManagerServer *manager,
*
* Note that @object_path must be in the hierarchy rooted by the
* object path for @manager.
+ *
+ * Since: 2.30
*/
void
g_dbus_object_manager_server_unexport (GDBusObjectManagerServer *manager,
/**
* GDBusObjectManagerServer:
- *
+ *
* The #GDBusObjectManagerServer structure contains private data and should
* only be accessed using the provided API.
+ *
+ * Since: 2.30
*/
struct _GDBusObjectManagerServer
{
* @parent_class: The parent class.
*
* Class structure for #GDBusObjectManagerServer.
+ *
+ * Since: 2.30
*/
struct _GDBusObjectManagerServerClass
{
* with one or more D-Bus interfaces. You cannot instantiate a
* #GDBusObjectProxy yourself - you need to use a
* #GDBusObjectManagerClient to get one.
+ *
+ * Since: 2.30
*/
struct _GDBusObjectProxyPrivate
* GDBusObjectProxy:object-path:
*
* The object path of the proxy.
+ *
+ * Since: 2.30
*/
g_object_class_install_property (gobject_class,
PROP_OBJECT_PATH,
* GDBusObjectProxy:connection:
*
* The connection of the proxy.
+ *
+ * Since: 2.30
*/
g_object_class_install_property (gobject_class,
PROP_CONNECTION,
* Gets the connection that @proxy is for.
*
* Returns: A #GDBusConnection. Do not free, the object is owned by @proxy.
+ *
+ * Since: 2.30
*/
GDBusConnection *
g_dbus_object_proxy_get_connection (GDBusObjectProxy *proxy)
*
* The #GDBusObjectProxy structure contains private data and should
* only be accessed using the provided API.
+ *
+ * Since: 2.30
*/
struct _GDBusObjectProxy
{
* @parent_class: The parent class.
*
* Class structure for #GDBusObjectProxy.
+ *
+ * Since: 2.30
*/
struct _GDBusObjectProxyClass
{
* GDBusObjectStub:object-path:
*
* The object path where the object is exported.
+ *
+ * Since: 2.30
*/
g_object_class_install_property (gobject_class,
PROP_OBJECT_PATH,
* The default class handler just returns %TRUE.
*
* Returns: %TRUE if the call is authorized, %FALSE otherwise.
+ *
+ * Since: 2.30
*/
signals[AUTHORIZE_METHOD_SIGNAL] =
g_signal_new ("authorize-method",
* Creates a new #GDBusObjectStub.
*
* Returns: A #GDBusObjectStub. Free with g_object_unref().
+ *
+ * Since: 2.30
*/
GDBusObjectStub *
g_dbus_object_stub_new (const gchar *object_path)
* @object_path: A valid D-Bus object path.
*
* Sets the object path for @object.
+ *
+ * Since: 2.30
*/
void
g_dbus_object_stub_set_object_path (GDBusObjectStub *object,
*
* Note that @object takes its own reference on @interface and holds
* it until removed.
+ *
+ * Since: 2.30
*/
void
g_dbus_object_stub_add_interface (GDBusObjectStub *object,
* @interface: A #GDBusInterfaceStub.
*
* Removes @interface from @object.
+ *
+ * Since: 2.30
*/
void
g_dbus_object_stub_remove_interface (GDBusObjectStub *object,
*
* If no D-Bus interface of the given interface exists, this function
* does nothing.
+ *
+ * Since: 2.30
*/
void
g_dbus_object_stub_remove_interface_by_name (GDBusObjectStub *object,
* This method simply calls g_dbus_interface_stub_flush() on all
* interfaces stubs belonging to @object. See that method for when
* flushing is useful.
+ *
+ * Since: 2.30
*/
void
g_dbus_object_stub_flush (GDBusObjectStub *object)
/**
* GDBusObjectStub:
- *
+ *
* The #GDBusObjectStub structure contains private data and should only be
* accessed using the provided API.
+ *
+ * Since: 2.30
*/
struct _GDBusObjectStub
{
* @authorize_method: Signal class handler for the #GDBusObjectStub::authorize-method signal.
*
* Class structure for #GDBusObjectStub.
+ *
+ * Since: 2.30
*/
struct _GDBusObjectStubClass
{