source: liacs/MIR2010/SourceCode/cximage/xfile.h@ 234

Last change on this file since 234 was 95, checked in by Rick van der Zwet, 15 years ago

Bad boy, improper move of directory

File size: 2.8 KB
RevLine 
[95]1/*
2 * File: xfile.h
3 * Purpose: General Purpose File Class
4 */
5/*
6 --------------------------------------------------------------------------------
7
8 COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
9
10 CxFile (c) 11/May/2002 Davide Pizzolato - www.xdp.it
11 CxFile version 2.00 23/Aug/2002
12 CxFile version 2.10 16/Dec/2007
13
14 Special thanks to Chris Shearer Cooper for new features, enhancements and bugfixes
15
16 Covered code is provided under this license on an "as is" basis, without warranty
17 of any kind, either expressed or implied, including, without limitation, warranties
18 that the covered code is free of defects, merchantable, fit for a particular purpose
19 or non-infringing. The entire risk as to the quality and performance of the covered
20 code is with you. Should any covered code prove defective in any respect, you (not
21 the initial developer or any other contributor) assume the cost of any necessary
22 servicing, repair or correction. This disclaimer of warranty constitutes an essential
23 part of this license. No use of any covered code is authorized hereunder except under
24 this disclaimer.
25
26 Permission is hereby granted to use, copy, modify, and distribute this
27 source code, or portions hereof, for any purpose, including commercial applications,
28 freely and without fee, subject to the following restrictions:
29
30 1. The origin of this software must not be misrepresented; you must not
31 claim that you wrote the original software. If you use this software
32 in a product, an acknowledgment in the product documentation would be
33 appreciated but is not required.
34
35 2. Altered source versions must be plainly marked as such, and must not be
36 misrepresented as being the original software.
37
38 3. This notice may not be removed or altered from any source distribution.
39 --------------------------------------------------------------------------------
40 */
41#if !defined(__xfile_h)
42#define __xfile_h
43
44#if defined (WIN32) || defined (_WIN32_WCE)
45 #include <windows.h>
46#endif
47
48#include <stdio.h>
49#include <stdlib.h>
50
51#include "ximadef.h"
52
53class DLL_EXP CxFile
54{
55public:
56 CxFile(void) { };
57 virtual ~CxFile() { };
58
59 virtual bool Close() = 0;
60 virtual size_t Read(void *buffer, size_t size, size_t count) = 0;
61 virtual size_t Write(const void *buffer, size_t size, size_t count) = 0;
62 virtual bool Seek(long offset, int origin) = 0;
63 virtual long Tell() = 0;
64 virtual long Size() = 0;
65 virtual bool Flush() = 0;
66 virtual bool Eof() = 0;
67 virtual long Error() = 0;
68 virtual bool PutC(unsigned char c)
69 {
70 // Default implementation
71 size_t nWrote = Write(&c, 1, 1);
72 return (bool)(nWrote == 1);
73 }
74 virtual long GetC() = 0;
75 virtual char * GetS(char *string, int n) = 0;
76 virtual long Scanf(const char *format, void* output) = 0;
77};
78
79#endif //__xfile_h
Note: See TracBrowser for help on using the repository browser.