Main Page | Modules | Data Structures | File List | Data Fields | Related Pages

dbus-message.h

00001 /* -*- mode: C; c-file-style: "gnu" -*- */ 00002 /* dbus-message.h DBusMessage object 00003 * 00004 * Copyright (C) 2002, 2003 Red Hat Inc. 00005 * 00006 * Licensed under the Academic Free License version 2.1 00007 * 00008 * This program is free software; you can redistribute it and/or modify 00009 * it under the terms of the GNU General Public License as published by 00010 * the Free Software Foundation; either version 2 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * This program is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU General Public License 00019 * along with this program; if not, write to the Free Software 00020 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00021 * 00022 */ 00023 #if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION) 00024 #error "Only <dbus/dbus.h> can be included directly, this file may disappear or change contents." 00025 #endif 00026 00027 #ifndef DBUS_MESSAGE_H 00028 #define DBUS_MESSAGE_H 00029 00030 #include <dbus/dbus-macros.h> 00031 #include <dbus/dbus-types.h> 00032 #include <dbus/dbus-arch-deps.h> 00033 #include <dbus/dbus-memory.h> 00034 #include <dbus/dbus-errors.h> 00035 #include <stdarg.h> 00036 00037 DBUS_BEGIN_DECLS; 00038 00039 typedef struct DBusMessage DBusMessage; 00040 typedef struct DBusMessageIter DBusMessageIter; 00041 00045 struct DBusMessageIter 00046 { 00047 void *dummy1; 00048 void *dummy2; 00049 dbus_uint32_t dummy3; 00050 int dummy4; 00051 int dummy5; 00052 int dummy6; 00053 int dummy7; 00054 int dummy8; 00055 int dummy9; 00056 int dummy10; 00057 int dummy11; 00058 int pad1; 00059 int pad2; 00060 void *pad3; 00061 }; 00062 00063 DBusMessage* dbus_message_new (int message_type); 00064 DBusMessage* dbus_message_new_method_call (const char *service, 00065 const char *path, 00066 const char *interface, 00067 const char *method); 00068 DBusMessage* dbus_message_new_method_return (DBusMessage *method_call); 00069 DBusMessage* dbus_message_new_signal (const char *path, 00070 const char *interface, 00071 const char *name); 00072 DBusMessage* dbus_message_new_error (DBusMessage *reply_to, 00073 const char *error_name, 00074 const char *error_message); 00075 DBusMessage* dbus_message_new_error_printf (DBusMessage *reply_to, 00076 const char *error_name, 00077 const char *error_format, 00078 ...); 00079 00080 DBusMessage* dbus_message_copy (const DBusMessage *message); 00081 00082 DBusMessage* dbus_message_ref (DBusMessage *message); 00083 void dbus_message_unref (DBusMessage *message); 00084 int dbus_message_get_type (DBusMessage *message); 00085 dbus_bool_t dbus_message_set_path (DBusMessage *message, 00086 const char *object_path); 00087 const char* dbus_message_get_path (DBusMessage *message); 00088 dbus_bool_t dbus_message_set_interface (DBusMessage *message, 00089 const char *interface); 00090 const char* dbus_message_get_interface (DBusMessage *message); 00091 dbus_bool_t dbus_message_set_member (DBusMessage *message, 00092 const char *member); 00093 const char* dbus_message_get_member (DBusMessage *message); 00094 dbus_bool_t dbus_message_set_error_name (DBusMessage *message, 00095 const char *name); 00096 const char* dbus_message_get_error_name (DBusMessage *message); 00097 dbus_bool_t dbus_message_set_destination (DBusMessage *message, 00098 const char *destination); 00099 const char* dbus_message_get_destination (DBusMessage *message); 00100 dbus_bool_t dbus_message_set_sender (DBusMessage *message, 00101 const char *sender); 00102 const char* dbus_message_get_sender (DBusMessage *message); 00103 const char* dbus_message_get_signature (DBusMessage *message); 00104 void dbus_message_set_no_reply (DBusMessage *message, 00105 dbus_bool_t no_reply); 00106 dbus_bool_t dbus_message_get_no_reply (DBusMessage *message); 00107 dbus_bool_t dbus_message_is_method_call (DBusMessage *message, 00108 const char *interface, 00109 const char *method); 00110 dbus_bool_t dbus_message_is_signal (DBusMessage *message, 00111 const char *interface, 00112 const char *signal_name); 00113 dbus_bool_t dbus_message_is_error (DBusMessage *message, 00114 const char *error_name); 00115 dbus_bool_t dbus_message_has_destination (DBusMessage *message, 00116 const char *service); 00117 dbus_bool_t dbus_message_has_sender (DBusMessage *message, 00118 const char *service); 00119 dbus_bool_t dbus_message_has_signature (DBusMessage *message, 00120 const char *signature); 00121 dbus_uint32_t dbus_message_get_serial (DBusMessage *message); 00122 dbus_bool_t dbus_message_set_reply_serial (DBusMessage *message, 00123 dbus_uint32_t reply_serial); 00124 dbus_uint32_t dbus_message_get_reply_serial (DBusMessage *message); 00125 00126 void dbus_message_set_auto_activation (DBusMessage *message, 00127 dbus_bool_t auto_activation); 00128 dbus_bool_t dbus_message_get_auto_activation (DBusMessage *message); 00129 00130 dbus_bool_t dbus_message_get_path_decomposed (DBusMessage *message, 00131 char ***path); 00132 00133 dbus_bool_t dbus_message_append_args (DBusMessage *message, 00134 int first_arg_type, 00135 ...); 00136 dbus_bool_t dbus_message_append_args_valist (DBusMessage *message, 00137 int first_arg_type, 00138 va_list var_args); 00139 dbus_bool_t dbus_message_get_args (DBusMessage *message, 00140 DBusError *error, 00141 int first_arg_type, 00142 ...); 00143 dbus_bool_t dbus_message_get_args_valist (DBusMessage *message, 00144 DBusError *error, 00145 int first_arg_type, 00146 va_list var_args); 00147 dbus_bool_t dbus_message_iter_get_args (DBusMessageIter *iter, 00148 DBusError *error, 00149 int first_arg_type, 00150 ...); 00151 dbus_bool_t dbus_message_iter_get_args_valist (DBusMessageIter *iter, 00152 DBusError *error, 00153 int first_arg_type, 00154 va_list var_args); 00155 00156 00157 dbus_bool_t dbus_message_iter_init (DBusMessage *message, 00158 DBusMessageIter *iter); 00159 dbus_bool_t dbus_message_iter_has_next (DBusMessageIter *iter); 00160 dbus_bool_t dbus_message_iter_next (DBusMessageIter *iter); 00161 int dbus_message_iter_get_arg_type (DBusMessageIter *iter); 00162 int dbus_message_iter_get_array_type (DBusMessageIter *iter); 00163 unsigned char dbus_message_iter_get_byte (DBusMessageIter *iter); 00164 dbus_bool_t dbus_message_iter_get_boolean (DBusMessageIter *iter); 00165 dbus_int32_t dbus_message_iter_get_int32 (DBusMessageIter *iter); 00166 dbus_uint32_t dbus_message_iter_get_uint32 (DBusMessageIter *iter); 00167 #ifdef DBUS_HAVE_INT64 00168 dbus_int64_t dbus_message_iter_get_int64 (DBusMessageIter *iter); 00169 dbus_uint64_t dbus_message_iter_get_uint64 (DBusMessageIter *iter); 00170 #endif /* DBUS_HAVE_INT64 */ 00171 double dbus_message_iter_get_double (DBusMessageIter *iter); 00172 char * dbus_message_iter_get_string (DBusMessageIter *iter); 00173 char * dbus_message_iter_get_object_path (DBusMessageIter *iter); 00174 char * dbus_message_iter_get_dict_key (DBusMessageIter *iter); 00175 dbus_bool_t dbus_message_iter_get_custom (DBusMessageIter *iter, 00176 char **name, 00177 unsigned char **value, 00178 int *len); 00179 00180 dbus_bool_t dbus_message_iter_init_array_iterator (DBusMessageIter *iter, 00181 DBusMessageIter *array_iter, 00182 int *array_type); 00183 dbus_bool_t dbus_message_iter_init_dict_iterator (DBusMessageIter *iter, 00184 DBusMessageIter *dict_iter); 00185 dbus_bool_t dbus_message_iter_get_byte_array (DBusMessageIter *iter, 00186 unsigned char **value, 00187 int *len); 00188 dbus_bool_t dbus_message_iter_get_boolean_array (DBusMessageIter *iter, 00189 unsigned char **value, 00190 int *len); 00191 dbus_bool_t dbus_message_iter_get_int32_array (DBusMessageIter *iter, 00192 dbus_int32_t **value, 00193 int *len); 00194 dbus_bool_t dbus_message_iter_get_uint32_array (DBusMessageIter *iter, 00195 dbus_uint32_t **value, 00196 int *len); 00197 #ifdef DBUS_HAVE_INT64 00198 dbus_bool_t dbus_message_iter_get_int64_array (DBusMessageIter *iter, 00199 dbus_int64_t **value, 00200 int *len); 00201 dbus_bool_t dbus_message_iter_get_uint64_array (DBusMessageIter *iter, 00202 dbus_uint64_t **value, 00203 int *len); 00204 #endif /* DBUS_HAVE_INT64 */ 00205 dbus_bool_t dbus_message_iter_get_double_array (DBusMessageIter *iter, 00206 double **value, 00207 int *len); 00208 dbus_bool_t dbus_message_iter_get_string_array (DBusMessageIter *iter, 00209 char ***value, 00210 int *len); 00211 dbus_bool_t dbus_message_iter_get_object_path_array (DBusMessageIter *iter, 00212 char ***value, 00213 int *len); 00214 00215 00216 void dbus_message_append_iter_init (DBusMessage *message, 00217 DBusMessageIter *iter); 00218 dbus_bool_t dbus_message_iter_append_nil (DBusMessageIter *iter); 00219 dbus_bool_t dbus_message_iter_append_boolean (DBusMessageIter *iter, 00220 dbus_bool_t value); 00221 dbus_bool_t dbus_message_iter_append_byte (DBusMessageIter *iter, 00222 unsigned char value); 00223 dbus_bool_t dbus_message_iter_append_int32 (DBusMessageIter *iter, 00224 dbus_int32_t value); 00225 dbus_bool_t dbus_message_iter_append_uint32 (DBusMessageIter *iter, 00226 dbus_uint32_t value); 00227 #ifdef DBUS_HAVE_INT64 00228 dbus_bool_t dbus_message_iter_append_int64 (DBusMessageIter *iter, 00229 dbus_int64_t value); 00230 dbus_bool_t dbus_message_iter_append_uint64 (DBusMessageIter *iter, 00231 dbus_uint64_t value); 00232 #endif /* DBUS_HAVE_INT64 */ 00233 dbus_bool_t dbus_message_iter_append_double (DBusMessageIter *iter, 00234 double value); 00235 dbus_bool_t dbus_message_iter_append_string (DBusMessageIter *iter, 00236 const char *value); 00237 dbus_bool_t dbus_message_iter_append_object_path (DBusMessageIter *iter, 00238 const char *value); 00239 dbus_bool_t dbus_message_iter_append_custom (DBusMessageIter *iter, 00240 const char *name, 00241 const unsigned char *data, 00242 int len); 00243 dbus_bool_t dbus_message_iter_append_dict_key (DBusMessageIter *iter, 00244 const char *value); 00245 dbus_bool_t dbus_message_iter_append_array (DBusMessageIter *iter, 00246 DBusMessageIter *array_iter, 00247 int element_type); 00248 dbus_bool_t dbus_message_iter_append_dict (DBusMessageIter *iter, 00249 DBusMessageIter *dict_iter); 00250 00251 /* Helpers for normal types: */ 00252 dbus_bool_t dbus_message_iter_append_boolean_array (DBusMessageIter *iter, 00253 unsigned const char *value, 00254 int len); 00255 dbus_bool_t dbus_message_iter_append_int32_array (DBusMessageIter *iter, 00256 const dbus_int32_t *value, 00257 int len); 00258 dbus_bool_t dbus_message_iter_append_uint32_array (DBusMessageIter *iter, 00259 const dbus_uint32_t *value, 00260 int len); 00261 #ifdef DBUS_HAVE_INT64 00262 dbus_bool_t dbus_message_iter_append_int64_array (DBusMessageIter *iter, 00263 const dbus_int64_t *value, 00264 int len); 00265 dbus_bool_t dbus_message_iter_append_uint64_array (DBusMessageIter *iter, 00266 const dbus_uint64_t *value, 00267 int len); 00268 #endif /* DBUS_HAVE_INT64 */ 00269 dbus_bool_t dbus_message_iter_append_double_array (DBusMessageIter *iter, 00270 const double *value, 00271 int len); 00272 dbus_bool_t dbus_message_iter_append_byte_array (DBusMessageIter *iter, 00273 unsigned const char *value, 00274 int len); 00275 dbus_bool_t dbus_message_iter_append_string_array (DBusMessageIter *iter, 00276 const char **value, 00277 int len); 00278 dbus_bool_t dbus_message_iter_append_object_path_array (DBusMessageIter *iter, 00279 const char **value, 00280 int len); 00281 00282 00283 00284 dbus_bool_t dbus_set_error_from_message (DBusError *error, 00285 DBusMessage *message); 00286 00287 00288 dbus_bool_t dbus_message_allocate_data_slot (dbus_int32_t *slot_p); 00289 void dbus_message_free_data_slot (dbus_int32_t *slot_p); 00290 dbus_bool_t dbus_message_set_data (DBusMessage *message, 00291 dbus_int32_t slot, 00292 void *data, 00293 DBusFreeFunction free_data_func); 00294 void* dbus_message_get_data (DBusMessage *message, 00295 dbus_int32_t slot); 00296 00297 int dbus_message_type_from_string (const char *type_str); 00298 00299 DBUS_END_DECLS; 00300 00301 #endif /* DBUS_MESSAGE_H */

Generated on Tue Oct 12 02:07:53 2004 for D-BUS by doxygen 1.3.7