From e85f11618cb4f242f3aab1bf75f713668a1c3237 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Sat, 23 Jun 2012 05:09:54 +0000 Subject: Remove unused pbd/filesystem.h/cc git-svn-id: svn://localhost/ardour2/branches/3.0@12906 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/pbd/pbd/filesystem.h | 110 ---------------------------------------------- 1 file changed, 110 deletions(-) delete mode 100644 libs/pbd/pbd/filesystem.h (limited to 'libs/pbd/pbd') diff --git a/libs/pbd/pbd/filesystem.h b/libs/pbd/pbd/filesystem.h deleted file mode 100644 index 17550807ff..0000000000 --- a/libs/pbd/pbd/filesystem.h +++ /dev/null @@ -1,110 +0,0 @@ -/* - Copyright (C) 2007 Tim Mayberry - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -/** - * @namespace PBD::sys - * - * The API in this file is intended to be as close as possible to the - * boost::filesystem API but implementing only the subset of it that is required - * by ardour using the glib/glibmm file utility functions in the implementation. - * - * More information about boost::filesystem and the TR2 proposal at - * - * http://www.boost.org/libs/filesystem/doc/tr2_proposal.html - * - * Hopefully the boost::filesystem API will pass TR2 review etc and become part - * of the C++ standard and this code can be removed, or we just end up using - * the boost filesystem library when it matures a bit more. - * - * My reasons for writing this thin wrapper instead of using glib directly or - * using boost::filesystem immediately are: - * - * - Using sys::path instead of strings and Glib::build_filename is more - * convenient, terse and forces correct platform agnostic path building. - * - * - Using boost::filesystem on windows would mean converting between any UTF-8 - * encoded strings(such as when selecting a file/directory in the gtk file - * chooser) and the native file encoding (UTF-16). It would take some time - * and testing to find out when this is required and the glib functions already - * do this if necessary. - * - * - Using exceptions to indicate errors is more likely to uncover situations - * where error conditions are being silently ignored(I've already encounted - * a few examples of this in the ardour code). - * - * - Many of the glib file utility functions are not wrapped by glibmm so this - * also provides what I think is a better API. - * - * - Using boost::filesystem directly means another library dependence and would - * require more testing on windows because of the character encoding issue. - * - * - The boost::filesystem API changes a bit as part of the TR2 review process etc. - */ - -#ifndef __filesystem_h__ -#define __filesystem_h__ - -#include -#include - -namespace PBD { - -namespace sys { - -class path -{ -public: - path() : m_path("") { } - path(const path & p) : m_path(p.m_path) { } - path(const std::string & s) : m_path(s) { } - path(const char* s) : m_path(s) { } - - path& operator=(const path& p) { m_path = p.m_path; return *this;} - path& operator=(const std::string& s) { m_path = s; return *this; } - path& operator=(const char* s) { m_path = s; return *this; } - - path& operator/=(const path& rhs); - path& operator/=(const std::string& s); - path& operator/=(const char* s); - - const std::string to_string() const { return m_path; } - -private: - - std::string m_path; -}; - -class filesystem_error : public std::runtime_error -{ - const int m_error_code; - -public: - explicit filesystem_error(const std::string & what, int error_code=0) - : std::runtime_error(what), m_error_code(error_code) { } - - int system_error() const { return m_error_code; } -}; - -inline path operator/ (const path& lhs, const path& rhs) -{ return path(lhs) /= rhs; } - -} // namespace sys - -} // namespace PBD - -#endif -- cgit v1.2.3