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