summaryrefslogtreecommitdiff
path: root/libnul-private.h
diff options
context:
space:
mode:
authorSøren Sandmann Pedersen <sandmann@daimi.au.dk>2009-04-25 19:26:41 -0400
committerSøren Sandmann Pedersen <sandmann@daimi.au.dk>2009-08-29 11:07:52 -0400
commit2a01fbf4188f5027ae39bf81ce59c04c10c72f60 (patch)
treef9e667d439b0908f8a764c3a718faf412a3944a9 /libnul-private.h
parentf61470d0bf5a9473e6faf54b7241126cc217c426 (diff)
First step towards moving messages into dbus-int.c
Diffstat (limited to 'libnul-private.h')
-rw-r--r--libnul-private.h56
1 files changed, 53 insertions, 3 deletions
diff --git a/libnul-private.h b/libnul-private.h
index a055b03..7925d8c 100644
--- a/libnul-private.h
+++ b/libnul-private.h
@@ -1,11 +1,46 @@
#include "libnul.h"
-typedef struct connection_t connection_t;
-typedef struct message_t message_t;
+typedef struct connection_t connection_t;
+typedef struct message_t message_t;
+typedef struct typed_value_t typed_value_t;
+typedef union value_t value_t;
+
typedef gboolean (* message_func_t) (connection_t *connection,
DBusMessage *message,
nul_ptr_t data);
+typedef enum
+{
+ INT32,
+ UINT32,
+ STRING
+} primitive_t;
+
+union value_t
+{
+ int32_t i32;
+ uint32_t u32;
+ double d;
+ char *s;
+};
+
+struct typed_value_t
+{
+ primitive_t type;
+
+ value_t value;
+};
+
+struct message_t
+{
+ char *service;
+ char *path;
+ char *interface;
+ char *member;
+
+ typed_value_t *arguments;
+};
+
connection_t *connection_new_session (void);
connection_t *connection_new_system (void);
void connection_register_object (connection_t *connection,
@@ -23,4 +58,19 @@ gboolean connection_send_with_reply (connection_t *connection,
message_func_t func,
gpointer data);
void connection_release_name (connection_t *connection,
- const char * name);
+ const char *name);
+
+message_t *message_new_error (const message_t *in_reply_to,
+ const char **message);
+message_t *message_new_return (const message_t *in_reply_to);
+message_t *message_new_method_call (const char *service_name,
+ const char *object_name,
+ const char *interface_name,
+ const char *method_name);
+void message_append_string (message_t *message,
+ const char *string);
+void message_append_int32 (message_t *message,
+ int value);
+void message_append_uint32 (message_t *message,
+ uint32_t value);
+void message_free (message_t *mesage);