diff options
author | Søren Sandmann Pedersen <sandmann@daimi.au.dk> | 2009-04-25 19:26:41 -0400 |
---|---|---|
committer | Søren Sandmann Pedersen <sandmann@daimi.au.dk> | 2009-08-29 11:07:52 -0400 |
commit | 2a01fbf4188f5027ae39bf81ce59c04c10c72f60 (patch) | |
tree | f9e667d439b0908f8a764c3a718faf412a3944a9 /libnul-private.h | |
parent | f61470d0bf5a9473e6faf54b7241126cc217c426 (diff) |
First step towards moving messages into dbus-int.c
Diffstat (limited to 'libnul-private.h')
-rw-r--r-- | libnul-private.h | 56 |
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); |