ofdbus/dbus-glib/dbus/dbus-gidl.h
changeset 0 e4d67989cc36
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ofdbus/dbus-glib/dbus/dbus-gidl.h	Tue Feb 02 02:01:42 2010 +0200
@@ -0,0 +1,158 @@
+/* -*- mode: C; c-file-style: "gnu" -*- */
+/* dbus-gidl.h data structure describing an interface, to be generated from IDL
+ *             or something
+ *
+ * Copyright (C) 2003  Red Hat, Inc.
+ *
+ * Licensed under the Academic Free License version 2.1
+ * 
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+#ifndef DBUS_GLIB_IDL_H
+#define DBUS_GLIB_IDL_H
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+#include <dbus/dbus.h>
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+typedef struct BaseInfo      BaseInfo;
+typedef struct NodeInfo      NodeInfo;
+typedef struct InterfaceInfo InterfaceInfo;
+typedef struct MethodInfo    MethodInfo;
+typedef struct SignalInfo    SignalInfo;
+typedef struct PropertyInfo  PropertyInfo;
+typedef struct ArgInfo       ArgInfo;
+
+typedef enum
+{
+  ARG_INVALID = -1,
+  ARG_IN,
+  ARG_OUT
+} ArgDirection;
+
+typedef enum
+{
+  PROPERTY_READ  = 1 << 0,
+  PROPERTY_WRITE = 1 << 1
+} PropertyAccessFlags;
+
+typedef enum
+{
+  INFO_TYPE_NODE,
+  INFO_TYPE_INTERFACE,
+  INFO_TYPE_METHOD,
+  INFO_TYPE_SIGNAL,
+  INFO_TYPE_ARG,
+  INFO_TYPE_PROPERTY
+
+} InfoType;
+
+BaseInfo*      base_info_ref              (BaseInfo      *info);
+void           base_info_unref            (BaseInfo      *info);
+InfoType       base_info_get_type         (BaseInfo      *info);
+const char*    base_info_get_name         (BaseInfo      *info);
+void           base_info_set_name         (BaseInfo      *info,
+                                           const char    *name);
+GType          base_info_get_gtype        (void);
+#define        BASE_INFO_TYPE             (base_info_get_gtype ())
+
+
+NodeInfo*           node_info_new                 (const char          *name);
+NodeInfo*           node_info_ref                 (NodeInfo            *info);
+void                node_info_unref               (NodeInfo            *info);
+const char*         node_info_get_name            (NodeInfo            *info);
+GSList*             node_info_get_interfaces      (NodeInfo            *info);
+GSList*             node_info_get_nodes           (NodeInfo            *info);
+void                node_info_add_interface       (NodeInfo            *info,
+                                                   InterfaceInfo       *interface);
+void                node_info_add_node            (NodeInfo            *info,
+                                                   NodeInfo            *child);
+void                node_info_replace_node        (NodeInfo            *info,
+                                                   NodeInfo            *old_child,
+                                                   NodeInfo            *new_child);
+InterfaceInfo*      interface_info_new            (const char          *name);
+InterfaceInfo*      interface_info_ref            (InterfaceInfo       *info);
+void                interface_info_unref          (InterfaceInfo       *info);
+const char*         interface_info_get_name       (InterfaceInfo       *info);
+GSList*             interface_info_get_annotations(InterfaceInfo       *info);
+const char*         interface_info_get_annotation (InterfaceInfo*info,
+						   const char         *annotation);
+GSList*             interface_info_get_methods    (InterfaceInfo       *info);
+GSList*             interface_info_get_signals    (InterfaceInfo       *info);
+GSList*             interface_info_get_properties (InterfaceInfo       *info);
+void                interface_info_add_annotation (InterfaceInfo      *info,
+						   const char         *name,
+						   const char         *value);
+void                interface_info_add_method     (InterfaceInfo       *info,
+                                                   MethodInfo          *method);
+void                interface_info_add_signal     (InterfaceInfo       *info,
+                                                   SignalInfo          *signal);
+void                interface_info_add_property   (InterfaceInfo       *info,
+                                                   PropertyInfo        *property);
+MethodInfo*         method_info_new               (const char          *name); 
+MethodInfo*         method_info_ref               (MethodInfo          *info);
+void                method_info_unref             (MethodInfo          *info);
+const char*         method_info_get_name          (MethodInfo          *info);
+GSList*             method_info_get_annotations   (MethodInfo          *info);
+const char*         method_info_get_annotation    (MethodInfo          *info,
+						   const char          *annotation);
+void                method_info_add_annotation    (MethodInfo          *info,
+						   const char          *name,
+						   const char          *value);
+GSList*             method_info_get_args          (MethodInfo          *info);
+void                method_info_add_arg           (MethodInfo          *info,
+                                                   ArgInfo             *arg);
+int                 method_info_get_n_args        (MethodInfo          *info);
+SignalInfo*         signal_info_new               (const char          *name);
+SignalInfo*         signal_info_ref               (SignalInfo          *info);
+void                signal_info_unref             (SignalInfo          *info);
+const char*         signal_info_get_name          (SignalInfo          *info);
+GSList*             signal_info_get_args          (SignalInfo          *info);
+void                signal_info_add_arg           (SignalInfo          *info,
+                                                   ArgInfo             *arg);
+int                 signal_info_get_n_args        (SignalInfo          *info);
+PropertyInfo*       property_info_new             (const char          *name,
+                                                   const char          *type,
+                                                   PropertyAccessFlags  access);
+PropertyInfo*       property_info_ref             (PropertyInfo        *info);
+void                property_info_unref           (PropertyInfo        *info);
+const char*         property_info_get_name        (PropertyInfo        *info);
+const char*         property_info_get_type        (PropertyInfo        *info);
+PropertyAccessFlags property_info_get_access      (PropertyInfo        *info);
+ArgInfo*            arg_info_new                  (const char          *name,
+                                                   ArgDirection         direction,
+                                                   const char          *type);
+ArgInfo*            arg_info_ref                  (ArgInfo             *info);
+void                arg_info_unref                (ArgInfo             *info);
+const char*         arg_info_get_name             (ArgInfo             *info);
+const char*         arg_info_get_type             (ArgInfo             *info);
+ArgDirection        arg_info_get_direction        (ArgInfo             *info);
+GSList*             arg_info_get_annotations      (ArgInfo             *info);
+const char*         arg_info_get_annotation       (ArgInfo             *info,
+						   const char          *annotation);
+void                arg_info_add_annotation       (ArgInfo             *info,
+						   const char          *name,
+						   const char          *value);
+
+
+G_END_DECLS
+
+#endif /* DBUS_GLIB_IDL_H */
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */