X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fphysfs%2Fphysfs_stream.hpp;h=e5f727603e5e4bb4108ab5103ba97235db5f742d;hb=1cda2772a8bd261ef8746e13e10d5d8abbe741d6;hp=077a8760b6e0bda2bdf2e3c003deefd9f616cc18;hpb=a113d3bd1feddd510e3b2852b0d42522735eee40;p=supertux.git diff --git a/src/physfs/physfs_stream.hpp b/src/physfs/physfs_stream.hpp index 077a8760b..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,17 +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. +// along with this program. If not, see . -#ifndef __PHYSFSSTREAM_HPP__ -#define __PHYSFSSTREAM_HPP__ +#ifndef HEADER_SUPERTUX_PHYSFS_PHYSFS_STREAM_HPP +#define HEADER_SUPERTUX_PHYSFS_PHYSFS_STREAM_HPP -#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 @@ -32,47 +26,57 @@ 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]; private: - PHYSFS_file* file; - char buf[1024]; + 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 + +/* EOF */