/* -*- mode: C; c-file-style: "gnu" -*- */
-/* dbus-message.h DBusMessage object
+/* dbus-message.h DBusMessage object
*
* Copyright (C) 2002 Red Hat Inc.
*
#define DBUS_MESSAGE_H
#include <dbus/dbus-macros.h>
+#include <dbus/dbus-types.h>
+#include <stdarg.h>
-DBUS_BEGIN_DECLS
-
-/**
- * @defgroup Message
- * @ingroup DBus
- * @brief Message handling.
- *
- * This functions deal with message structure
- * within DBus.
- *
- * @{
- */
+DBUS_BEGIN_DECLS;
typedef struct DBusMessage DBusMessage;
+typedef struct DBusMessageIter DBusMessageIter;
-/**
- * Constructs a new DBus message.
- * @return New DBusMessage
- */
-DBusMessage* dbus_message_new (void);
+DBusMessage* dbus_message_new (const char *service,
+ const char *name);
+DBusMessage* dbus_message_new_reply (const char *name,
+ DBusMessage *original_message);
+DBusMessage *dbus_message_new_from_message (const DBusMessage *message);
-/**
- * Increments a reference count on a message.
- *
- * @arg message It's the message whose reference count we're incrementing
- * @see dbus_message_unref
- */
void dbus_message_ref (DBusMessage *message);
-
-/**
- * Decrements a reference count on a message.
- *
- * @arg message It's the message whose reference count we're decrementing
- */
void dbus_message_unref (DBusMessage *message);
+const char* dbus_message_get_name (DBusMessage *message);
+const char* dbus_message_get_service (DBusMessage *message);
+dbus_bool_t dbus_message_set_sender (DBusMessage *message,
+ const char *sender);
+const char* dbus_message_get_sender (DBusMessage *message);
+
+dbus_bool_t dbus_message_append_fields (DBusMessage *message,
+ int first_field_type,
+ ...);
+dbus_bool_t dbus_message_append_fields_valist (DBusMessage *message,
+ int first_field_type,
+ va_list var_args);
+dbus_bool_t dbus_message_append_int32 (DBusMessage *message,
+ dbus_int32_t value);
+dbus_bool_t dbus_message_append_uint32 (DBusMessage *message,
+ dbus_uint32_t value);
+dbus_bool_t dbus_message_append_double (DBusMessage *message,
+ double value);
+dbus_bool_t dbus_message_append_string (DBusMessage *message,
+ const char *value);
+dbus_bool_t dbus_message_append_byte_array (DBusMessage *message,
+ unsigned const char *value,
+ int len);
+dbus_bool_t dbus_message_append_string_array (DBusMessage *message,
+ const char **value,
+ int len);
+
+
+
+DBusMessageIter *dbus_message_get_fields_iter (DBusMessage *message);
+DBusResultCode dbus_message_get_fields (DBusMessage *message,
+ int first_field_type,
+ ...);
+DBusResultCode dbus_message_get_fields_valist (DBusMessage *message,
+ int first_field_type,
+ va_list var_args);
+
+void dbus_message_iter_ref (DBusMessageIter *iter);
+void dbus_message_iter_unref (DBusMessageIter *iter);
+
+dbus_bool_t dbus_message_iter_has_next (DBusMessageIter *iter);
+dbus_bool_t dbus_message_iter_next (DBusMessageIter *iter);
+int dbus_message_iter_get_field_type (DBusMessageIter *iter);
+int dbus_message_iter_get_int32 (DBusMessageIter *iter);
+int dbus_message_iter_get_uint32 (DBusMessageIter *iter);
+double dbus_message_iter_get_double (DBusMessageIter *iter);
+char * dbus_message_iter_get_string (DBusMessageIter *iter);
+unsigned char * dbus_message_iter_get_byte_array (DBusMessageIter *iter,
+ int *len);
+char ** dbus_message_iter_get_string_array (DBusMessageIter *iter,
+ int *len)
+
+
-/** @} */
-DBUS_END_DECLS
+DBUS_END_DECLS;
#endif /* DBUS_MESSAGE_H */