easydbus-object_internal.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:  easydbus-object_internal.h
00020  
00021   Description:  
00022  
00023   Version:  0.1
00024   Created:  11/03/07 18:56:00 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_OBJECT_INTERNAL_H
00032 #define EASYDBUS_OBJECT_INTERNAL_H
00033 
00041 struct easydbus_introspect_arg_info {
00043    char *name;
00045    unsigned char offset;
00047    char *signature;
00049    struct easydbus_introspect_arg_info *next;
00050 };
00051 
00059 struct EasyDbus_obj_method {
00061    char *name;
00063    easydbus_obj_method_callback_f method_callback;
00065    struct easydbus_introspect_arg_info *input_info;
00067    struct easydbus_introspect_arg_info *output_info;
00069    struct EasyDbus_obj_method *next;
00070 };
00071 
00077 struct EasyDbus_ext_signal {
00079    char *signal;
00081    char *path;
00083    char *interface;
00085    char *sender;
00087    char *destination;
00089    easydbus_ext_signal_callback_f signal_callback;
00091    struct EasyDbus_ext_signal *next;
00092 };
00093 
00105 struct EasyDbus_obj_signal {
00107    char *name;
00109    struct easydbus_introspect_arg_info *output_info;
00111    struct EasyDbus_obj_signal *next;
00112 };
00113 
00119 struct EasyDbus_obj_interface {
00121    char *name;
00123    int n_methods;
00125    int n_signals;
00127    struct EasyDbus_obj_signal *handled_signals;
00129    struct EasyDbus_obj_method *handled_methods;
00131    struct EasyDbus_obj_interface *next;
00132 };
00133 
00139 struct EasyDbus_object {
00141    char *path;
00143    void *user_data;
00145    int n_interfaces;
00147    struct EasyDbus_obj_interface *handled_interfaces;
00148 };
00149 
00150 
00151 #endif
00152 // vim: ts=3 shiftwidth=3 expandtab

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