edelib  1.0
EdbusError.h
1 /*
2  * $Id: EdbusError.h 3385 2012-08-22 21:09:54Z karijes $
3  *
4  * D-BUS stuff
5  * Copyright (c) 2008 edelib authors
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public License
18  * along with this library. If not, see <http://www.gnu.org/licenses/>.
19  */
20 
21 #ifndef __EDELIB_EDBUSERROR_H__
22 #define __EDELIB_EDBUSERROR_H__
23 
24 #include "edelib-global.h"
25 
26 struct DBusError;
27 
28 EDELIB_NS_BEGIN
29 
59 };
60 
61 #ifndef SKIP_DOCS
62 struct EdbusErrorImpl;
63 #endif
64 
70 class EDELIB_API EdbusError {
71 private:
72  EdbusErrorImpl* impl;
73  void dispose(void);
74 public:
78  EdbusError();
79 
83  ~EdbusError();
84 
88  EdbusError(const DBusError* err);
89 
93  EdbusError(const EdbusError& other);
94 
98  EdbusError& operator=(const EdbusError& other);
99 
103  EdbusError(EdbusErrorType t, const char* msg);
104 
108  EdbusErrorType type(void) const;
109 
113  const char* name(void) const;
114 
118  const char* message(void) const;
119 
123  bool valid(void) const { return type() != EDBUS_ERROR_INVALID; }
124 };
125 
126 EDELIB_NS_END
127 #endif