skeleton.h

Go to the documentation of this file.
00001 /*
00002  EasyDbus: DBus Binding Library
00003  Copyright (C) 2007  Daniele Rondina aka ge@@ru, geaaru@gmail.com 
00004  
00005  This program is free software; you can redistribute it and/or
00006  modify it under the terms of the GNU General Public License
00007  as published by the Free Software Foundation; either version 2
00008  of the License, or (at your option) any later version.
00009 
00010  This program is distributed in the hope that it will be useful,
00011  but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  GNU General Public License for more details.
00014 
00015  You should have received a copy of the GNU General Public License
00016  along with this program; if not, write to the Free Software
00017  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
00018 
00019   Filename:  skeleton.h
00020  
00021   Description:  
00022  
00023   Version:  0.1
00024   Created:  07/28/07 10:15:05 CEST
00025   Revision:  none
00026  
00027   Author:   Daniele Rondina aka Ge@@ru (geaaru@gmail.com) 
00028   License:  GPL 2.0
00029 */
00030 
00031 #ifndef EASYDBUS_SKELETON_H
00032 #define EASYDUBS_SKELETON_H
00033 
00034 /* Function for insert elements on skeleton */
00035 int 
00036 easydbus_add_i16_param_to_skeleton (enum event_type, 
00037                                     void *, short);
00038 
00039 int 
00040 easydbus_add_ui16_param_to_skeleton (enum event_type, void *, 
00041                                      unsigned short);
00042 
00043 int 
00044 easydbus_add_i32_param_to_skeleton (enum event_type, 
00045                                     void *, int);
00046 
00047 int 
00048 easydbus_add_ui32_param_to_skeleton (enum event_type, 
00049                                      void *, unsigned int);
00050 
00051 int 
00052 easydbus_add_i64_param_to_skeleton (enum event_type, void *, 
00053                                     long long);
00054 
00055 int 
00056 easydbus_add_ui64_param_to_skeleton (enum event_type, void *, 
00057                                      unsigned long long);
00058 
00059 int 
00060 easydbus_add_double_param_to_skeleton (enum event_type, void *, 
00061                                        double);
00062 
00063 int 
00064 easydbus_add_string_param_to_skeleton (enum event_type, void *, 
00065                                        char *);
00066 
00067 int 
00068 easydbus_add_obj_path_param_to_skeleton (enum event_type, void *, 
00069                                          char *);
00070 
00071 int 
00072 easydbus_add_signature_param_to_skeleton (enum event_type, void *, 
00073                                           char *);
00074 
00075 int 
00076 easydbus_add_byte_param_to_skeleton (enum event_type, void *, 
00077                                      char);
00078 
00079 int 
00080 easydbus_add_boolean_param_to_skeleton (enum event_type, void *, 
00081                                         unsigned char);
00082 
00083 int 
00084 easydbus_add_array_param_to_skeleton (enum event_type, void *, 
00085                                       EasyDbus_container *);
00086 
00087 int 
00088 easydbus_add_variant_param_to_skeleton (enum event_type, void *,
00089                                         EasyDbus_container *);
00090 
00091 int 
00092 easydbus_add_struct_param_to_skeleton (enum event_type, void *, 
00093                                        EasyDbus_container *);
00094 
00095 /* TODO 
00096 int add_params_to_signal_skeleton (EasyDbus_signal *,
00097         enum el_type, ...); */
00098 /* Functions for manage struct EasyDbus_signal */
00099 EasyDbus_signal *
00100 easydbus_signal_create_skeleton (char *, char *, char *);
00101 
00102 inline void 
00103 easydbus_signal_free_skeleton (EasyDbus_signal *);
00104 
00105 const char *
00106 easydbus_signal_get_path (EasyDbus_signal *);
00107 
00108 const char *
00109 easydbus_signal_get_name (EasyDbus_signal *);
00110 
00111 const char *
00112 easydbus_signal_get_interface (EasyDbus_signal *);
00113 
00114 int 
00115 easydbus_signal_get_args (EasyDbus_signal *);
00116 
00117 const EasyDbus_elem *
00118 easydbus_signal_get_element (EasyDbus_signal *,
00119                              unsigned int);
00120 
00121 const char *
00122 easydbus_signal_get_sender (EasyDbus_signal *);
00123 
00124 int
00125 easydbus_signal_set_sender (EasyDbus_signal *, 
00126                             const char *);
00127 
00128 const char *
00129 easydbus_signal_get_destination (EasyDbus_signal *);
00130 
00131 int
00132 easydbus_signal_set_destination (EasyDbus_signal *, 
00133                                  const char *);
00134 
00135 enum easydbus_ret_values
00136 easydbus_signal_send (EasyDbus_conn *, EasyDbus_signal *);
00137 
00138 /* Functions for manage EasyDbus_method */
00139 EasyDbus_method *
00140 easydbus_method_create_skeleton (char *, char *, 
00141                                  char *, char *);
00142 
00143 inline void 
00144 easydbus_method_free_skeleton (EasyDbus_method *);
00145 
00146 inline int 
00147 easydbus_method_set_reply (EasyDbus_method *, 
00148                            EasyDbus_reply *);
00149 
00150 inline const EasyDbus_reply *
00151 easydbus_method_get_reply (EasyDbus_method *);
00152 
00153 const char *
00154 easydbus_method_get_path (EasyDbus_method *);
00155 
00156 const char *
00157 easydbus_method_get_interface (EasyDbus_method *);
00158 
00159 const char *
00160 easydbus_method_get_name (EasyDbus_method *);
00161 
00162 const char *
00163 easydbus_method_get_destination (EasyDbus_method *);
00164 
00165 int 
00166 easydbus_method_get_args (EasyDbus_method *);
00167 
00168 const EasyDbus_elem *
00169 easydbus_method_get_element (EasyDbus_method *,
00170                              unsigned int);
00171 
00172 int
00173 easydbus_method_set_retry_flags (EasyDbus_method *);
00174 
00175 int
00176 easydbus_method_send_async_with_notify (EasyDbus_conn *,
00177                                         EasyDbus_method *,
00178                                         easydbus_method_async_reply_cb_f,
00179                                         void *, int);
00180 
00181 int
00182 easydbus_method_send_async (EasyDbus_conn * conn, 
00183                             EasyDbus_method * method,
00184                             void *closure);
00185 
00186 enum easydbus_ret_values 
00187 easydbus_method_send_blocking (EasyDbus_conn *, 
00188                                EasyDbus_method *, int);
00189 
00190 
00191 /* Functions for manage EasyDbus_reply */
00192 EasyDbus_reply *
00193 easydbus_reply_create_skeleton (void);
00194 
00195 inline void 
00196 easydbus_reply_free_skeleton (EasyDbus_reply *);
00197 
00198 inline int 
00199 easydbus_reply_set_type (EasyDbus_reply *, enum event_type);
00200 
00201 inline int 
00202 easydbus_reply_get_args (const EasyDbus_reply *);
00203 
00204 inline const EasyDbus_elem *
00205 easydbus_reply_get_element (const EasyDbus_reply *, 
00206                             unsigned int);
00207 
00208 enum event_type
00209 easydbus_reply_get_type (EasyDbus_reply *);
00210 
00211 const char *
00212 easydbus_reply_get_src_path (EasyDbus_reply *);
00213 
00214 const char *
00215 easydbus_reply_get_interface (EasyDbus_reply *);
00216 
00217 const char *
00218 easydbus_reply_get_sender (EasyDbus_reply *);
00219 
00220 inline int 
00221 easydbus_reply_set_sender (EasyDbus_reply *,
00222                            const char *);
00223 
00224 inline int
00225 easydbus_reply_set_path (EasyDbus_reply *, 
00226                          const char *);
00227 
00228 inline int
00229 easydbus_reply_set_interface (EasyDbus_reply *, 
00230                               const char *);
00231 
00232 /* Functions for manage EasyDbus_container */
00233 EasyDbus_container *
00234 easydbus_container_create_skeleton (enum el_type);
00235 
00236 void 
00237 easydbus_container_free (EasyDbus_container *);
00238 
00239 int
00240 easydbus_container_add_signature_to_empty_container 
00241   (EasyDbus_container *, ...);
00242 
00243 inline enum el_type 
00244 easydbus_container_get_type (const EasyDbus_container *);
00245 
00246 inline enum el_type
00247 easydbus_container_get_elem_type (const EasyDbus_container *);
00248 
00249 inline unsigned int
00250 easydbus_container_get_nel (const EasyDbus_container *);
00251 
00252 #endif
00253 // vim: ts=3 shiftwidth=3 expandtab

Generated on Thu Apr 10 10:00:18 2008 for EasyDbus-0.2 by  doxygen 1.5.4