Remove unused pbd/filesystem.h/cc
git-svn-id: svn://localhost/ardour2/branches/3.0@12906 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
@@ -1,68 +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.
|
||||
*/
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
#include <glib.h>
|
||||
#include <glib/gstdio.h>
|
||||
|
||||
#include <giomm/file.h>
|
||||
|
||||
#include <cerrno>
|
||||
#include <fstream>
|
||||
|
||||
#include <glibmm/fileutils.h>
|
||||
#include <glibmm/miscutils.h>
|
||||
|
||||
#include "pbd/filesystem.h"
|
||||
#include "pbd/error.h"
|
||||
#include "pbd/compose.h"
|
||||
#include "pbd/pathscanner.h"
|
||||
|
||||
#include "i18n.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
namespace PBD {
|
||||
|
||||
namespace sys {
|
||||
|
||||
path&
|
||||
path::operator/=(const path& rhs)
|
||||
{
|
||||
m_path = Glib::build_filename(m_path, rhs.m_path);
|
||||
return *this;
|
||||
}
|
||||
|
||||
path&
|
||||
path::operator/=(const string& rhs)
|
||||
{
|
||||
m_path = Glib::build_filename(m_path, rhs);
|
||||
return *this;
|
||||
}
|
||||
|
||||
path&
|
||||
path::operator/=(const char* rhs)
|
||||
{
|
||||
m_path = Glib::build_filename(m_path, rhs);
|
||||
return *this;
|
||||
}
|
||||
|
||||
} // namespace sys
|
||||
|
||||
} // namespace PBD
|
||||
@@ -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 <stdexcept>
|
||||
#include <string>
|
||||
|
||||
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
|
||||
@@ -78,7 +78,6 @@ def build(bld):
|
||||
enums.cc
|
||||
epa.cc
|
||||
error.cc
|
||||
filesystem.cc
|
||||
file_manager.cc
|
||||
file_utils.cc
|
||||
fpu.cc
|
||||
|
||||
Reference in New Issue
Block a user