X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fio%2Fsg_file.hxx;h=1bf3800de6fcfafd252556b878795982d175d5fa;hb=1f37095087fa7aa3d210ba134058b86c3bd6d69e;hp=f029763338d9e8fad576bd3b63552ba3e2b1baf9;hpb=7fc8c026884b2d0a1b683765c089a9bef5ac47c8;p=simgear.git diff --git a/simgear/io/sg_file.hxx b/simgear/io/sg_file.hxx index f0297633..1bf3800d 100644 --- a/simgear/io/sg_file.hxx +++ b/simgear/io/sg_file.hxx @@ -18,7 +18,7 @@ // // 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. +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // // $Id$ @@ -44,7 +44,7 @@ #include "iochannel.hxx" -SG_USING_STD(string); +using std::string; /** @@ -54,6 +54,11 @@ class SGFile : public SGIOChannel { string file_name; int fp; + bool eof_flag; + // Number of repetitions to play. -1 means loop infinitely. + const int repeat; + int iteration; // number of current repetition, + // starting at 0 public: @@ -63,8 +68,9 @@ public: * name. This file is not opened immediately, but instead will be * opened when the open() method is called. * @param file name of file to open + * @param repeat On eof restart at the beginning of the file */ - SGFile( const string& file ); + SGFile( const string& file, int repeat_ = 1 ); /** Destructor */ ~SGFile(); @@ -89,6 +95,9 @@ public: /** @return the name of the file being manipulated. */ inline string get_file_name() const { return file_name; } + + /** @return true of eof conditions exists */ + inline bool eof() const { return eof_flag; }; };