]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - libs/profile/file.h
Merge branch 'master' into divVerent/farplanedist-sky-fix
[xonotic/netradiant.git] / libs / profile / file.h
index 3ec5f08238e6ba750970244ccabd589308ec5f56..c4cdc149003be5324a706e1d6b9b75ae6aaa51c4 100644 (file)
@@ -1,75 +1,75 @@
 /*
-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
 ////////////////////////////////////////////////////
 
-#if !defined(INCLUDED_PROFILE_FILE_H)
+#if !defined( INCLUDED_PROFILE_FILE_H )
 #define INCLUDED_PROFILE_FILE_H
 
 #include "idatastream.h"
 
 /*!
-API for data streams
+   API for data streams
 
-Based on an initial implementation by Loki software
-modified to be abstracted and shared across modules
+   Based on an initial implementation by Loki software
+   modified to be abstracted and shared across modules
 
-NOTE: why IDataStream and not IStream? because IStream is defined in windows IDL headers
-*/
+   NOTE: why IDataStream and not IStream? because IStream is defined in windows IDL headers
+ */
 
 class IDataStream : public InputStream, public OutputStream
 {
-public:  
-  typedef int offset_type;
-  typedef std::size_t position_type;
+public:
+typedef int offset_type;
+typedef std::size_t position_type;
 
-  virtual void IncRef() = 0;  ///< Increment the number of references to this object
-  virtual void DecRef() = 0; ///< Decrement the reference count
+virtual void IncRef() = 0;    ///< Increment the number of references to this object
+virtual void DecRef() = 0;   ///< Decrement the reference count
 
-  virtual position_type GetPosition() const = 0;
-  virtual int Seek(offset_type lOff, int nFrom) = 0;
+virtual position_type GetPosition() const = 0;
+virtual int Seek( offset_type lOff, int nFrom ) = 0;
 
-  virtual void SetLength(size_type nNewLen) = 0;
-  virtual size_type GetLength() const = 0;
+virtual void SetLength( size_type nNewLen ) = 0;
+virtual size_type GetLength() const = 0;
 
-  virtual char* ReadString(char* pBuf, size_type nMax) = 0;
-  virtual int GetChar()=0;
+virtual char* ReadString( char* pBuf, size_type nMax ) = 0;
+virtual int GetChar() = 0;
 
-  virtual int PutChar(int c)=0;
-  virtual void printf(const char*, ...) = 0; ///< completely matches the usual printf behaviour
+virtual int PutChar( int c ) = 0;
+virtual void printf( const char*, ... ) = 0; ///< completely matches the usual printf behaviour
 
-  virtual void Abort() = 0;
-  virtual void Flush() = 0;
-  virtual void Close() = 0;
+virtual void Abort() = 0;
+virtual void Flush() = 0;
+virtual void Close() = 0;
 };
 
 #include <stdio.h>
@@ -77,82 +77,90 @@ public:
 class MemStream : public IDataStream
 {
 public:
-  MemStream();
-  MemStream(size_type nLen);
-  virtual ~MemStream();
-
-  int refCount;
-  void IncRef() { refCount++; }
-  void DecRef() { refCount--; if (refCount <= 0) delete this; }
+MemStream();
+MemStream( size_type nLen );
+virtual ~MemStream();
+
+int refCount;
+void IncRef() { refCount++; }
+void DecRef() {
+       refCount--; if ( refCount <= 0 ) {
+               delete this;
+       }
+}
 
 protected:
-  // MemFile specific:
-  size_type m_nGrowBytes;
-  size_type m_nPosition;
-  size_type m_nBufferSize;
-  size_type m_nFileSize;
-  unsigned char* m_pBuffer;
-  bool m_bAutoDelete;
-  void GrowFile(size_type nNewLen);
+// MemFile specific:
+size_type m_nGrowBytes;
+size_type m_nPosition;
+size_type m_nBufferSize;
+size_type m_nFileSize;
+unsigned char* m_pBuffer;
+bool m_bAutoDelete;
+void GrowFile( size_type nNewLen );
 
 public:
-  position_type GetPosition() const;
-  int Seek(offset_type lOff, int nFrom);
-  void SetLength(size_type nNewLen);
-  size_type GetLength() const;
+position_type GetPosition() const;
+int Seek( offset_type lOff, int nFrom );
+void SetLength( size_type nNewLen );
+size_type GetLength() const;
 
-  unsigned char* GetBuffer() const
-    { return m_pBuffer; }
+unsigned char* GetBuffer() const
+{ return m_pBuffer; }
 
-  size_type read(byte_type* buffer, size_type length);
-  size_type write(const byte_type* buffer, size_type length);
+size_type read( byte_type* buffer, size_type length );
+size_type write( const byte_type* buffer, size_type length );
 
-  char* ReadString(char* pBuf, size_type nMax);
-  int GetChar();
+char* ReadString( char* pBuf, size_type nMax );
+int GetChar();
 
-  int PutChar(int c);
-  void printf(const char*, ...); ///< \todo implement on MemStream
+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);
+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:
-  position_type GetPosition() const;
-  int Seek(offset_type lOff, int nFrom);
-  void SetLength(size_type nNewLen);
-  size_type GetLength() const;
+position_type GetPosition() const;
+int Seek( offset_type lOff, int nFrom );
+void SetLength( size_type nNewLen );
+size_type GetLength() const;
 
-  size_type read(byte_type* buffer, size_type length);
-  size_type write(const byte_type* buffer, size_type length);
+size_type read( byte_type* buffer, size_type length );
+size_type write( const byte_type* buffer, size_type length );
 
-  char* ReadString(char* pBuf, size_type nMax);
-  int GetChar();
+char* ReadString( char* pBuf, size_type nMax );
+int GetChar();
 
-  int PutChar(int c);
-  void printf(const char*, ...); ///< completely matches the usual printf behaviour
+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);
+void Abort();
+void Flush();
+void Close();
+bool Open( const char *filename, const char *mode );
 };
 
 #endif