dbus-message.h revision 1b9a4589f6836641ded324b7b5d003c5cbfb0b78
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 int first_field_type, 50 ...); 51dbus_bool_t dbus_message_append_fields_valist (DBusMessage *message, 52 int first_field_type, 53 va_list var_args); 54dbus_bool_t dbus_message_append_int32 (DBusMessage *message, 55 dbus_int32_t value); 56dbus_bool_t dbus_message_append_uint32 (DBusMessage *message, 57 dbus_uint32_t value); 58dbus_bool_t dbus_message_append_double (DBusMessage *message, 59 double value); 60dbus_bool_t dbus_message_append_string (DBusMessage *message, 61 const char *value); 62dbus_bool_t dbus_message_append_byte_array (DBusMessage *message, 63 unsigned const char *value, 64 int len); 65 66 67DBusMessageIter *dbus_message_get_fields_iter (DBusMessage *message); 68DBusResultCode dbus_message_get_fields (DBusMessage *message, 69 int first_field_type, 70 ...); 71DBusResultCode dbus_message_get_fields_valist (DBusMessage *message, 72 int first_field_type, 73 va_list var_args); 74 75void dbus_message_iter_ref (DBusMessageIter *iter); 76void dbus_message_iter_unref (DBusMessageIter *iter); 77 78dbus_bool_t dbus_message_iter_has_next (DBusMessageIter *iter); 79dbus_bool_t dbus_message_iter_next (DBusMessageIter *iter); 80int dbus_message_iter_get_field_type (DBusMessageIter *iter); 81int dbus_message_iter_get_int32 (DBusMessageIter *iter); 82int dbus_message_iter_get_uint32 (DBusMessageIter *iter); 83double dbus_message_iter_get_double (DBusMessageIter *iter); 84char * dbus_message_iter_get_string (DBusMessageIter *iter); 85unsigned char * dbus_message_iter_get_byte_array (DBusMessageIter *iter, 86 int *len); 87 88 89 90 91DBUS_END_DECLS; 92 93#endif /* DBUS_MESSAGE_H */ 94