00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef EASYDBUS_OBJECT_H
00032 #define EASYDBUS_OBJECT_H
00033
00034 # ifdef __cplusplus
00035 extern "C" {
00036 # endif
00037
00038
00039 typedef struct easydbus_introspect_arg_info
00040 easydbus_introspect_arg_info;
00041 typedef struct EasyDbus_obj_method EasyDbus_obj_method;
00042 typedef struct EasyDbus_ext_signal EasyDbus_ext_signal;
00043 typedef struct EasyDbus_obj_interface EasyDbus_obj_interface;
00044 typedef struct EasyDbus_obj_signal EasyDbus_obj_signal;
00045 typedef struct EasyDbus_object EasyDbus_object;
00046
00047 typedef enum easydbus_ret_values
00048 (*easydbus_obj_method_callback_f) (EasyDbus_method *);
00049
00050 typedef enum easydbus_ret_values
00051 (*easydbus_ext_signal_callback_f) (EasyDbus_conn *,
00052 EasyDbus_signal *);
00053
00054
00055
00056 EasyDbus_obj_interface *
00057 easydbus_obj_interface_create_skeleton (char *);
00058
00059
00060 int
00061 easydbus_obj_interface_add_signal (EasyDbus_obj_interface *,
00062 EasyDbus_obj_signal *);
00063
00064
00065 int
00066 easydbus_obj_interface_add_method (EasyDbus_obj_interface *,
00067 EasyDbus_obj_method *);
00068
00069 EasyDbus_obj_method *
00070 easydbus_obj_interface_get_method (const char *, const char *,
00071 const EasyDbus_obj_interface *);
00072
00073
00074 void
00075 easydbus_obj_interface_free_skeleton (EasyDbus_obj_interface *);
00076
00077
00078 EasyDbus_object *
00079 easydbus_object_create_skeleton (char *, void *);
00080
00081
00082 int
00083 easydbus_object_add_interface (EasyDbus_obj_interface *,
00084 EasyDbus_object *);
00085
00086
00087 int
00088 easydbus_object_register (EasyDbus_conn *, EasyDbus_object *);
00089
00090
00091 void
00092 easydbus_object_free_skeleton (EasyDbus_object *);
00093
00094
00095 int
00096 easydbus_object_unregister (EasyDbus_conn *,
00097 EasyDbus_object *);
00098
00099 inline const char *
00100 easydbus_object_get_path (EasyDbus_object *);
00101
00102 inline int
00103 easydbus_object_get_n_interfaces (EasyDbus_object *);
00104
00105 EasyDbus_obj_interface *
00106 easydbus_object_get_interface (EasyDbus_object *,
00107 unsigned int);
00108
00109 inline void
00110 easydbus_object_set_closure (EasyDbus_object *,
00111 void *);
00112
00113 inline void *
00114 easydbus_object_get_closure (EasyDbus_object *);
00115
00116
00117 EasyDbus_obj_method *
00118 easydbus_obj_method_create (char *);
00119
00120 void
00121 easydbus_obj_method_free (EasyDbus_obj_method *);
00122
00123
00124
00125 int
00126 easydbus_obj_method_set_callback (EasyDbus_obj_method *,
00127 easydbus_obj_method_callback_f);
00128
00129
00130 EasyDbus_obj_signal *
00131 easydbus_obj_signal_create (char *);
00132
00133 void
00134 easydbus_obj_signal_free (EasyDbus_obj_signal *);
00135
00136
00137 EasyDbus_ext_signal *
00138 easydbus_ext_signal_create (char *, char *,
00139 char *, char *, char *,
00140 easydbus_ext_signal_callback_f);
00141
00142 void
00143 easydbus_ext_signal_free_skeleton (EasyDbus_ext_signal *);
00144
00145 int
00146 easydbus_ext_signal_add_to_service (EasyDbus_conn *,
00147 EasyDbus_ext_signal *);
00148
00149 inline int
00150 easydbus_conn_get_n_object (EasyDbus_conn *);
00151
00152 EasyDbus_object *
00153 easydbus_conn_get_object (EasyDbus_conn *,
00154 unsigned int);
00155
00156 # ifdef __cplusplus
00157 extern "C" {
00158 # endif
00159
00160 #endif
00161