DBus-C++
Desktop Communication Bus System
Summary
Download
Tracker
Mailing Lists
Wiki
libdbus-c++ Documentation
0.9.0
Files
Data Structures
Globals
Main Page
include
dbus-c++
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