Code Search for Developers
 
 
  

MFile.h from palisma2d at Krugle


Show MFile.h syntax highlighted

/**
**************************************************************************************
*Palisma - Secrets of the Illuminati is an open-source 2D RPG                        *
*Copyright (C) 2006, Tony Sparks                                                     *
*                                                                                    *
*This library is free software; you can redistribute it and/or                       *
*modify it under the terms of the GNU Lesser General Public                          *
*License as published by the Free Software Foundation; either                        *
*version 2.1 of the License, or (at your option) any later version.                  *
*                                                                                    *
*This library 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                   *
*Lesser General Public License for more details.                                     *
*                                                                                    *
*You should have received a copy of the GNU Lesser General Public                    *
*License along with this library; if not, write to the Free Software                 *
*Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA      *
**************************************************************************************
*/
#pragma once

#include <string>
/**
===========================
Myriads File System
===========================
*/
class MFile
{
public:
    MFile(void);
    
    /** Open a file */
    bool Open( const std::string &filename );
    /** Open a file in a zipped Archive */
    bool OpenZippedFile( const std::string &filename );

    /** Get the name of the file opened */
    std::string FileName() { return m_name; };

    /** If the file is opened */
    bool Opened() { return m_opened; };

    /** Close the stream */
    void Close();

    /** Read the next line */
    std::string ReadLine();

    /** Read the next delimeter */
    std::string ReadNext( const std::string &delim , bool ignoreReturn = true, bool ignoreWhiteSpace = true, bool ignoreTab = true);

    /** Read the next number */
    double ReadDouble();

    /** Read the next int */
    int ReadInt();

    /** Peek at the next char in the stream */
    char Peek();

    /** End of File */
    bool IsEnd();

    /** Get position */
    int GetPosition() { return m_position; };
    /** Get Size */
    int Size() { return m_size; };

    /** Set Data */
    void SetData( char* buf, int size );

private:
    /** Get a single char */
    int Read();

    /** Read a number */
    std::string ReadNumber(bool decimal);
    // name of the file
    std::string m_name;

    // data
    char* m_data;
    // size of file
    int     m_size;
    // position in the file
    int m_position;

    // if the file is opened
    bool    m_opened;
public:
    virtual ~MFile(void);
};




See more files for this project here

palisma2d

The University of Wisconsin-Parkside Developers Union first product. More info to come. Code name Palisma.

Project homepage: http://code.google.com/p/palisma2d/
Programming language(s): C,C++
License: gpl2

  EntDict.cpp
  EntDict.h
  Error.cpp
  Error.h
  MFile.cpp
  MFile.h
  Parser.cpp
  Parser.h
  QuadTree.cpp
  QuadTree.h
  ReadMe.txt
  StringUtil.cpp
  StringUtil.h
  Vector3f.cpp
  Vector3f.h
  color.h
  geom.h
  stdafx.cpp
  stdafx.h
  vector.h