/usr/include/giomm-2.4/giomm/error.h is in libglibmm-2.4-dev 2.50.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 | // Generated by gmmproc 2.50.0 -- DO NOT MODIFY!
#ifndef _GIOMM_ERROR_H
#define _GIOMM_ERROR_H
#include <glibmm/ustring.h>
#include <sigc++/sigc++.h>
// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
/* Copyright (C) 2007 The giomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <glibmm/error.h>
#include <glibmm/interface.h>
// There have been issues with other libraries defining HOST_NOT_FOUND (e.g.
// netdb.h). As a workaround, we added the alternate name HOST_WAS_NOT_FOUND.
// Portable code should not use HOST_NOT_FOUND. Undefining it here (and
// restoring it below) will allow programs to compile even if they include
// netdb.h. See Bug #529496
#ifdef HOST_NOT_FOUND
#define GIOMM_SAVED_HOST_NOT_FOUND HOST_NOT_FOUND
#undef HOST_NOT_FOUND
#endif // HOST_NOT_FOUND
namespace Gio
{
//Note that GIOErrorEnum is not named GIOError in gio because there is already a GIOError in glib,
//But we can have both Glib::Error and Gio::Error in C++.
/** %Exception class for giomm errors.
*/
class Error : public Glib::Error
{
public:
/** @var Code FAILED
* Generic error condition for when an operation fails
* and no more specific IOErrorEnum value is defined.
*
* @var Code NOT_FOUND
* File not found.
*
* @var Code EXISTS
* File already exists.
*
* @var Code IS_DIRECTORY
* File is a directory.
*
* @var Code NOT_DIRECTORY
* File is not a directory.
*
* @var Code NOT_EMPTY
* File is a directory that isn't empty.
*
* @var Code NOT_REGULAR_FILE
* File is not a regular file.
*
* @var Code NOT_SYMBOLIC_LINK
* File is not a symbolic link.
*
* @var Code NOT_MOUNTABLE_FILE
* File cannot be mounted.
*
* @var Code FILENAME_TOO_LONG
* Filename is too many characters.
*
* @var Code INVALID_FILENAME
* Filename is invalid or contains invalid characters.
*
* @var Code TOO_MANY_LINKS
* File contains too many symbolic links.
*
* @var Code NO_SPACE
* No space left on drive.
*
* @var Code INVALID_ARGUMENT
* Invalid argument.
*
* @var Code PERMISSION_DENIED
* Permission denied.
*
* @var Code NOT_SUPPORTED
* Operation (or one of its parameters) not supported.
*
* @var Code NOT_MOUNTED
* File isn't mounted.
*
* @var Code ALREADY_MOUNTED
* File is already mounted.
*
* @var Code CLOSED
* File was closed.
*
* @var Code CANCELLED
* Operation was cancelled. See Cancellable.
*
* @var Code PENDING
* Operations are still pending.
*
* @var Code READ_ONLY
* File is read only.
*
* @var Code CANT_CREATE_BACKUP
* Backup couldn't be created.
*
* @var Code WRONG_ETAG
* File's Entity Tag was incorrect.
*
* @var Code TIMED_OUT
* Operation timed out.
*
* @var Code WOULD_RECURSE
* Operation would be recursive.
*
* @var Code BUSY
* File is busy.
*
* @var Code WOULD_BLOCK
* Operation would block.
*
* @var Code HOST_NOT_FOUND
* Host couldn't be found (remote operations).
*
* @var Code WOULD_MERGE
* Operation would merge files.
*
* @var Code FAILED_HANDLED
* Operation failed and a helper program has
* already interacted with the user. Do not display any error dialog.
*
* @var Code TOO_MANY_OPEN_FILES
* The current process has too many files
* open and can't open any more. Duplicate descriptors do count toward
* this limit. @newin{2,20}
*
* @var Code NOT_INITIALIZED
* The object has not been initialized. @newin{2,22}
*
* @var Code ADDRESS_IN_USE
* The requested address is already in use. @newin{2,22}
*
* @var Code PARTIAL_INPUT
* Need more input to finish operation. @newin{2,24}
*
* @var Code INVALID_DATA
* The input data was invalid. @newin{2,24}
*
* @var Code DBUS_ERROR
* A remote object generated an error that
* doesn't correspond to a locally registered Error error
* domain. Use g_dbus_error_get_remote_error() to extract the D-Bus
* error name and g_dbus_error_strip_remote_error() to fix up the
* message so it matches what was received on the wire. @newin{2,26}
*
* @var Code HOST_UNREACHABLE
* Host unreachable. @newin{2,26}
*
* @var Code NETWORK_UNREACHABLE
* Network unreachable. @newin{2,26}
*
* @var Code CONNECTION_REFUSED
* Connection refused. @newin{2,26}
*
* @var Code PROXY_FAILED
* Connection to proxy server failed. @newin{2,26}
*
* @var Code PROXY_AUTH_FAILED
* Proxy authentication failed. @newin{2,26}
*
* @var Code PROXY_NEED_AUTH
* Proxy server needs authentication. @newin{2,26}
*
* @var Code PROXY_NOT_ALLOWED
* Proxy connection is not allowed by ruleset.
* @newin{2,26}
*
* @var Code BROKEN_PIPE
* Broken pipe. @newin{2,36}
*
* @var Code CONNECTION_CLOSED
* Connection closed by peer. Note that this
* is the same code as IO_ERROR_BROKEN_PIPE; before 2.44 some
* "connection closed" errors returned IO_ERROR_BROKEN_PIPE, but others
* returned IO_ERROR_FAILED. Now they should all return the same
* value, which has this more logical name. @newin{2,44}
*
* @var Code NOT_CONNECTED
* Transport endpoint is not connected. @newin{2,44}
*
* @var Code MESSAGE_TOO_LARGE
* Message too large. @newin{2,48}
*
* @enum Code
*
* %Error codes returned by GIO functions.
*
* Note that this domain may be extended in future GLib releases. In
* general, new error codes either only apply to new APIs, or else
* replace IO_ERROR_FAILED in cases that were not explicitly
* distinguished before. You should therefore avoid writing code like
*
* [C example ellipted]
* but should instead treat all unrecognized error codes the same as
* IO_ERROR_FAILED.
*/
enum Code
{
FAILED,
NOT_FOUND,
EXISTS,
IS_DIRECTORY,
NOT_DIRECTORY,
NOT_EMPTY,
NOT_REGULAR_FILE,
NOT_SYMBOLIC_LINK,
NOT_MOUNTABLE_FILE,
FILENAME_TOO_LONG,
INVALID_FILENAME,
TOO_MANY_LINKS,
NO_SPACE,
INVALID_ARGUMENT,
PERMISSION_DENIED,
NOT_SUPPORTED,
NOT_MOUNTED,
ALREADY_MOUNTED,
CLOSED,
CANCELLED,
PENDING,
READ_ONLY,
CANT_CREATE_BACKUP,
WRONG_ETAG,
TIMED_OUT,
WOULD_RECURSE,
BUSY,
WOULD_BLOCK,
HOST_NOT_FOUND,
HOST_WAS_NOT_FOUND = HOST_NOT_FOUND,
WOULD_MERGE,
FAILED_HANDLED,
TOO_MANY_OPEN_FILES,
NOT_INITIALIZED,
ADDRESS_IN_USE,
PARTIAL_INPUT,
INVALID_DATA,
DBUS_ERROR,
HOST_UNREACHABLE,
NETWORK_UNREACHABLE,
CONNECTION_REFUSED,
PROXY_FAILED,
PROXY_AUTH_FAILED,
PROXY_NEED_AUTH,
PROXY_NOT_ALLOWED,
BROKEN_PIPE,
CONNECTION_CLOSED = BROKEN_PIPE,
NOT_CONNECTED,
MESSAGE_TOO_LARGE
};
Error(Code error_code, const Glib::ustring& error_message);
explicit Error(GError* gobject);
Code code() const;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
private:
static void throw_func(GError* gobject);
friend void wrap_init(); // uses throw_func()
#endif //DOXYGEN_SHOULD_SKIP_THIS
};
class ResolverError : public Glib::Error
{
public:
/** @var Code NOT_FOUND
* The requested name/address/service was not
* found.
*
* @var Code TEMPORARY_FAILURE
* The requested information could not
* be looked up due to a network error or similar problem.
*
* @var Code INTERNAL
* Unknown error.
*
* @enum Code
*
* An error code used with RESOLVER_ERROR in a Error returned
* from a Resolver routine.
*
* @newin{2,22}
*/
enum Code
{
NOT_FOUND,
TEMPORARY_FAILURE,
INTERNAL
};
ResolverError(Code error_code, const Glib::ustring& error_message);
explicit ResolverError(GError* gobject);
Code code() const;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
private:
static void throw_func(GError* gobject);
friend void wrap_init(); // uses throw_func()
#endif //DOXYGEN_SHOULD_SKIP_THIS
};
class TlsError : public Glib::Error
{
public:
/** @var Code UNAVAILABLE
* No TLS provider is available.
*
* @var Code MISC
* Miscellaneous TLS error.
*
* @var Code BAD_CERTIFICATE
* A certificate could not be parsed.
*
* @var Code NOT_TLS
* The TLS handshake failed because the
* peer does not seem to be a TLS server.
*
* @var Code HANDSHAKE
* The TLS handshake failed because the
* peer's certificate was not acceptable.
*
* @var Code CERTIFICATE_REQUIRED
* The TLS handshake failed because
* the server requested a client-side certificate, but none was
* provided. See g_tls_connection_set_certificate().
*
* @var Code ENDOFFILE
* The TLS connection was closed without proper
* notice, which may indicate an attack. See
* g_tls_connection_set_require_close_notify().
*
* @enum Code
*
* An error code used with TLS_ERROR in a Error returned from a
* TLS-related routine.
*
* @newin{2,28}
*/
enum Code
{
UNAVAILABLE,
MISC,
BAD_CERTIFICATE,
NOT_TLS,
HANDSHAKE,
CERTIFICATE_REQUIRED,
ENDOFFILE
};
TlsError(Code error_code, const Glib::ustring& error_message);
explicit TlsError(GError* gobject);
Code code() const;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
private:
static void throw_func(GError* gobject);
friend void wrap_init(); // uses throw_func()
#endif //DOXYGEN_SHOULD_SKIP_THIS
};
} // namespace Gio
#ifdef GIOMM_SAVED_HOST_NOT_FOUND
// restore the previously-defined HOST_NOT_FOUND macro
#define HOST_NOT_FOUND GIOMM_SAVED_HOST_NOT_FOUND
#undef GIOMM_SAVED_HOST_NOT_FOUND
#endif // GIOMM_SAVED_HOST_NOT_FOUND
#endif /* _GIOMM_ERROR_H */
|