Functions
g_dbus_annotation_info_lookup ()
const gchar *
g_dbus_annotation_info_lookup (GDBusAnnotationInfo **annotations,
const gchar *name);
Looks up the value of an annotation.
The cost of this function is O(n) in number of annotations.
Returns
The value or NULL if not found. Do not free, it is owned by annotations
.
Since: 2.26
g_dbus_interface_info_cache_release ()
void
g_dbus_interface_info_cache_release (GDBusInterfaceInfo *info);
Decrements the usage count for the cache for info
built by
g_dbus_interface_info_cache_build() (if any) and frees the
resources used by the cache if the usage count drops to zero.
Since: 2.30
g_dbus_interface_info_generate_xml ()
void
g_dbus_interface_info_generate_xml (GDBusInterfaceInfo *info,
guint indent,
GString *string_builder);
Appends an XML representation of info
(and its children) to string_builder
.
This function is typically used for generating introspection XML
documents at run-time for handling the
org.freedesktop.DBus.Introspectable.Introspect
method.
Since: 2.26
g_dbus_node_info_new_for_xml ()
GDBusNodeInfo *
g_dbus_node_info_new_for_xml (const gchar *xml_data,
GError **error);
Parses xml_data
and returns a GDBusNodeInfo representing the data.
The introspection XML must contain exactly one top-level
<node> element.
Note that this routine is using a
GMarkup-based
parser that only accepts a subset of valid XML documents.
Since: 2.26
g_dbus_node_info_lookup_interface ()
GDBusInterfaceInfo *
g_dbus_node_info_lookup_interface (GDBusNodeInfo *info,
const gchar *name);
Looks up information about an interface.
The cost of this function is O(n) in number of interfaces.
Returns
A GDBusInterfaceInfo or NULL if not found. Do not free, it is owned by info
.
[transfer none]
Since: 2.26
g_dbus_node_info_generate_xml ()
void
g_dbus_node_info_generate_xml (GDBusNodeInfo *info,
guint indent,
GString *string_builder);
Appends an XML representation of info
(and its children) to string_builder
.
This function is typically used for generating introspection XML documents at run-time for
handling the org.freedesktop.DBus.Introspectable.Introspect method.
Since: 2.26
g_dbus_node_info_ref ()
GDBusNodeInfo *
g_dbus_node_info_ref (GDBusNodeInfo *info);
If info
is statically allocated does nothing. Otherwise increases
the reference count.
Since: 2.26
g_dbus_interface_info_ref ()
GDBusInterfaceInfo *
g_dbus_interface_info_ref (GDBusInterfaceInfo *info);
If info
is statically allocated does nothing. Otherwise increases
the reference count.
Since: 2.26
g_dbus_method_info_ref ()
GDBusMethodInfo *
g_dbus_method_info_ref (GDBusMethodInfo *info);
If info
is statically allocated does nothing. Otherwise increases
the reference count.
Since: 2.26
g_dbus_signal_info_ref ()
GDBusSignalInfo *
g_dbus_signal_info_ref (GDBusSignalInfo *info);
If info
is statically allocated does nothing. Otherwise increases
the reference count.
Since: 2.26
g_dbus_property_info_ref ()
GDBusPropertyInfo *
g_dbus_property_info_ref (GDBusPropertyInfo *info);
If info
is statically allocated does nothing. Otherwise increases
the reference count.
Since: 2.26
g_dbus_arg_info_ref ()
GDBusArgInfo *
g_dbus_arg_info_ref (GDBusArgInfo *info);
If info
is statically allocated does nothing. Otherwise increases
the reference count.
Since: 2.26
g_dbus_node_info_unref ()
void
g_dbus_node_info_unref (GDBusNodeInfo *info);
If info
is statically allocated, does nothing. Otherwise decreases
the reference count of info
. When its reference count drops to 0,
the memory used is freed.
Since: 2.26
g_dbus_interface_info_unref ()
void
g_dbus_interface_info_unref (GDBusInterfaceInfo *info);
If info
is statically allocated, does nothing. Otherwise decreases
the reference count of info
. When its reference count drops to 0,
the memory used is freed.
Since: 2.26
g_dbus_method_info_unref ()
void
g_dbus_method_info_unref (GDBusMethodInfo *info);
If info
is statically allocated, does nothing. Otherwise decreases
the reference count of info
. When its reference count drops to 0,
the memory used is freed.
Since: 2.26
g_dbus_signal_info_unref ()
void
g_dbus_signal_info_unref (GDBusSignalInfo *info);
If info
is statically allocated, does nothing. Otherwise decreases
the reference count of info
. When its reference count drops to 0,
the memory used is freed.
Since: 2.26
g_dbus_property_info_unref ()
void
g_dbus_property_info_unref (GDBusPropertyInfo *info);
If info
is statically allocated, does nothing. Otherwise decreases
the reference count of info
. When its reference count drops to 0,
the memory used is freed.
Since: 2.26
g_dbus_arg_info_unref ()
void
g_dbus_arg_info_unref (GDBusArgInfo *info);
If info
is statically allocated, does nothing. Otherwise decreases
the reference count of info
. When its reference count drops to 0,
the memory used is freed.
Since: 2.26
g_dbus_annotation_info_unref ()
void
g_dbus_annotation_info_unref (GDBusAnnotationInfo *info);
If info
is statically allocated, does nothing. Otherwise decreases
the reference count of info
. When its reference count drops to 0,
the memory used is freed.
Since: 2.26
Types and Values
GDBusAnnotationInfo
typedef struct {
volatile gint ref_count;
gchar *key;
gchar *value;
GDBusAnnotationInfo **annotations;
} GDBusAnnotationInfo;
Information about an annotation.
Since: 2.26
GDBusArgInfo
typedef struct {
volatile gint ref_count;
gchar *name;
gchar *signature;
GDBusAnnotationInfo **annotations;
} GDBusArgInfo;
Information about an argument for a method or a signal.
Since: 2.26
GDBusMethodInfo
typedef struct {
volatile gint ref_count;
gchar *name;
GDBusArgInfo **in_args;
GDBusArgInfo **out_args;
GDBusAnnotationInfo **annotations;
} GDBusMethodInfo;
Information about a method on an D-Bus interface.
Since: 2.26
GDBusSignalInfo
typedef struct {
volatile gint ref_count;
gchar *name;
GDBusArgInfo **args;
GDBusAnnotationInfo **annotations;
} GDBusSignalInfo;
Information about a signal on a D-Bus interface.
Since: 2.26
enum GDBusPropertyInfoFlags
Flags describing the access control of a D-Bus property.
Since: 2.26
GDBusPropertyInfo
typedef struct {
volatile gint ref_count;
gchar *name;
gchar *signature;
GDBusPropertyInfoFlags flags;
GDBusAnnotationInfo **annotations;
} GDBusPropertyInfo;
Information about a D-Bus property on a D-Bus interface.
Since: 2.26
GDBusInterfaceInfo
typedef struct {
volatile gint ref_count;
gchar *name;
GDBusMethodInfo **methods;
GDBusSignalInfo **signals;
GDBusPropertyInfo **properties;
GDBusAnnotationInfo **annotations;
} GDBusInterfaceInfo;
Information about a D-Bus interface.
Since: 2.26
GDBusNodeInfo
typedef struct {
volatile gint ref_count;
gchar *path;
GDBusInterfaceInfo **interfaces;
GDBusNodeInfo **nodes;
GDBusAnnotationInfo **annotations;
} GDBusNodeInfo;
Information about nodes in a remote object hierarchy.
Since: 2.26
G_TYPE_DBUS_NODE_INFO
#define G_TYPE_DBUS_NODE_INFO (g_dbus_node_info_get_type ())
The GType for a boxed type holding a GDBusNodeInfo.
Since: 2.26
G_TYPE_DBUS_INTERFACE_INFO
#define G_TYPE_DBUS_INTERFACE_INFO (g_dbus_interface_info_get_type ())
The GType for a boxed type holding a GDBusInterfaceInfo.
Since: 2.26
G_TYPE_DBUS_METHOD_INFO
#define G_TYPE_DBUS_METHOD_INFO (g_dbus_method_info_get_type ())
The GType for a boxed type holding a GDBusMethodInfo.
Since: 2.26
G_TYPE_DBUS_SIGNAL_INFO
#define G_TYPE_DBUS_SIGNAL_INFO (g_dbus_signal_info_get_type ())
The GType for a boxed type holding a GDBusSignalInfo.
Since: 2.26
G_TYPE_DBUS_PROPERTY_INFO
#define G_TYPE_DBUS_PROPERTY_INFO (g_dbus_property_info_get_type ())
The GType for a boxed type holding a GDBusPropertyInfo.
Since: 2.26
G_TYPE_DBUS_ARG_INFO
#define G_TYPE_DBUS_ARG_INFO (g_dbus_arg_info_get_type ())
The GType for a boxed type holding a GDBusArgInfo.
Since: 2.26
G_TYPE_DBUS_ANNOTATION_INFO
#define G_TYPE_DBUS_ANNOTATION_INFO (g_dbus_annotation_info_get_type ())
The GType for a boxed type holding a GDBusAnnotationInfo.
Since: 2.26