summaryrefslogtreecommitdiff
path: root/dbus/dbus-gvalue.h
blob: 35e05beee57011b33fe347764869da81bd886dd3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef DBUS_GOBJECT_VALUE_H
#define DBUS_GOBJECT_VALUE_H

#include <dbus/dbus.h>
#include <dbus/dbus-signature.h>
#include <glib.h>
#include <glib-object.h>
#include "dbus/dbus-glib.h"

G_BEGIN_DECLS

typedef struct {
  DBusGConnection    *gconnection;
  DBusGProxy         *proxy;
  guint               recursion_depth;
} DBusGValueMarshalCtx;

void           _dbus_g_value_types_init        (void);

char *         _dbus_gtype_to_signature        (GType                    type);
char *         _dbus_gvalue_to_signature       (const GValue            *val);

gboolean       _dbus_gvalue_demarshal          (DBusGValueMarshalCtx    *context,
					       DBusMessageIter         *iter,
					       GValue                  *value,
					       GError                 **error);

gboolean       _dbus_gvalue_demarshal_variant  (DBusGValueMarshalCtx    *context,
					       DBusMessageIter         *iter,
					       GValue                  *value,
					       GError                 **error);

GValueArray *  _dbus_gvalue_demarshal_message  (DBusGValueMarshalCtx    *context,
					       DBusMessage             *message,
					       guint                    n_params,
					       const GType             *types, 
					       GError                 **error);

gboolean       _dbus_gvalue_marshal            (DBusMessageIter         *iter,
					       const GValue            *value);

G_END_DECLS

#endif /* DBUS_GOBJECT_VALUE_H */