home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ool.zip / OOL / include / xfile.h < prev    next >
Text File  |  1997-03-09  |  3KB  |  60 lines

  1. #ifndef __OOL_XFILE_H__
  2. #define __OOL_XFILE_H__
  3.  
  4. /*===========================================================================*/
  5. /* OOL ------------------- the Open Object Library ------------- OS/2 Beta 1 */
  6. /*===========================================================================*/
  7. /*                              class: XFile                                 */
  8. /*                       derived from: XIO                                   */
  9. /*                        last update: 9/96                                  */
  10. /*                      programmed by: Stefan von Brauk (sbrauk@gwdg.de)     */
  11. /*===========================================================================*/
  12.  
  13. #include "xio.h"
  14.  
  15.  
  16. #ifdef OOL_FOR_OS2_X86
  17.    //modeForOpen, can be or-ed
  18.    #define XFILE_FAIL_IF_NEW             OPEN_ACTION_FAIL_IF_NEW
  19.    #define XFILE_CREATE_IF_NEW           OPEN_ACTION_CREATE_IF_NEW
  20.    #define XFILE_REPLACE_EXISTING        OPEN_ACTION_REPLACE_IF_EXISTS
  21.    #define XFILE_OPEN_EXISTING           OPEN_ACTION_OPEN_IF_EXISTS
  22.    #define XFILE_FAIL_EXISTING           OPEN_ACTION_FAIL_IF_EXISTS
  23.  
  24.    //modeForAccess, can be or-ed
  25.    #define XFILE_SHARE_DENYREAD          OPEN_SHARE_DENYREAD
  26.    #define XFILE_SHARE_DENYWRITE         OPEN_SHARE_DENYWRITE
  27.    #define XFILE_SHARE_DENYREADWRITE     OPEN_SHARE_DENYREADWRITE
  28.    #define XFILE_SHARE_DENYNONE          OPEN_SHARE_DENYNONE
  29.    #define XFILE_READONLY                OPEN_ACCESS_READONLY
  30.    #define XFILE_WRITEONLY               OPEN_ACCESS_WRITEONLY
  31.    #define XFILE_READWRITE               OPEN_ACCESS_READWRITE
  32.  
  33. #endif
  34.  
  35. class XFileInfo;
  36.  
  37.  
  38. class _export_ XFile: public XIO
  39. {
  40.    public:
  41.       XFile() { };
  42.       ~XFile( ) { if(handle) Close(); }
  43.       static ULONG Copy( const char* from, const char * to) { return DosCopy( (PSZ) from, (PSZ) to, 0); }
  44.       static ULONG CreateDirectory( const char * path);
  45.       static ULONG DeleteDirectory( const char * path);
  46.       static BOOL IsDriveAvaible( const char );
  47.       static ULONG Move( const char* from, const char * to) { return DosMove( (PSZ) from, (PSZ) to); }
  48.       ULONG Open( const char * filename, const ULONG modeForOpen = OPEN_ACTION_FAIL_IF_NEW|OPEN_ACTION_OPEN_IF_EXISTS, const ULONG modeForAcces = XFILE_READWRITE | XFILE_SHARE_DENYREADWRITE, const ULONG size=0, const EAOP2 * ealist=NULL);
  49.       static void GetCurrentDirectory( XString * buffer);
  50.       static void GetCurrentDisk( char& buffer);
  51.       LONG GetFileInfo( XFileInfo *);
  52.       static BOOL Remove( const char* path) { return DosDelete((PSZ) path); }
  53.       LONG ResetBuffer( void ) const { return DosResetBuffer(handle); }
  54.       static BOOL SetCurrentDirectory( const char * path) { if( DosSetCurrentDir( (PSZ) path) != 0) return FALSE; else return TRUE; }
  55.       static BOOL SetDefaultDisk( const char );
  56. };
  57.  
  58.  
  59. #endif
  60.