13
0
livetrax/libs/glibmm2/gio/giomm/error.h
Paul Davis a73d15e989 switch glibmm/giomm to 2.18
git-svn-id: svn://localhost/ardour2/branches/3.0@5306 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-02 16:00:45 +00:00

118 lines
3.0 KiB
C++

// -*- c++ -*-
// Generated by gtkmmproc -- DO NOT MODIFY!
#ifndef _GIOMM_ERROR_H
#define _GIOMM_ERROR_H
#include <glibmm.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 Library General Public
* License as published by the Free Software Foundation; either
* version 2 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library 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/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:
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
};
Error(Code error_code, const Glib::ustring& error_message);
explicit Error(GError* gobject);
Code code() const;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
private:
#ifdef GLIBMM_EXCEPTIONS_ENABLED
static void throw_func(GError* gobject);
#else
//When not using exceptions, we just pass the Exception object around without throwing it:
static std::auto_ptr<Glib::Error> throw_func(GError* gobject);
#endif //GLIBMM_EXCEPTIONS_ENABLED
friend void wrap_init(); // uses throw_func()
#endif
};
} // 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 */