X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fphysfs%2Fphysfs_stream.hpp;h=e5f727603e5e4bb4108ab5103ba97235db5f742d;hb=1cda2772a8bd261ef8746e13e10d5d8abbe741d6;hp=d861236d869e86badbb38eabf90aef219c05a69a;hpb=99cf62c2d44b4555e9761f1c8f1b10cf880c33fb;p=supertux.git diff --git a/src/physfs/physfs_stream.hpp b/src/physfs/physfs_stream.hpp index d861236d8..e5f727603 100644 --- a/src/physfs/physfs_stream.hpp +++ b/src/physfs/physfs_stream.hpp @@ -1,12 +1,10 @@ -// $Id$ -// // SuperTux // Copyright (C) 2006 Matthias Braun // -// 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 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 3 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 @@ -14,23 +12,13 @@ // 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -#ifndef __PHYSFSSTREAM_HPP__ -#define __PHYSFSSTREAM_HPP__ - -#include +// along with this program. If not, see . -typedef Unison::VFS::istream IFileStream; -typedef Unison::VFS::ostream OFileStream; +#ifndef HEADER_SUPERTUX_PHYSFS_PHYSFS_STREAM_HPP +#define HEADER_SUPERTUX_PHYSFS_PHYSFS_STREAM_HPP -#if 0 -#include -#include -#include -#include #include +#include /** This class implements a C++ streambuf object for physfs files. * So that you can use normal istream operations on them @@ -38,48 +26,57 @@ typedef Unison::VFS::ostream OFileStream; class IFileStreambuf : public std::streambuf { public: - IFileStreambuf(const std::string& filename); - ~IFileStreambuf(); + IFileStreambuf(const std::string& filename); + ~IFileStreambuf(); protected: - virtual int underflow(); - virtual pos_type seekoff(off_type pos, std::ios_base::seekdir, - std::ios_base::openmode); - virtual pos_type seekpos(pos_type pos, std::ios_base::openmode); + virtual int underflow(); + virtual pos_type seekoff(off_type pos, std::ios_base::seekdir, + std::ios_base::openmode); + virtual pos_type seekpos(pos_type pos, std::ios_base::openmode); private: - PHYSFS_file* file; - char buf[1024]; + PHYSFS_file* file; + char buf[1024]; + +private: + IFileStreambuf(const IFileStreambuf&); + IFileStreambuf& operator=(const IFileStreambuf&); }; class OFileStreambuf : public std::streambuf { public: - OFileStreambuf(const std::string& filename); - ~OFileStreambuf(); + OFileStreambuf(const std::string& filename); + ~OFileStreambuf(); protected: - virtual int overflow(int c); - virtual int sync(); + virtual int overflow(int c); + virtual int sync(); + +private: + PHYSFS_file* file; + char buf[1024]; private: - PHYSFS_file* file; - char buf[1024]; + OFileStreambuf(const OFileStreambuf&); + OFileStreambuf& operator=(const OFileStreambuf&); }; class IFileStream : public std::istream { public: - IFileStream(const std::string& filename); - ~IFileStream(); + IFileStream(const std::string& filename); + ~IFileStream(); }; class OFileStream : public std::ostream { public: - OFileStream(const std::string& filename); - ~OFileStream(); + OFileStream(const std::string& filename); + ~OFileStream(); }; -#endif #endif + +/* EOF */