dbus-message.h revision aa4b4ef5955606659557a40a2220090ee9c108d4
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); 41DBusMessage* dbus_message_new_reply (DBusMessage *original_message); 42DBusMessage *dbus_message_new_from_message (const DBusMessage *message); 43 44void dbus_message_ref (DBusMessage *message); 45void dbus_message_unref (DBusMessage *message); 46 47const char* dbus_message_get_name (DBusMessage *message); 48const char* dbus_message_get_service (DBusMessage *message); 49dbus_bool_t dbus_message_set_sender (DBusMessage *message, 50 const char *sender); 51const char* dbus_message_get_sender (DBusMessage *message); 52void dbus_message_set_is_error (DBusMessage *message, 53 dbus_bool_t is_error_reply); 54dbus_bool_t dbus_message_get_is_error (DBusMessage *message); 55 56dbus_bool_t dbus_message_append_args (DBusMessage *message, 57 int first_arg_type, 58 ...); 59dbus_bool_t dbus_message_append_args_valist (DBusMessage *message, 60 int first_arg_type, 61 va_list var_args); 62dbus_bool_t dbus_message_append_int32 (DBusMessage *message, 63 dbus_int32_t value); 64dbus_bool_t dbus_message_append_uint32 (DBusMessage *message, 65 dbus_uint32_t value); 66dbus_bool_t dbus_message_append_double (DBusMessage *message, 67 double value); 68dbus_bool_t dbus_message_append_string (DBusMessage *message, 69 const char *value); 70dbus_bool_t dbus_message_append_byte_array (DBusMessage *message, 71 unsigned const char *value, 72 int len); 73dbus_bool_t dbus_message_append_string_array (DBusMessage *message, 74 const char **value, 75 int len); 76 77 78DBusMessageIter *dbus_message_get_args_iter (DBusMessage *message); 79DBusResultCode dbus_message_get_args (DBusMessage *message, 80 int first_arg_type, 81 ...); 82DBusResultCode dbus_message_get_args_valist (DBusMessage *message, 83 int first_arg_type, 84 va_list var_args); 85 86 87 88void dbus_message_iter_ref (DBusMessageIter *iter); 89void dbus_message_iter_unref (DBusMessageIter *iter); 90dbus_bool_t dbus_message_iter_has_next (DBusMessageIter *iter); 91dbus_bool_t dbus_message_iter_next (DBusMessageIter *iter); 92int dbus_message_iter_get_arg_type (DBusMessageIter *iter); 93int dbus_message_iter_get_int32 (DBusMessageIter *iter); 94int dbus_message_iter_get_uint32 (DBusMessageIter *iter); 95double dbus_message_iter_get_double (DBusMessageIter *iter); 96char * dbus_message_iter_get_string (DBusMessageIter *iter); 97unsigned char *dbus_message_iter_get_byte_array (DBusMessageIter *iter, 98 int *len); 99char ** dbus_message_iter_get_string_array (DBusMessageIter *iter, 100 int *len); 101 102 103 104 105 106DBUS_END_DECLS; 107 108#endif /* DBUS_MESSAGE_H */ 109