mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-06-09 17:28:21 +02:00
* glib/dbus-gproxy.c (dbus_g_proxy_invoke): New method; calls to this are generated for client-side wrappers. Invokes a D-BUS method and returns reply values. * glib/dbus-binding-tool-glib.c (write_args_sig_for_direction): New function; writes signature string for argument direction. (write_args_for_direction): Change to pass input values directly instead of via address, and fix indentation. (generate_client_glue): Change to invoke dbus_g_proxy_invoke. Also make generated wrappers inlineable. * dbus/dbus-message.c (dbus_message_iter_get_fixed_array): Add note about using dbus_type_is_fixed. * dbus/dbus-marshal-basic.c (_dbus_type_is_fixed): Moved to dbus/dbus-signature.c as dbus_type_is_fixed. All callers updated. * dbus/dbus-signature.c (dbus_type_is_fixed): Moved here from dbus/dbus-marshal-basic.c:_dbus_type_is_fixed. * dbus/dbus-signature.h: Prototype. * glib/dbus-binding-tool-glib.c (compute_marshaller_name): Fix error printf code. * test/glib/test-dbus-glib.c (main): Be sure to clear error as appropriate instead of just freeing it. (main): Free returned strings using g_free. * test/glib/Makefile.am (test-service-glib-glue.h) (test-service-glib-bindings.h): Add dependency on dbus-binding-tool. * glib/dbus-gvalue.c (MAP_BASIC): Refactored from MAP_BASIC_INIT; simply maps a simple D-BUS type to GType. (dbus_dbus_type_to_gtype): Function which maps D-BUS type to GType. (dbus_gvalue_init): Just invoke dbus_dbus_type_to_gtype and initialize the value with it. (dbus_gvalue_binding_type_from_type): Unused, delete. (dbus_gvalue_demarshal): Switch to hardcoding demarshalling for various types instead of unmarshalling to value data directly. Remove can_convert boolean. (dbus_gvalue_marshal): Remove duplicate initialization; switch to returning directly instead of using can_convert boolean. (dbus_gvalue_store): New function; not related to D-BUS per-se. Stores a GValue in a pointer to a value of its corresponding C type. * glib/dbus-gvalue.h: Remove dbus_gvalue_binding_type_from_type, add dbus_gvalue_store.
42 lines
1 KiB
C
42 lines
1 KiB
C
#ifndef DBUS_GOBJECT_VALUE_H
|
|
#define DBUS_GOBJECT_VALUE_H
|
|
|
|
#include <dbus/dbus.h>
|
|
#include <glib.h>
|
|
#include <glib-object.h>
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
/* Used for return value storage */
|
|
typedef union
|
|
{
|
|
gboolean gboolean_val;
|
|
guchar guchar_val;
|
|
gint int_val;
|
|
gint64 gint64_val;
|
|
guint64 guint64_val;
|
|
double double_val;
|
|
gpointer gpointer_val;
|
|
char * chararray_val;
|
|
} DBusBasicGValue;
|
|
|
|
const char * dbus_gvalue_genmarshal_name_from_type (const char *type);
|
|
|
|
const char * dbus_gvalue_ctype_from_type (const char *type, gboolean in);
|
|
|
|
const char * dbus_gtype_to_dbus_type (GType type);
|
|
|
|
gboolean dbus_gvalue_init (int type,
|
|
GValue *value);
|
|
|
|
gboolean dbus_gvalue_demarshal (DBusMessageIter *iter,
|
|
GValue *value);
|
|
gboolean dbus_gvalue_marshal (DBusMessageIter *iter,
|
|
GValue *value);
|
|
|
|
gboolean dbus_gvalue_store (GValue *value,
|
|
gpointer storage);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* DBUS_GOBJECT_VALUE_H */
|