manpagez: man pages & more
html files: eggdbus
Home | html | info | man

EggDBusIntrospectable

EggDBusIntrospectable — Introspection interface

Object Hierarchy

  GInterface
   +----EggDBusIntrospectable

Prerequisites

EggDBusIntrospectable requires GObject.

Description

Introspection support.

Details

EggDBusIntrospectable

typedef struct _EggDBusIntrospectable EggDBusIntrospectable;

EggDBusIntrospectableIface

typedef struct {
  EggDBusInterfaceIface g_iface;

  void (* handle_introspect) (
      EggDBusIntrospectable *instance,
      EggDBusMethodInvocation *method_invocation);
} EggDBusIntrospectableIface;

Interface VTable for implementing the org.freedesktop.DBus.Introspectable D-Bus interface.

EggDBusInterfaceIface g_iface;

The parent interface.

handle_introspect ()

Object instances may implement this method which returns an XML description of the object, including its interfaces (with signals, methods and properties) and objects below it in the object path tree. See the D-Bus specification for the exact format of D-Bus Introspection XML.

EGG_DBUS_QUERY_INTERFACE_INTROSPECTABLE()

#define EGG_DBUS_QUERY_INTERFACE_INTROSPECTABLE(object_proxy) (EGG_DBUS_INTROSPECTABLE (egg_dbus_object_proxy_query_interface (object_proxy, EGG_DBUS_TYPE_INTROSPECTABLE)))

Convenience macro to get an interface proxy for the remote object represented by object_proxy. See egg_dbus_object_proxy_query_interface() for details.

object_proxy :

A EggDBusObjectProxy.

Returns :

An instance derived from EggDBusInterfaceProxy that implements the EggDBusIntrospectable interface. This instance can be used to access the org.freedesktop.DBus.Introspectable D-Bus interface on the remote object represented by object_proxy. Do not ref or unref the returned instance, it is owned by object_proxy.

egg_dbus_introspectable_introspect_sync ()

gboolean            egg_dbus_introspectable_introspect_sync
                                                        (EggDBusIntrospectable *instance,
                                                         EggDBusCallFlags call_flags,
                                                         gchar **out_xml_data,
                                                         GCancellable *cancellable,
                                                         GError **error);

Object instances may implement this method which returns an XML description of the object, including its interfaces (with signals, methods and properties) and objects below it in the object path tree. See the D-Bus specification for the exact format of D-Bus Introspection XML.

This function synchronously invokes the Introspect() method on the org.freedesktop.DBus.Introspectable interface on the object represented by instance. See egg_dbus_introspectable_introspect() for the asynchronous version of this function.

instance :

A EggDBusIntrospectable.

call_flags :

Flags from EggDBusCallFlags detailing how the method should be invoked.

out_xml_data :

Valid D-Bus Introspection XML. Free with g_free().

cancellable :

A GCancellable or NULL.

error :

Return location for error.

Returns :

TRUE if the method call succeeded, FALSE if error is set.

egg_dbus_introspectable_introspect ()

guint               egg_dbus_introspectable_introspect  (EggDBusIntrospectable *instance,
                                                         EggDBusCallFlags call_flags,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Object instances may implement this method which returns an XML description of the object, including its interfaces (with signals, methods and properties) and objects below it in the object path tree. See the D-Bus specification for the exact format of D-Bus Introspection XML.

This function asynchronously invokes the Introspect() method on the org.freedesktop.DBus.Introspectable interface on the object represented by instance. When the reply is ready, callback will be called (on the main thread). You can then call egg_dbus_introspectable_introspect_finish() to get the result. See egg_dbus_introspectable_introspect_sync() for the synchronous version of this function.

instance :

A EggDBusIntrospectable.

call_flags :

Flags from EggDBusCallFlags detailing how the method should be invoked.

cancellable :

A GCancellable or NULL.

callback :

Callback to invoke when the reply is ready.

user_data :

User data to pass to callback.

Returns :

A pending call id (never zero) that can be used with egg_dbus_connection_pending_call_cancel() or egg_dbus_connection_pending_call_block().

egg_dbus_introspectable_introspect_finish ()

gboolean            egg_dbus_introspectable_introspect_finish
                                                        (EggDBusIntrospectable *instance,
                                                         gchar **out_xml_data,
                                                         GAsyncResult *res,
                                                         GError **error);

Finishes an asynchronous method invocation started with egg_dbus_introspectable_introspect().

instance :

A EggDBusIntrospectable.

out_xml_data :

Valid D-Bus Introspection XML. Free with g_free().

res :

A GAsyncResult obtained from the GAsyncReadyCallback function passed to egg_dbus_introspectable_introspect().

error :

Return location for error.

Returns :

TRUE if the method call succeeded, FALSE if error is set.

egg_dbus_introspectable_handle_introspect_finish ()

void                egg_dbus_introspectable_handle_introspect_finish
                                                        (EggDBusMethodInvocation *method_invocation,
                                                         const gchar *out_xml_data);

Function to be called by implementers of the org.freedesktop.DBus.Introspectable D-Bus interface to finish handling the Introspect() method.

xml_data :

Valid D-Bus Introspection XML.

method_invocation :

A EggDBusMethodInvocation.
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.