xfile.h
上传用户:gnaf34
上传日期:2022-04-22
资源大小:1657k
文件大小:2k
源码类别:

IP电话/视频会议

开发平台:

Visual C++

  1. /*
  2.  * File: xfile.h
  3.  * Purpose: General Purpose File Class 
  4.  */
  5. /* === C R E D I T S  &  D I S C L A I M E R S ==============
  6.  * Permission is given by the author to freely redistribute and include
  7.  * this code in any program as long as this credit is given where due.
  8.  *
  9.  * CxFile (c)  11/May/2002 <ing.davide.pizzolato@libero.it>
  10.  * CxFile version 2.00 23/Aug/2002
  11.  * See the file history.htm for the complete bugfix and news report.
  12.  *
  13.  * Special thanks to Chris Shearer Cooper for new features, enhancements and bugfixes
  14.  *
  15.  * COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY
  16.  * OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES
  17.  * THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE
  18.  * OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED
  19.  * CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT
  20.  * THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY
  21.  * SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL
  22.  * PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER
  23.  * THIS DISCLAIMER.
  24.  *
  25.  * Use at your own risk!
  26.  * ==========================================================
  27.  */
  28. #if !defined(__xfile_h)
  29. #define __xfile_h
  30. #ifdef WIN32
  31.  #include <windows.h>
  32. #endif
  33. #include <stdio.h>
  34. #include <stdlib.h>
  35. #include "ximadefs.h"
  36. class DLL_EXP CxFile
  37. {
  38. public:
  39. CxFile(void) { }
  40. virtual ~CxFile() { };
  41. virtual bool Close() = 0;
  42. virtual size_t Read(void *buffer, size_t size, size_t count) = 0;
  43. virtual size_t Write(const void *buffer, size_t size, size_t count) = 0;
  44. virtual bool Seek(long offset, int origin) = 0;
  45. virtual long Tell() = 0;
  46. virtual long Size() = 0;
  47. virtual bool Flush() = 0;
  48. virtual bool Eof() = 0;
  49. virtual long Error() = 0;
  50. virtual bool PutC(unsigned char c)
  51. {
  52. // Default implementation
  53. size_t nWrote = Write(&c, 1, 1);
  54. return (bool)(nWrote == 1);
  55. }
  56. virtual long GetC() = 0;
  57. };
  58. #endif //__xfile_h