00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __DBUSXX_ERROR_H
00026 #define __DBUSXX_ERROR_H
00027
00028 #include "api.h"
00029 #include "util.h"
00030
00031 #include <exception>
00032
00033 namespace DBus {
00034
00035 class Message;
00036 class InternalError;
00037
00038 class DXXAPI Error : public std::exception
00039 {
00040 public:
00041
00042 Error();
00043
00044 Error(InternalError &);
00045
00046 Error(const char *name, const char *message);
00047
00048 Error(Message &);
00049
00050 ~Error() throw();
00051
00052 const char *what() const throw();
00053
00054 const char *name() const;
00055
00056 const char *message() const;
00057
00058 void set(const char *name, const char *message);
00059
00060
00061 bool is_set() const;
00062
00063 operator bool() const
00064 {
00065 return is_set();
00066 }
00067
00068 private:
00069
00070 RefPtrI<InternalError> _int;
00071 };
00072
00073 struct DXXAPI ErrorFailed : public Error
00074 {
00075 ErrorFailed(const char *message)
00076 : Error("org.freedesktop.DBus.Error.Failed", message)
00077 {}
00078 };
00079
00080 struct DXXAPI ErrorNoMemory : public Error
00081 {
00082 ErrorNoMemory(const char *message)
00083 : Error("org.freedesktop.DBus.Error.NoMemory", message)
00084 {}
00085 };
00086
00087 struct DXXAPI ErrorServiceUnknown : public Error
00088 {
00089 ErrorServiceUnknown(const char *message)
00090 : Error("org.freedesktop.DBus.Error.ServiceUnknown", message)
00091 {}
00092 };
00093
00094 struct DXXAPI ErrorNameHasNoOwner : public Error
00095 {
00096 ErrorNameHasNoOwner(const char *message)
00097 : Error("org.freedesktop.DBus.Error.NameHasNoOwner", message)
00098 {}
00099 };
00100
00101 struct DXXAPI ErrorNoReply : public Error
00102 {
00103 ErrorNoReply(const char *message)
00104 : Error("org.freedesktop.DBus.Error.NoReply", message)
00105 {}
00106 };
00107
00108 struct DXXAPI ErrorIOError : public Error
00109 {
00110 ErrorIOError(const char *message)
00111 : Error("org.freedesktop.DBus.Error.IOError", message)
00112 {}
00113 };
00114
00115 struct DXXAPI ErrorBadAddress : public Error
00116 {
00117 ErrorBadAddress(const char *message)
00118 : Error("org.freedesktop.DBus.Error.BadAddress", message)
00119 {}
00120 };
00121
00122 struct DXXAPI ErrorNotSupported : public Error
00123 {
00124 ErrorNotSupported(const char *message)
00125 : Error("org.freedesktop.DBus.Error.NotSupported", message)
00126 {}
00127 };
00128
00129 struct DXXAPI ErrorLimitsExceeded : public Error
00130 {
00131 ErrorLimitsExceeded(const char *message)
00132 : Error("org.freedesktop.DBus.Error.LimitsExceeded", message)
00133 {}
00134 };
00135
00136 struct DXXAPI ErrorAccessDenied : public Error
00137 {
00138 ErrorAccessDenied(const char *message)
00139 : Error("org.freedesktop.DBus.Error.AccessDenied", message)
00140 {}
00141 };
00142
00143 struct DXXAPI ErrorAuthFailed : public Error
00144 {
00145 ErrorAuthFailed(const char *message)
00146 : Error("org.freedesktop.DBus.Error.AuthFailed", message)
00147 {}
00148 };
00149
00150 struct DXXAPI ErrorNoServer : public Error
00151 {
00152 ErrorNoServer(const char *message)
00153 : Error("org.freedesktop.DBus.Error.NoServer", message)
00154 {}
00155 };
00156
00157 struct DXXAPI ErrorTimeout : public Error
00158 {
00159 ErrorTimeout(const char *message)
00160 : Error("org.freedesktop.DBus.Error.Timeout", message)
00161 {}
00162 };
00163
00164 struct DXXAPI ErrorNoNetwork : public Error
00165 {
00166 ErrorNoNetwork(const char *message)
00167 : Error("org.freedesktop.DBus.Error.NoNetwork", message)
00168 {}
00169 };
00170
00171 struct DXXAPI ErrorAddressInUse : public Error
00172 {
00173 ErrorAddressInUse(const char *message)
00174 : Error("org.freedesktop.DBus.Error.AddressInUse", message)
00175 {}
00176 };
00177
00178 struct DXXAPI ErrorDisconnected : public Error
00179 {
00180 ErrorDisconnected(const char *message)
00181 : Error("org.freedesktop.DBus.Error.Disconnected", message)
00182 {}
00183 };
00184
00185 struct DXXAPI ErrorInvalidArgs : public Error
00186 {
00187 ErrorInvalidArgs(const char *message)
00188 : Error("org.freedesktop.DBus.Error.InvalidArgs", message)
00189 {}
00190 };
00191
00192 struct DXXAPI ErrorFileNotFound : public Error
00193 {
00194 ErrorFileNotFound(const char *message)
00195 : Error("org.freedesktop.DBus.Error.FileNotFound", message)
00196 {}
00197 };
00198
00199 struct DXXAPI ErrorUnknownMethod : public Error
00200 {
00201 ErrorUnknownMethod(const char *message)
00202 : Error("org.freedesktop.DBus.Error.UnknownMethod", message)
00203 {}
00204 };
00205
00206 struct DXXAPI ErrorTimedOut : public Error
00207 {
00208 ErrorTimedOut(const char *message)
00209 : Error("org.freedesktop.DBus.Error.TimedOut", message)
00210 {}
00211 };
00212
00213 struct DXXAPI ErrorMatchRuleNotFound : public Error
00214 {
00215 ErrorMatchRuleNotFound(const char *message)
00216 : Error("org.freedesktop.DBus.Error.MatchRuleNotFound", message)
00217 {}
00218 };
00219
00220 struct DXXAPI ErrorMatchRuleInvalid : public Error
00221 {
00222 ErrorMatchRuleInvalid(const char *message)
00223 : Error("org.freedesktop.DBus.Error.MatchRuleInvalid", message)
00224 {}
00225 };
00226
00227 struct DXXAPI ErrorSpawnExecFailed : public Error
00228 {
00229 ErrorSpawnExecFailed(const char *message)
00230 : Error("org.freedesktop.DBus.Error.Spawn.ExecFailed", message)
00231 {}
00232 };
00233
00234 struct DXXAPI ErrorSpawnForkFailed : public Error
00235 {
00236 ErrorSpawnForkFailed(const char *message)
00237 : Error("org.freedesktop.DBus.Error.Spawn.ForkFailed", message)
00238 {}
00239 };
00240
00241 struct DXXAPI ErrorSpawnChildExited : public Error
00242 {
00243 ErrorSpawnChildExited(const char *message)
00244 : Error("org.freedesktop.DBus.Error.Spawn.ChildExited", message)
00245 {}
00246 };
00247
00248 struct DXXAPI ErrorSpawnChildSignaled : public Error
00249 {
00250 ErrorSpawnChildSignaled(const char *message)
00251 : Error("org.freedesktop.DBus.Error.Spawn.ChildSignaled", message)
00252 {}
00253 };
00254
00255 struct DXXAPI ErrorSpawnFailed : public Error
00256 {
00257 ErrorSpawnFailed(const char *message)
00258 : Error("org.freedesktop.DBus.Error.Spawn.Failed", message)
00259 {}
00260 };
00261
00262 struct DXXAPI ErrorInvalidSignature : public Error
00263 {
00264 ErrorInvalidSignature(const char *message)
00265 : Error("org.freedesktop.DBus.Error.InvalidSignature", message)
00266 {}
00267 };
00268
00269 struct DXXAPI ErrorUnixProcessIdUnknown : public Error
00270 {
00271 ErrorUnixProcessIdUnknown(const char *message)
00272 : Error("org.freedesktop.DBus.Error.UnixProcessIdUnknown", message)
00273 {}
00274 };
00275
00276 struct DXXAPI ErrorSELinuxSecurityContextUnknown : public Error
00277 {
00278 ErrorSELinuxSecurityContextUnknown(const char *message)
00279 : Error("org.freedesktop.DBus.Error.SELinuxSecurityContextUnknown", message)
00280 {}
00281 };
00282
00283 }
00284
00285 #endif//__DBUSXX_ERROR_H