<!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-gidl.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-gidl.h</h1><div class="fragment"><pre>00001 <font class="comment">/* -*- mode: C; c-file-style: "gnu" -*- */</font> 00002 <font class="comment">/* dbus-gidl.h data structure describing an interface, to be generated from IDL</font> 00003 <font class="comment"> * or something</font> 00004 <font class="comment"> *</font> 00005 <font class="comment"> * Copyright (C) 2003 Red Hat, Inc.</font> 00006 <font class="comment"> *</font> 00007 <font class="comment"> * Licensed under the Academic Free License version 2.0</font> 00008 <font class="comment"> * </font> 00009 <font class="comment"> * This program is free software; you can redistribute it and/or modify</font> 00010 <font class="comment"> * it under the terms of the GNU General Public License as published by</font> 00011 <font class="comment"> * the Free Software Foundation; either version 2 of the License, or</font> 00012 <font class="comment"> * (at your option) any later version.</font> 00013 <font class="comment"> *</font> 00014 <font class="comment"> * This program is distributed in the hope that it will be useful,</font> 00015 <font class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</font> 00016 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</font> 00017 <font class="comment"> * GNU General Public License for more details.</font> 00018 <font class="comment"> * </font> 00019 <font class="comment"> * You should have received a copy of the GNU General Public License</font> 00020 <font class="comment"> * along with this program; if not, write to the Free Software</font> 00021 <font class="comment"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</font> 00022 <font class="comment"> *</font> 00023 <font class="comment"> */</font> 00024 <font class="preprocessor">#ifndef DBUS_GLIB_IDL_H</font> 00025 <font class="preprocessor"></font><font class="preprocessor">#define DBUS_GLIB_IDL_H</font> 00026 <font class="preprocessor"></font> 00027 <font class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</font> 00028 <font class="preprocessor"></font> 00029 <font class="preprocessor">#include <dbus/dbus.h></font> 00030 <font class="preprocessor">#include <glib-object.h></font> 00031 00032 G_BEGIN_DECLS 00033 00034 <font class="keyword">typedef</font> <font class="keyword">struct </font>BaseInfo BaseInfo; 00035 <font class="keyword">typedef</font> <font class="keyword">struct </font>NodeInfo NodeInfo; 00036 <font class="keyword">typedef</font> <font class="keyword">struct </font>InterfaceInfo InterfaceInfo; 00037 <font class="keyword">typedef</font> <font class="keyword">struct </font>MethodInfo MethodInfo; 00038 <font class="keyword">typedef</font> <font class="keyword">struct </font>SignalInfo SignalInfo; 00039 <font class="keyword">typedef</font> <font class="keyword">struct </font>ArgInfo ArgInfo; 00040 00041 <font class="keyword">typedef</font> <font class="keyword">enum</font> 00042 { 00043 ARG_IN, 00044 ARG_OUT 00045 } ArgDirection; 00046 00047 <font class="keyword">typedef</font> <font class="keyword">enum</font> 00048 { 00049 INFO_TYPE_NODE, 00050 INFO_TYPE_INTERFACE, 00051 INFO_TYPE_METHOD, 00052 INFO_TYPE_SIGNAL, 00053 INFO_TYPE_ARG 00054 00055 } InfoType; 00056 00057 BaseInfo* base_info_ref (BaseInfo *info); 00058 <font class="keywordtype">void</font> base_info_unref (BaseInfo *info); 00059 InfoType base_info_get_type (BaseInfo *info); 00060 <font class="keyword">const</font> <font class="keywordtype">char</font>* base_info_get_name (BaseInfo *info); 00061 <font class="keywordtype">void</font> base_info_set_name (BaseInfo *info, 00062 <font class="keyword">const</font> <font class="keywordtype">char</font> *name); 00063 GType base_info_get_gtype (<font class="keywordtype">void</font>); 00064 <font class="preprocessor">#define BASE_INFO_TYPE (base_info_get_gtype ())</font> 00065 <font class="preprocessor"></font> 00066 00067 NodeInfo* node_info_new (<font class="keyword">const</font> <font class="keywordtype">char</font> *name); 00068 NodeInfo* node_info_ref (NodeInfo *info); 00069 <font class="keywordtype">void</font> node_info_unref (NodeInfo *info); 00070 <font class="keyword">const</font> <font class="keywordtype">char</font>* node_info_get_name (NodeInfo *info); 00071 GSList* node_info_get_interfaces (NodeInfo *info); 00072 GSList* node_info_get_nodes (NodeInfo *info); 00073 <font class="keywordtype">void</font> node_info_add_interface (NodeInfo *info, 00074 InterfaceInfo *interface); 00075 <font class="keywordtype">void</font> node_info_add_node (NodeInfo *info, 00076 NodeInfo *child); 00077 00078 InterfaceInfo* interface_info_new (<font class="keyword">const</font> <font class="keywordtype">char</font> *name); 00079 InterfaceInfo* interface_info_ref (InterfaceInfo *info); 00080 <font class="keywordtype">void</font> interface_info_unref (InterfaceInfo *info); 00081 <font class="keyword">const</font> <font class="keywordtype">char</font>* interface_info_get_name (InterfaceInfo *info); 00082 GSList* interface_info_get_methods (InterfaceInfo *info); 00083 GSList* interface_info_get_signals (InterfaceInfo *info); 00084 <font class="keywordtype">void</font> interface_info_add_method (InterfaceInfo *info, 00085 MethodInfo *method); 00086 <font class="keywordtype">void</font> interface_info_add_signal (InterfaceInfo *info, 00087 SignalInfo *signal); 00088 00089 MethodInfo* method_info_new (<font class="keyword">const</font> <font class="keywordtype">char</font> *name); 00090 MethodInfo* method_info_ref (MethodInfo *info); 00091 <font class="keywordtype">void</font> method_info_unref (MethodInfo *info); 00092 00093 <font class="keyword">const</font> <font class="keywordtype">char</font>* method_info_get_name (MethodInfo *info); 00094 GSList* method_info_get_args (MethodInfo *info); 00095 <font class="keywordtype">void</font> method_info_add_arg (MethodInfo *info, 00096 ArgInfo *arg); 00097 00098 SignalInfo* signal_info_new (<font class="keyword">const</font> <font class="keywordtype">char</font> *name); 00099 SignalInfo* signal_info_ref (SignalInfo *info); 00100 <font class="keywordtype">void</font> signal_info_unref (SignalInfo *info); 00101 00102 <font class="keyword">const</font> <font class="keywordtype">char</font>* signal_info_get_name (SignalInfo *info); 00103 GSList* signal_info_get_args (SignalInfo *info); 00104 <font class="keywordtype">void</font> signal_info_add_arg (SignalInfo *info, 00105 ArgInfo *arg); 00106 00107 ArgInfo* arg_info_new (<font class="keyword">const</font> <font class="keywordtype">char</font> *name, 00108 ArgDirection direction, 00109 <font class="keywordtype">int</font> type); 00110 ArgInfo* arg_info_ref (ArgInfo *info); 00111 <font class="keywordtype">void</font> arg_info_unref (ArgInfo *info); 00112 <font class="keyword">const</font> <font class="keywordtype">char</font>* arg_info_get_name (ArgInfo *info); 00113 <font class="keywordtype">int</font> arg_info_get_type (ArgInfo *info); 00114 ArgDirection arg_info_get_direction (ArgInfo *info); 00115 00116 G_END_DECLS 00117 00118 <font class="preprocessor">#endif </font><font class="comment">/* DBUS_GLIB_IDL_H */</font> 00119 00120 <font class="preprocessor">#endif </font><font class="comment">/* DOXYGEN_SHOULD_SKIP_THIS */</font> </pre></div><hr><address align="right"><small>Generated on Wed Jun 9 05:01:25 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>