X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=radiant%2Ffile.h;h=d69f73bd92f048fe5ef4fa70fa2145cf56dae1f3;hb=686a211fc38285905245e537acf9d96e66b9675c;hp=03ec33fcead3d5ca0e15eca3f760edb1d9133800;hpb=5265d3cc1517566910718738ee6fa48e2466d3ea;p=xonotic%2Fnetradiant.git diff --git a/radiant/file.h b/radiant/file.h index 03ec33fc..d69f73bd 100644 --- a/radiant/file.h +++ b/radiant/file.h @@ -1,32 +1,32 @@ /* -Copyright (c) 2001, Loki software, inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list -of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this -list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -Neither the name of Loki software nor the names of its contributors may be used -to endorse or promote products derived from this software without specific prior -written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY -DIRECT,INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ + Copyright (c) 2001, Loki software, inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + + Neither the name of Loki software nor the names of its contributors may be used + to endorse or promote products derived from this software without specific prior + written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT,INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ // // file.h @@ -40,80 +40,88 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. class MemStream : public IDataStream { public: - MemStream(); - MemStream(unsigned long nLen); - virtual ~MemStream(); - - int refCount; - void IncRef() { refCount++; } - void DecRef() { refCount--; if (refCount <= 0) delete this; } +MemStream(); +MemStream( unsigned long nLen ); +virtual ~MemStream(); + +int refCount; +void IncRef() { refCount++; } +void DecRef() { + refCount--; if ( refCount <= 0 ) { + delete this; + } +} protected: - // MemFile specific: - unsigned long m_nGrowBytes; - unsigned long m_nPosition; - unsigned long m_nBufferSize; - unsigned long m_nFileSize; - unsigned char* m_pBuffer; - bool m_bAutoDelete; - void GrowFile(unsigned long nNewLen); +// MemFile specific: +unsigned long m_nGrowBytes; +unsigned long m_nPosition; +unsigned long m_nBufferSize; +unsigned long m_nFileSize; +unsigned char* m_pBuffer; +bool m_bAutoDelete; +void GrowFile( unsigned long nNewLen ); public: - unsigned long GetPosition() const; - unsigned long Seek(long lOff, int nFrom); - void SetLength(unsigned long nNewLen); - unsigned long GetLength() const; - - unsigned char* GetBuffer () const - { return m_pBuffer; } - - char* ReadString(char* pBuf, unsigned long nMax); - unsigned long Read(void* pBuf, unsigned long nCount); - unsigned long Write(const void* pBuf, unsigned long nCount); - int GetChar(); - int PutChar(int c); - - void printf(const char*, ...); ///< \todo implement on MemStream - - void Abort(); - void Flush(); - void Close(); - bool Open(const char *filename, const char *mode); +unsigned long GetPosition() const; +unsigned long Seek( long lOff, int nFrom ); +void SetLength( unsigned long nNewLen ); +unsigned long GetLength() const; + +unsigned char* GetBuffer() const +{ return m_pBuffer; } + +char* ReadString( char* pBuf, unsigned long nMax ); +unsigned long Read( void* pBuf, unsigned long nCount ); +unsigned long Write( const void* pBuf, unsigned long nCount ); +int GetChar(); +int PutChar( int c ); + +void printf( const char*, ... ); ///< \todo implement on MemStream + +void Abort(); +void Flush(); +void Close(); +bool Open( const char *filename, const char *mode ); }; class FileStream : public IDataStream { public: - FileStream(); - virtual ~FileStream(); +FileStream(); +virtual ~FileStream(); - int refCount; - void IncRef() { refCount++; } - void DecRef() { refCount--; if (refCount <= 0) delete this; } +int refCount; +void IncRef() { refCount++; } +void DecRef() { + refCount--; if ( refCount <= 0 ) { + delete this; + } +} protected: - // DiscFile specific: - FILE* m_hFile; - bool m_bCloseOnDelete; +// DiscFile specific: +FILE* m_hFile; +bool m_bCloseOnDelete; public: - unsigned long GetPosition() const; - unsigned long Seek(long lOff, int nFrom); - void SetLength(unsigned long nNewLen); - unsigned long GetLength() const; - - char* ReadString(char* pBuf, unsigned long nMax); - unsigned long Read(void* pBuf, unsigned long nCount); - unsigned long Write(const void* pBuf, unsigned long nCount); - int GetChar(); - int PutChar(int c); - - void printf(const char*, ...); ///< completely matches the usual printf behaviour - - void Abort(); - void Flush(); - void Close(); - bool Open(const char *filename, const char *mode); +unsigned long GetPosition() const; +unsigned long Seek( long lOff, int nFrom ); +void SetLength( unsigned long nNewLen ); +unsigned long GetLength() const; + +char* ReadString( char* pBuf, unsigned long nMax ); +unsigned long Read( void* pBuf, unsigned long nCount ); +unsigned long Write( const void* pBuf, unsigned long nCount ); +int GetChar(); +int PutChar( int c ); + +void printf( const char*, ... ); ///< completely matches the usual printf behaviour + +void Abort(); +void Flush(); +void Close(); +bool Open( const char *filename, const char *mode ); }; #endif // _FILE_H_