X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fphysfs%2Fphysfs_stream.hpp;h=e5f727603e5e4bb4108ab5103ba97235db5f742d;hb=1cda2772a8bd261ef8746e13e10d5d8abbe741d6;hp=6a090e45f4ea38a537e433778e15dfd6c342703c;hpb=6de12dea8edcf2d684f8540bd603990f9a536d07;p=supertux.git diff --git a/src/physfs/physfs_stream.hpp b/src/physfs/physfs_stream.hpp index 6a090e45f..e5f727603 100644 --- a/src/physfs/physfs_stream.hpp +++ b/src/physfs/physfs_stream.hpp @@ -1,28 +1,24 @@ -/* -Copyright (C) 2004 by 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 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -#ifndef __PHYSFSSTREAM_HPP__ -#define __PHYSFSSTREAM_HPP__ +// 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 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 +// 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, see . + +#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 @@ -30,48 +26,57 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 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 +/* EOF */