# DBus-C++

## Desktop Communication Bus System

libdbus-c-- Documentation 0.9.0

- Files
- Data Structures
- Globals
- Main Page

introspection.h
Go to the documentation of this file.
1/*
2 *
3 * D-Bus++ - C++ bindings for D-Bus
4 *
5 * Copyright (C) 2005-2007 Paolo Durante <shackan@gmail.com>
6 *
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 *
22 */
23
24
25#ifndef __DBUSXX_INTROSPECTION_H
26#define __DBUSXX_INTROSPECTION_H
27
28#include "api.h"
29#include "interface.h"
30
31 namespace DBus
32{
33
34 struct DXXAPI IntrospectedArgument
35{
36 const char *name;
37 const char *type;
38 const bool in;
39};
40
41 struct DXXAPI IntrospectedMethod
42{
43 const char *name;
44 const IntrospectedArgument *args;
45};
46
47 struct DXXAPI IntrospectedProperty
48{
49 const char *name;
50 const char *type;
51 const bool read;
52 const bool write;
53};
54
55 struct DXXAPI IntrospectedInterface
56{
57 const char *name;
58 const IntrospectedMethod *methods;
59 const IntrospectedMethod *signals;
60 const IntrospectedProperty *properties;
61};
62
63 class DXXAPI IntrospectableAdaptor : public InterfaceAdaptor
64{
65 public:
66
67 IntrospectableAdaptor();
68
69 Message Introspect(const CallMessage &);
70
71 protected:
72
73 IntrospectedInterface *introspect() const;
74};
75
76 class DXXAPI IntrospectableProxy : public InterfaceProxy
77{
78 public:
79
80 IntrospectableProxy();
81
82 std::string Introspect();
83};
84
85} /* namespace DBus */
86
87#endif//__DBUSXX_INTROSPECTION_H
api.h
DXXAPI
#define DXXAPI
Definition api.h:36
DBus::CallMessage
Definition message.h:269
DBus::InterfaceAdaptor::InterfaceAdaptor
InterfaceAdaptor(const std::string &name)
Definition interface.cpp:49
DBus::InterfaceProxy::InterfaceProxy
InterfaceProxy(const std::string &name)
Definition interface.cpp:123
DBus::IntrospectableAdaptor::IntrospectableAdaptor
IntrospectableAdaptor()
Definition introspection.cpp:40
DBus::IntrospectableAdaptor::Introspect
Message Introspect(const CallMessage &)
Definition introspection.cpp:46
DBus::IntrospectableAdaptor::introspect
IntrospectedInterface * introspect() const
Definition introspection.cpp:147
DBus::IntrospectableProxy::Introspect
std::string Introspect()
Definition introspection.cpp:181
DBus::IntrospectableProxy::IntrospectableProxy
IntrospectableProxy()
Definition introspection.cpp:177
DBus::Message
Definition message.h:159
interface.h
DBus
Definition connection_p.h:42
DBus::IntrospectedArgument
Definition introspection.h:35
DBus::IntrospectedArgument::in
const bool in
Definition introspection.h:38
DBus::IntrospectedArgument::name
const char * name
Definition introspection.h:36
DBus::IntrospectedArgument::type
const char * type
Definition introspection.h:37
DBus::IntrospectedInterface
Definition introspection.h:56
DBus::IntrospectedInterface::signals
const IntrospectedMethod * signals
Definition introspection.h:59
DBus::IntrospectedInterface::properties
const IntrospectedProperty * properties
Definition introspection.h:60
DBus::IntrospectedInterface::name
const char * name
Definition introspection.h:57
DBus::IntrospectedInterface::methods
const IntrospectedMethod * methods
Definition introspection.h:58
DBus::IntrospectedMethod
Definition introspection.h:42
DBus::IntrospectedMethod::args
const IntrospectedArgument * args
Definition introspection.h:44
DBus::IntrospectedMethod::name
const char * name
Definition introspection.h:43
DBus::IntrospectedProperty
Definition introspection.h:48
DBus::IntrospectedProperty::write
const bool write
Definition introspection.h:52
DBus::IntrospectedProperty::type
const char * type
Definition introspection.h:50
DBus::IntrospectedProperty::name
const char * name
Definition introspection.h:49
DBus::IntrospectedProperty::read
const bool read
Definition introspection.h:51