os/ossrv/ofdbus/dbus-glib/dbus/dbus-gidl.h
changeset 0 bde4ae8d615e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/os/ossrv/ofdbus/dbus-glib/dbus/dbus-gidl.h	Fri Jun 15 03:10:57 2012 +0200
     1.3 @@ -0,0 +1,158 @@
     1.4 +/* -*- mode: C; c-file-style: "gnu" -*- */
     1.5 +/* dbus-gidl.h data structure describing an interface, to be generated from IDL
     1.6 + *             or something
     1.7 + *
     1.8 + * Copyright (C) 2003  Red Hat, Inc.
     1.9 + *
    1.10 + * Licensed under the Academic Free License version 2.1
    1.11 + * 
    1.12 + * This program is free software; you can redistribute it and/or modify
    1.13 + * it under the terms of the GNU General Public License as published by
    1.14 + * the Free Software Foundation; either version 2 of the License, or
    1.15 + * (at your option) any later version.
    1.16 + *
    1.17 + * This program is distributed in the hope that it will be useful,
    1.18 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    1.19 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    1.20 + * GNU General Public License for more details.
    1.21 + * 
    1.22 + * You should have received a copy of the GNU General Public License
    1.23 + * along with this program; if not, write to the Free Software
    1.24 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    1.25 + *
    1.26 + */
    1.27 +#ifndef DBUS_GLIB_IDL_H
    1.28 +#define DBUS_GLIB_IDL_H
    1.29 +
    1.30 +#ifndef DOXYGEN_SHOULD_SKIP_THIS
    1.31 +
    1.32 +#include <dbus/dbus.h>
    1.33 +#include <glib-object.h>
    1.34 +
    1.35 +G_BEGIN_DECLS
    1.36 +
    1.37 +typedef struct BaseInfo      BaseInfo;
    1.38 +typedef struct NodeInfo      NodeInfo;
    1.39 +typedef struct InterfaceInfo InterfaceInfo;
    1.40 +typedef struct MethodInfo    MethodInfo;
    1.41 +typedef struct SignalInfo    SignalInfo;
    1.42 +typedef struct PropertyInfo  PropertyInfo;
    1.43 +typedef struct ArgInfo       ArgInfo;
    1.44 +
    1.45 +typedef enum
    1.46 +{
    1.47 +  ARG_INVALID = -1,
    1.48 +  ARG_IN,
    1.49 +  ARG_OUT
    1.50 +} ArgDirection;
    1.51 +
    1.52 +typedef enum
    1.53 +{
    1.54 +  PROPERTY_READ  = 1 << 0,
    1.55 +  PROPERTY_WRITE = 1 << 1
    1.56 +} PropertyAccessFlags;
    1.57 +
    1.58 +typedef enum
    1.59 +{
    1.60 +  INFO_TYPE_NODE,
    1.61 +  INFO_TYPE_INTERFACE,
    1.62 +  INFO_TYPE_METHOD,
    1.63 +  INFO_TYPE_SIGNAL,
    1.64 +  INFO_TYPE_ARG,
    1.65 +  INFO_TYPE_PROPERTY
    1.66 +
    1.67 +} InfoType;
    1.68 +
    1.69 +BaseInfo*      base_info_ref              (BaseInfo      *info);
    1.70 +void           base_info_unref            (BaseInfo      *info);
    1.71 +InfoType       base_info_get_type         (BaseInfo      *info);
    1.72 +const char*    base_info_get_name         (BaseInfo      *info);
    1.73 +void           base_info_set_name         (BaseInfo      *info,
    1.74 +                                           const char    *name);
    1.75 +GType          base_info_get_gtype        (void);
    1.76 +#define        BASE_INFO_TYPE             (base_info_get_gtype ())
    1.77 +
    1.78 +
    1.79 +NodeInfo*           node_info_new                 (const char          *name);
    1.80 +NodeInfo*           node_info_ref                 (NodeInfo            *info);
    1.81 +void                node_info_unref               (NodeInfo            *info);
    1.82 +const char*         node_info_get_name            (NodeInfo            *info);
    1.83 +GSList*             node_info_get_interfaces      (NodeInfo            *info);
    1.84 +GSList*             node_info_get_nodes           (NodeInfo            *info);
    1.85 +void                node_info_add_interface       (NodeInfo            *info,
    1.86 +                                                   InterfaceInfo       *interface);
    1.87 +void                node_info_add_node            (NodeInfo            *info,
    1.88 +                                                   NodeInfo            *child);
    1.89 +void                node_info_replace_node        (NodeInfo            *info,
    1.90 +                                                   NodeInfo            *old_child,
    1.91 +                                                   NodeInfo            *new_child);
    1.92 +InterfaceInfo*      interface_info_new            (const char          *name);
    1.93 +InterfaceInfo*      interface_info_ref            (InterfaceInfo       *info);
    1.94 +void                interface_info_unref          (InterfaceInfo       *info);
    1.95 +const char*         interface_info_get_name       (InterfaceInfo       *info);
    1.96 +GSList*             interface_info_get_annotations(InterfaceInfo       *info);
    1.97 +const char*         interface_info_get_annotation (InterfaceInfo*info,
    1.98 +						   const char         *annotation);
    1.99 +GSList*             interface_info_get_methods    (InterfaceInfo       *info);
   1.100 +GSList*             interface_info_get_signals    (InterfaceInfo       *info);
   1.101 +GSList*             interface_info_get_properties (InterfaceInfo       *info);
   1.102 +void                interface_info_add_annotation (InterfaceInfo      *info,
   1.103 +						   const char         *name,
   1.104 +						   const char         *value);
   1.105 +void                interface_info_add_method     (InterfaceInfo       *info,
   1.106 +                                                   MethodInfo          *method);
   1.107 +void                interface_info_add_signal     (InterfaceInfo       *info,
   1.108 +                                                   SignalInfo          *signal);
   1.109 +void                interface_info_add_property   (InterfaceInfo       *info,
   1.110 +                                                   PropertyInfo        *property);
   1.111 +MethodInfo*         method_info_new               (const char          *name); 
   1.112 +MethodInfo*         method_info_ref               (MethodInfo          *info);
   1.113 +void                method_info_unref             (MethodInfo          *info);
   1.114 +const char*         method_info_get_name          (MethodInfo          *info);
   1.115 +GSList*             method_info_get_annotations   (MethodInfo          *info);
   1.116 +const char*         method_info_get_annotation    (MethodInfo          *info,
   1.117 +						   const char          *annotation);
   1.118 +void                method_info_add_annotation    (MethodInfo          *info,
   1.119 +						   const char          *name,
   1.120 +						   const char          *value);
   1.121 +GSList*             method_info_get_args          (MethodInfo          *info);
   1.122 +void                method_info_add_arg           (MethodInfo          *info,
   1.123 +                                                   ArgInfo             *arg);
   1.124 +int                 method_info_get_n_args        (MethodInfo          *info);
   1.125 +SignalInfo*         signal_info_new               (const char          *name);
   1.126 +SignalInfo*         signal_info_ref               (SignalInfo          *info);
   1.127 +void                signal_info_unref             (SignalInfo          *info);
   1.128 +const char*         signal_info_get_name          (SignalInfo          *info);
   1.129 +GSList*             signal_info_get_args          (SignalInfo          *info);
   1.130 +void                signal_info_add_arg           (SignalInfo          *info,
   1.131 +                                                   ArgInfo             *arg);
   1.132 +int                 signal_info_get_n_args        (SignalInfo          *info);
   1.133 +PropertyInfo*       property_info_new             (const char          *name,
   1.134 +                                                   const char          *type,
   1.135 +                                                   PropertyAccessFlags  access);
   1.136 +PropertyInfo*       property_info_ref             (PropertyInfo        *info);
   1.137 +void                property_info_unref           (PropertyInfo        *info);
   1.138 +const char*         property_info_get_name        (PropertyInfo        *info);
   1.139 +const char*         property_info_get_type        (PropertyInfo        *info);
   1.140 +PropertyAccessFlags property_info_get_access      (PropertyInfo        *info);
   1.141 +ArgInfo*            arg_info_new                  (const char          *name,
   1.142 +                                                   ArgDirection         direction,
   1.143 +                                                   const char          *type);
   1.144 +ArgInfo*            arg_info_ref                  (ArgInfo             *info);
   1.145 +void                arg_info_unref                (ArgInfo             *info);
   1.146 +const char*         arg_info_get_name             (ArgInfo             *info);
   1.147 +const char*         arg_info_get_type             (ArgInfo             *info);
   1.148 +ArgDirection        arg_info_get_direction        (ArgInfo             *info);
   1.149 +GSList*             arg_info_get_annotations      (ArgInfo             *info);
   1.150 +const char*         arg_info_get_annotation       (ArgInfo             *info,
   1.151 +						   const char          *annotation);
   1.152 +void                arg_info_add_annotation       (ArgInfo             *info,
   1.153 +						   const char          *name,
   1.154 +						   const char          *value);
   1.155 +
   1.156 +
   1.157 +G_END_DECLS
   1.158 +
   1.159 +#endif /* DBUS_GLIB_IDL_H */
   1.160 +
   1.161 +#endif /* DOXYGEN_SHOULD_SKIP_THIS */