home *** CD-ROM | disk | FTP | other *** search
- // StdFile.h: interface for the CStdFile class.
- //
- /*
- Copyright 2001 Anish Mistry. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- 2. 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.
-
- THIS SOFTWARE IS PROVIDED BY ANISH MISTRY ``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.
-
- The views and conclusions contained in the software and documentation are those
- of the authors and should not be interpreted as representing official policies,
- either expressed or implied, of Anish Mistry or AM Productions.
-
- * Variation of the FreeBSD License. http://www.freebsd.org/copyright/freebsd-license.html
- */
- //////////////////////////////////////////////////////////////////////
-
- #if !defined(AFX_STDFILE_H__44214218_8F1A_4792_8D4D_8147F50E168D__INCLUDED_)
- #define AFX_STDFILE_H__44214218_8F1A_4792_8D4D_8147F50E168D__INCLUDED_
-
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
-
- class CStdFile
- {
- public:
- unsigned long int GetPos();
- DWORD Seek(DWORD pos,DWORD start);
- DWORD GetLength();
- DWORD Write(const char *buffer, DWORD bytesToWrite);
- DWORD Read(char *buffer, DWORD bytesToRead);
- const char * GetFilePath();
- const char * GetFileName();
- static bool Rename(const char *source,const char *dest);
- CStdFile();
- virtual ~CStdFile();
- static bool Delete(const char *fileName);
- inline static int GetStringLength(register const char *str)
- {
- for(register unsigned int i = 0;str[i] != NULL;i++);
- return i;
- }
- bool Open(const char *filename,DWORD accessFlags, DWORD shareAccess, DWORD creationAttributes);
- DWORD WriteLine(const char *);
- DWORD ReadLine(char *bufferOut);
- bool Close();
-
- protected:
- void GetName(const char *fileString,char *fileBufferOut);
- DWORD currentFilePos;
- char path[MAX_PATH];
- char name[MAX_PATH];
- HANDLE fileHandle;
- };
-
- #endif // !defined(AFX_STDFILE_H__44214218_8F1A_4792_8D4D_8147F50E168D__INCLUDED_)
-