dbus-message.h revision 000d29a283b06517f0cfb599516a390e3afbf25c
1/* -*- mode: C; c-file-style: "gnu" -*- */ 2/* dbus-message.h DBusMessage object 3 * 4 * Copyright (C) 2002 Red Hat Inc. 5 * 6 * Licensed under the Academic Free License version 1.2 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 2 of the License, or 11 * (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 * 22 */ 23#if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION) 24#error "Only <dbus/dbus.h> can be included directly, this file may disappear or change contents." 25#endif 26 27#ifndef DBUS_MESSAGE_H 28#define DBUS_MESSAGE_H 29 30#include <dbus/dbus-macros.h> 31#include <dbus/dbus-types.h> 32#include <stdarg.h> 33 34DBUS_BEGIN_DECLS; 35 36typedef struct DBusMessage DBusMessage; 37typedef struct DBusMessageIter DBusMessageIter; 38 39DBusMessage* dbus_message_new (const char *service, 40 const char *name); 41 42void dbus_message_ref (DBusMessage *message); 43void dbus_message_unref (DBusMessage *message); 44 45const char* dbus_message_get_name (DBusMessage *message); 46 47 48dbus_bool_t dbus_message_append_fields (DBusMessage *message, 49 ...); 50dbus_bool_t dbus_message_append_fields_valist (DBusMessage *message, 51 va_list var_args); 52dbus_bool_t dbus_message_append_int32 (DBusMessage *message, 53 dbus_int32_t value); 54dbus_bool_t dbus_message_append_uint32 (DBusMessage *message, 55 dbus_uint32_t value); 56dbus_bool_t dbus_message_append_double (DBusMessage *message, 57 double value); 58dbus_bool_t dbus_message_append_string (DBusMessage *message, 59 const char *value); 60dbus_bool_t dbus_message_append_byte_array (DBusMessage *message, 61 unsigned const char *value, 62 int len); 63 64 65DBusMessageIter *dbus_message_get_fields_iter (DBusMessage *message); 66 67dbus_bool_t dbus_message_get_fields (DBusMessage *message, 68 ...); 69dbus_bool_t dbus_message_get_fields_valist (DBusMessage *message, 70 va_list var_args); 71 72void dbus_message_iter_ref (DBusMessageIter *iter); 73void dbus_message_iter_unref (DBusMessageIter *iter); 74 75dbus_bool_t dbus_message_iter_has_next (DBusMessageIter *iter); 76dbus_bool_t dbus_message_iter_next (DBusMessageIter *iter); 77int dbus_message_iter_get_field_type (DBusMessageIter *iter); 78int dbus_message_iter_get_int32 (DBusMessageIter *iter); 79int dbus_message_iter_get_uint32 (DBusMessageIter *iter); 80double dbus_message_iter_get_double (DBusMessageIter *iter); 81char * dbus_message_iter_get_string (DBusMessageIter *iter); 82unsigned char *dbus_message_iter_get_byte_array (DBusMessageIter *iter, int *len); 83 84 85 86DBUS_END_DECLS; 87 88#endif /* DBUS_MESSAGE_H */ 89