DBus-C++
Desktop Communication Bus System
Summary
Download
Tracker
Mailing Lists
Wiki
libdbus-c++ Documentation
0.9.0
Files
Data Structures
Globals
Main Page
src
error.cpp
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
#ifdef HAVE_CONFIG_H
25
#include <config.h>
26
#endif
27
28
#include <
dbus-c++/message.h
>
29
#include <
dbus-c++/error.h
>
30
31
#include <dbus/dbus.h>
32
33
#include "
message_p.h
"
34
#include "
internalerror.h
"
35
36
using namespace
DBus;
37
38
/*
39
*/
40
41
Error::Error
()
42
: _int(new
InternalError
)
43
{}
44
45
Error::Error
(
InternalError
&i)
46
: _int(new
InternalError
(i))
47
{}
48
49
Error::Error
(
const
char
*name,
const
char
*message)
50
: _int(new
InternalError
)
51
{
52
set
(
name
,
message
);
53
}
54
55
Error::Error
(
Message
&m)
56
: _int(new
InternalError
)
57
{
58
dbus_set_error_from_message(&(
_int
->
error
), m.
_pvt
->msg);
59
}
60
61
Error::~Error
() throw()
62
{
63
}
64
65
const
char
*
Error::name
()
const
66
{
67
return
_int
->
error
.name;
68
}
69
70
const
char
*
Error::message
()
const
71
{
72
return
_int
->
error
.message;
73
}
74
75
bool
Error::is_set
()
const
76
{
77
return
*(
_int
);
78
}
79
80
void
Error::set
(
const
char
*name,
const
char
*message)
81
{
82
dbus_set_error_const(&(
_int
->
error
), name, message);
83
}
84
85
const
char
*
Error::what
()
const
throw()
86
{
87
return
_int
->
error
.message;
88
}
89