<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>dbus-message.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.2.15 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="pages.html">Related Pages</a> </center> <hr><h1>dbus-message.h</h1><div class="fragment"><pre>00001 <font class="comment">/* -*- mode: C; c-file-style: "gnu" -*- */</font> 00002 <font class="comment">/* dbus-message.h DBusMessage object</font> 00003 <font class="comment"> *</font> 00004 <font class="comment"> * Copyright (C) 2002, 2003 Red Hat Inc.</font> 00005 <font class="comment"> *</font> 00006 <font class="comment"> * Licensed under the Academic Free License version 2.0</font> 00007 <font class="comment"> * </font> 00008 <font class="comment"> * This program is free software; you can redistribute it and/or modify</font> 00009 <font class="comment"> * it under the terms of the GNU General Public License as published by</font> 00010 <font class="comment"> * the Free Software Foundation; either version 2 of the License, or</font> 00011 <font class="comment"> * (at your option) any later version.</font> 00012 <font class="comment"> *</font> 00013 <font class="comment"> * This program is distributed in the hope that it will be useful,</font> 00014 <font class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</font> 00015 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</font> 00016 <font class="comment"> * GNU General Public License for more details.</font> 00017 <font class="comment"> * </font> 00018 <font class="comment"> * You should have received a copy of the GNU General Public License</font> 00019 <font class="comment"> * along with this program; if not, write to the Free Software</font> 00020 <font class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</font> 00021 <font class="comment"> *</font> 00022 <font class="comment"> */</font> 00023 <font class="preprocessor">#if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION)</font> 00024 <font class="preprocessor"></font><font class="preprocessor">#error "Only <dbus/dbus.h> can be included directly, this file may disappear or change contents."</font> 00025 <font class="preprocessor"></font><font class="preprocessor">#endif</font> 00026 <font class="preprocessor"></font> 00027 <font class="preprocessor">#ifndef DBUS_MESSAGE_H</font> 00028 <font class="preprocessor"></font><font class="preprocessor">#define DBUS_MESSAGE_H</font> 00029 <font class="preprocessor"></font> 00030 <font class="preprocessor">#include <dbus/dbus-macros.h></font> 00031 <font class="preprocessor">#include <dbus/dbus-types.h></font> 00032 <font class="preprocessor">#include <dbus/dbus-arch-deps.h></font> 00033 <font class="preprocessor">#include <dbus/dbus-memory.h></font> 00034 <font class="preprocessor">#include <dbus/dbus-errors.h></font> 00035 <font class="preprocessor">#include <stdarg.h></font> 00036 00037 DBUS_BEGIN_DECLS; 00038 <a name="l00039"></a><a class="code" href="group__DBusMessage.html#a113">00039</a> <font class="keyword">typedef</font> <font class="keyword">struct </font><a class="code" href="structDBusMessage.html">DBusMessage</a> DBusMessage; 00040 <font class="keyword">typedef</font> <font class="keyword">struct </font><a class="code" href="structDBusMessageIter.html">DBusMessageIter</a> DBusMessageIter; 00041 <a name="l00045"></a><a class="code" href="structDBusMessageIter.html">00045</a> <font class="keyword">struct </font>DBusMessageIter 00046 { <a name="l00047"></a><a class="code" href="structDBusMessageIter.html#m0">00047</a> <font class="keywordtype">void</font> *<a class="code" href="structDBusMessageIter.html#m0">dummy1</a>; <a name="l00048"></a><a class="code" href="structDBusMessageIter.html#m1">00048</a> <font class="keywordtype">void</font> *<a class="code" href="structDBusMessageIter.html#m1">dummy2</a>; <a name="l00049"></a><a class="code" href="structDBusMessageIter.html#m2">00049</a> dbus_uint32_t <a class="code" href="structDBusMessageIter.html#m2">dummy3</a>; <a name="l00050"></a><a class="code" href="structDBusMessageIter.html#m3">00050</a> <font class="keywordtype">int</font> <a class="code" href="structDBusMessageIter.html#m3">dummy4</a>; <a name="l00051"></a><a class="code" href="structDBusMessageIter.html#m4">00051</a> <font class="keywordtype">int</font> <a class="code" href="structDBusMessageIter.html#m4">dummy5</a>; <a name="l00052"></a><a class="code" href="structDBusMessageIter.html#m5">00052</a> <font class="keywordtype">int</font> <a class="code" href="structDBusMessageIter.html#m5">dummy6</a>; <a name="l00053"></a><a class="code" href="structDBusMessageIter.html#m6">00053</a> <font class="keywordtype">int</font> <a class="code" href="structDBusMessageIter.html#m6">dummy7</a>; <a name="l00054"></a><a class="code" href="structDBusMessageIter.html#m7">00054</a> <font class="keywordtype">int</font> <a class="code" href="structDBusMessageIter.html#m7">dummy8</a>; <a name="l00055"></a><a class="code" href="structDBusMessageIter.html#m8">00055</a> <font class="keywordtype">int</font> <a class="code" href="structDBusMessageIter.html#m8">dummy9</a>; <a name="l00056"></a><a class="code" href="structDBusMessageIter.html#m9">00056</a> <font class="keywordtype">int</font> <a class="code" href="structDBusMessageIter.html#m9">dummy10</a>; <a name="l00057"></a><a class="code" href="structDBusMessageIter.html#m10">00057</a> <font class="keywordtype">int</font> <a class="code" href="structDBusMessageIter.html#m10">dummy11</a>; <a name="l00058"></a><a class="code" href="structDBusMessageIter.html#m11">00058</a> <font class="keywordtype">int</font> <a class="code" href="structDBusMessageIter.html#m11">pad1</a>; <a name="l00059"></a><a class="code" href="structDBusMessageIter.html#m12">00059</a> <font class="keywordtype">int</font> <a class="code" href="structDBusMessageIter.html#m12">pad2</a>; <a name="l00060"></a><a class="code" href="structDBusMessageIter.html#m13">00060</a> <font class="keywordtype">void</font> *<a class="code" href="structDBusMessageIter.html#m13">pad3</a>; 00061 }; 00062 00063 DBusMessage* dbus_message_new (<font class="keywordtype">int</font> message_type); 00064 DBusMessage* dbus_message_new_method_call (<font class="keyword">const</font> <font class="keywordtype">char</font> *service, 00065 <font class="keyword">const</font> <font class="keywordtype">char</font> *path, 00066 <font class="keyword">const</font> <font class="keywordtype">char</font> *interface, 00067 <font class="keyword">const</font> <font class="keywordtype">char</font> *method); 00068 DBusMessage* dbus_message_new_method_return (DBusMessage *method_call); 00069 DBusMessage* dbus_message_new_signal (<font class="keyword">const</font> <font class="keywordtype">char</font> *path, 00070 <font class="keyword">const</font> <font class="keywordtype">char</font> *interface, 00071 <font class="keyword">const</font> <font class="keywordtype">char</font> *name); 00072 DBusMessage* dbus_message_new_error (DBusMessage *reply_to, 00073 <font class="keyword">const</font> <font class="keywordtype">char</font> *error_name, 00074 <font class="keyword">const</font> <font class="keywordtype">char</font> *error_message); 00075 DBusMessage* dbus_message_new_error_printf (DBusMessage *reply_to, 00076 <font class="keyword">const</font> <font class="keywordtype">char</font> *error_name, 00077 <font class="keyword">const</font> <font class="keywordtype">char</font> *error_format, 00078 ...); 00079 00080 DBusMessage* dbus_message_copy (<font class="keyword">const</font> DBusMessage *message); 00081 00082 DBusMessage* dbus_message_ref (DBusMessage *message); 00083 <font class="keywordtype">void</font> dbus_message_unref (DBusMessage *message); 00084 <font class="keywordtype">int</font> dbus_message_get_type (DBusMessage *message); 00085 dbus_bool_t dbus_message_set_path (DBusMessage *message, 00086 <font class="keyword">const</font> <font class="keywordtype">char</font> *object_path); 00087 <font class="keyword">const</font> <font class="keywordtype">char</font>* dbus_message_get_path (DBusMessage *message); 00088 dbus_bool_t dbus_message_set_interface (DBusMessage *message, 00089 <font class="keyword">const</font> <font class="keywordtype">char</font> *interface); 00090 <font class="keyword">const</font> <font class="keywordtype">char</font>* dbus_message_get_interface (DBusMessage *message); 00091 dbus_bool_t dbus_message_set_member (DBusMessage *message, 00092 <font class="keyword">const</font> <font class="keywordtype">char</font> *member); 00093 <font class="keyword">const</font> <font class="keywordtype">char</font>* dbus_message_get_member (DBusMessage *message); 00094 dbus_bool_t dbus_message_set_error_name (DBusMessage *message, 00095 <font class="keyword">const</font> <font class="keywordtype">char</font> *name); 00096 <font class="keyword">const</font> <font class="keywordtype">char</font>* dbus_message_get_error_name (DBusMessage *message); 00097 dbus_bool_t dbus_message_set_destination (DBusMessage *message, 00098 <font class="keyword">const</font> <font class="keywordtype">char</font> *destination); 00099 <font class="keyword">const</font> <font class="keywordtype">char</font>* dbus_message_get_destination (DBusMessage *message); 00100 dbus_bool_t dbus_message_set_sender (DBusMessage *message, 00101 <font class="keyword">const</font> <font class="keywordtype">char</font> *sender); 00102 <font class="keyword">const</font> <font class="keywordtype">char</font>* dbus_message_get_sender (DBusMessage *message); 00103 <font class="keyword">const</font> <font class="keywordtype">char</font>* dbus_message_get_signature (DBusMessage *message); 00104 <font class="keywordtype">void</font> 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 <font class="keyword">const</font> <font class="keywordtype">char</font> *interface, 00109 <font class="keyword">const</font> <font class="keywordtype">char</font> *method); 00110 dbus_bool_t dbus_message_is_signal (DBusMessage *message, 00111 <font class="keyword">const</font> <font class="keywordtype">char</font> *interface, 00112 <font class="keyword">const</font> <font class="keywordtype">char</font> *signal_name); 00113 dbus_bool_t dbus_message_is_error (DBusMessage *message, 00114 <font class="keyword">const</font> <font class="keywordtype">char</font> *error_name); 00115 dbus_bool_t dbus_message_has_destination (DBusMessage *message, 00116 <font class="keyword">const</font> <font class="keywordtype">char</font> *service); 00117 dbus_bool_t dbus_message_has_sender (DBusMessage *message, 00118 <font class="keyword">const</font> <font class="keywordtype">char</font> *service); 00119 dbus_bool_t dbus_message_has_signature (DBusMessage *message, 00120 <font class="keyword">const</font> <font class="keywordtype">char</font> *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 <font class="keywordtype">void</font> 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 <font class="keywordtype">char</font> ***path); 00132 00133 dbus_bool_t dbus_message_append_args (DBusMessage *message, 00134 <font class="keywordtype">int</font> first_arg_type, 00135 ...); 00136 dbus_bool_t dbus_message_append_args_valist (DBusMessage *message, 00137 <font class="keywordtype">int</font> first_arg_type, 00138 va_list var_args); 00139 dbus_bool_t dbus_message_get_args (DBusMessage *message, 00140 <a class="code" href="structDBusError.html">DBusError</a> *error, 00141 <font class="keywordtype">int</font> first_arg_type, 00142 ...); 00143 dbus_bool_t dbus_message_get_args_valist (DBusMessage *message, 00144 <a class="code" href="structDBusError.html">DBusError</a> *error, 00145 <font class="keywordtype">int</font> first_arg_type, 00146 va_list var_args); 00147 dbus_bool_t dbus_message_iter_get_args (DBusMessageIter *iter, 00148 <a class="code" href="structDBusError.html">DBusError</a> *error, 00149 <font class="keywordtype">int</font> first_arg_type, 00150 ...); 00151 dbus_bool_t dbus_message_iter_get_args_valist (DBusMessageIter *iter, 00152 <a class="code" href="structDBusError.html">DBusError</a> *error, 00153 <font class="keywordtype">int</font> 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 <font class="keywordtype">int</font> dbus_message_iter_get_arg_type (DBusMessageIter *iter); 00162 <font class="keywordtype">int</font> dbus_message_iter_get_array_type (DBusMessageIter *iter); 00163 <font class="keywordtype">unsigned</font> <font class="keywordtype">char</font> 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 <font class="preprocessor">#ifdef DBUS_HAVE_INT64</font> 00168 <font class="preprocessor"></font>dbus_int64_t dbus_message_iter_get_int64 (DBusMessageIter *iter); 00169 dbus_uint64_t dbus_message_iter_get_uint64 (DBusMessageIter *iter); 00170 <font class="preprocessor">#endif </font><font class="comment">/* DBUS_HAVE_INT64 */</font> 00171 <font class="keywordtype">double</font> dbus_message_iter_get_double (DBusMessageIter *iter); 00172 <font class="keywordtype">char</font> * dbus_message_iter_get_string (DBusMessageIter *iter); 00173 <font class="keywordtype">char</font> * dbus_message_iter_get_object_path (DBusMessageIter *iter); 00174 <font class="keywordtype">char</font> * dbus_message_iter_get_dict_key (DBusMessageIter *iter); 00175 dbus_bool_t dbus_message_iter_get_custom (DBusMessageIter *iter, 00176 <font class="keywordtype">char</font> **name, 00177 <font class="keywordtype">unsigned</font> <font class="keywordtype">char</font> **value, 00178 <font class="keywordtype">int</font> *len); 00179 00180 dbus_bool_t dbus_message_iter_init_array_iterator (DBusMessageIter *iter, 00181 DBusMessageIter *array_iter, 00182 <font class="keywordtype">int</font> *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 <font class="keywordtype">unsigned</font> <font class="keywordtype">char</font> **value, 00187 <font class="keywordtype">int</font> *len); 00188 dbus_bool_t dbus_message_iter_get_boolean_array (DBusMessageIter *iter, 00189 <font class="keywordtype">unsigned</font> <font class="keywordtype">char</font> **value, 00190 <font class="keywordtype">int</font> *len); 00191 dbus_bool_t dbus_message_iter_get_int32_array (DBusMessageIter *iter, 00192 dbus_int32_t **value, 00193 <font class="keywordtype">int</font> *len); 00194 dbus_bool_t dbus_message_iter_get_uint32_array (DBusMessageIter *iter, 00195 dbus_uint32_t **value, 00196 <font class="keywordtype">int</font> *len); 00197 <font class="preprocessor">#ifdef DBUS_HAVE_INT64</font> 00198 <font class="preprocessor"></font>dbus_bool_t dbus_message_iter_get_int64_array (DBusMessageIter *iter, 00199 dbus_int64_t **value, 00200 <font class="keywordtype">int</font> *len); 00201 dbus_bool_t dbus_message_iter_get_uint64_array (DBusMessageIter *iter, 00202 dbus_uint64_t **value, 00203 <font class="keywordtype">int</font> *len); 00204 <font class="preprocessor">#endif </font><font class="comment">/* DBUS_HAVE_INT64 */</font> 00205 dbus_bool_t dbus_message_iter_get_double_array (DBusMessageIter *iter, 00206 <font class="keywordtype">double</font> **value, 00207 <font class="keywordtype">int</font> *len); 00208 dbus_bool_t dbus_message_iter_get_string_array (DBusMessageIter *iter, 00209 <font class="keywordtype">char</font> ***value, 00210 <font class="keywordtype">int</font> *len); 00211 dbus_bool_t dbus_message_iter_get_object_path_array (DBusMessageIter *iter, 00212 <font class="keywordtype">char</font> ***value, 00213 <font class="keywordtype">int</font> *len); 00214 00215 00216 <font class="keywordtype">void</font> 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 <font class="keywordtype">unsigned</font> <font class="keywordtype">char</font> 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 <font class="preprocessor">#ifdef DBUS_HAVE_INT64</font> 00228 <font class="preprocessor"></font>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 <font class="preprocessor">#endif </font><font class="comment">/* DBUS_HAVE_INT64 */</font> 00233 dbus_bool_t dbus_message_iter_append_double (DBusMessageIter *iter, 00234 <font class="keywordtype">double</font> value); 00235 dbus_bool_t dbus_message_iter_append_string (DBusMessageIter *iter, 00236 <font class="keyword">const</font> <font class="keywordtype">char</font> *value); 00237 dbus_bool_t dbus_message_iter_append_object_path (DBusMessageIter *iter, 00238 <font class="keyword">const</font> <font class="keywordtype">char</font> *value); 00239 dbus_bool_t dbus_message_iter_append_custom (DBusMessageIter *iter, 00240 <font class="keyword">const</font> <font class="keywordtype">char</font> *name, 00241 <font class="keyword">const</font> <font class="keywordtype">unsigned</font> <font class="keywordtype">char</font> *data, 00242 <font class="keywordtype">int</font> len); 00243 dbus_bool_t dbus_message_iter_append_dict_key (DBusMessageIter *iter, 00244 <font class="keyword">const</font> <font class="keywordtype">char</font> *value); 00245 dbus_bool_t dbus_message_iter_append_array (DBusMessageIter *iter, 00246 DBusMessageIter *array_iter, 00247 <font class="keywordtype">int</font> element_type); 00248 dbus_bool_t dbus_message_iter_append_dict (DBusMessageIter *iter, 00249 DBusMessageIter *dict_iter); 00250 00251 <font class="comment">/* Helpers for normal types: */</font> 00252 dbus_bool_t dbus_message_iter_append_boolean_array (DBusMessageIter *iter, 00253 <font class="keywordtype">unsigned</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *value, 00254 <font class="keywordtype">int</font> len); 00255 dbus_bool_t dbus_message_iter_append_int32_array (DBusMessageIter *iter, 00256 <font class="keyword">const</font> dbus_int32_t *value, 00257 <font class="keywordtype">int</font> len); 00258 dbus_bool_t dbus_message_iter_append_uint32_array (DBusMessageIter *iter, 00259 <font class="keyword">const</font> dbus_uint32_t *value, 00260 <font class="keywordtype">int</font> len); 00261 <font class="preprocessor">#ifdef DBUS_HAVE_INT64</font> 00262 <font class="preprocessor"></font>dbus_bool_t dbus_message_iter_append_int64_array (DBusMessageIter *iter, 00263 <font class="keyword">const</font> dbus_int64_t *value, 00264 <font class="keywordtype">int</font> len); 00265 dbus_bool_t dbus_message_iter_append_uint64_array (DBusMessageIter *iter, 00266 <font class="keyword">const</font> dbus_uint64_t *value, 00267 <font class="keywordtype">int</font> len); 00268 <font class="preprocessor">#endif </font><font class="comment">/* DBUS_HAVE_INT64 */</font> 00269 dbus_bool_t dbus_message_iter_append_double_array (DBusMessageIter *iter, 00270 <font class="keyword">const</font> <font class="keywordtype">double</font> *value, 00271 <font class="keywordtype">int</font> len); 00272 dbus_bool_t dbus_message_iter_append_byte_array (DBusMessageIter *iter, 00273 <font class="keywordtype">unsigned</font> <font class="keyword">const</font> <font class="keywordtype">char</font> *value, 00274 <font class="keywordtype">int</font> len); 00275 dbus_bool_t dbus_message_iter_append_string_array (DBusMessageIter *iter, 00276 <font class="keyword">const</font> <font class="keywordtype">char</font> **value, 00277 <font class="keywordtype">int</font> len); 00278 dbus_bool_t dbus_message_iter_append_object_path_array (DBusMessageIter *iter, 00279 <font class="keyword">const</font> <font class="keywordtype">char</font> **value, 00280 <font class="keywordtype">int</font> len); 00281 00282 00283 00284 dbus_bool_t dbus_set_error_from_message (<a class="code" href="structDBusError.html">DBusError</a> *error, 00285 DBusMessage *message); 00286 00287 00288 dbus_bool_t dbus_message_allocate_data_slot (dbus_int32_t *slot_p); 00289 <font class="keywordtype">void</font> 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 <font class="keywordtype">void</font> *data, 00293 DBusFreeFunction free_data_func); 00294 <font class="keywordtype">void</font>* dbus_message_get_data (DBusMessage *message, 00295 dbus_int32_t slot); 00296 00297 <font class="keywordtype">int</font> dbus_message_type_from_string (<font class="keyword">const</font> <font class="keywordtype">char</font> *type_str); 00298 00299 DBUS_END_DECLS; 00300 00301 <font class="preprocessor">#endif </font><font class="comment">/* DBUS_MESSAGE_H */</font> </pre></div><hr><address align="right"><small>Generated on Wed Jun 9 05:01:26 2004 for D-BUS by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.15 </small></address> </body> </html>