00001 #ifndef DBUS_GOBJECT_VALUE_H
00002 #define DBUS_GOBJECT_VALUE_H
00003
00004 #include <dbus/dbus.h>
00005 #include <dbus/dbus-signature.h>
00006 #include <glib.h>
00007 #include <glib-object.h>
00008 #include "dbus/dbus-glib.h"
00009
00010 G_BEGIN_DECLS
00011
00012 typedef struct {
00013 DBusGConnection *gconnection;
00014 DBusGProxy *proxy;
00015 } DBusGValueMarshalCtx;
00016
00017 void dbus_g_value_types_init (void);
00018
00019 GType dbus_gtype_from_signature (const char *signature,
00020 gboolean is_client);
00021
00022 GType dbus_gtype_from_signature_iter (DBusSignatureIter *sigiter,
00023 gboolean is_client);
00024
00025 char * dbus_gtype_to_signature (GType type);
00026
00027 GArray * dbus_gtypes_from_arg_signature (const char *signature,
00028 gboolean is_client);
00029
00030 gboolean dbus_gvalue_demarshal (DBusGValueMarshalCtx *context,
00031 DBusMessageIter *iter,
00032 GValue *value,
00033 GError **error);
00034
00035 gboolean dbus_gvalue_demarshal_variant (DBusGValueMarshalCtx *context,
00036 DBusMessageIter *iter,
00037 GValue *value,
00038 GError **error);
00039
00040 GValueArray * dbus_gvalue_demarshal_message (DBusGValueMarshalCtx *context,
00041 DBusMessage *message,
00042 guint n_params,
00043 const GType *types,
00044 GError **error);
00045
00046 gboolean dbus_gvalue_marshal (DBusMessageIter *iter,
00047 const GValue *value);
00048
00049 G_END_DECLS
00050
00051 #endif