Main Page Class Hierarchy Compound List File List Compound Members File Members

FileName.h

Go to the documentation of this file.
00001 /*
00002 File: FileName.h
00003 
00004 Function: Provides a file spec + related ops.
00005 Assumed representation is path:file:extension.
00006 
00007 Author: Andrew Willmott, (c) 1996-1999
00008 */
00009 
00010 #ifndef __FileName__
00011 #define __FileName__
00012 
00013 #include "cl/String.h"
00014 #include "cl/Flags.h"
00015 #include <stdio.h>
00016 
00017  class FileName
00019 {
00020 public:
00021  FileName() : path(), name(), extension(), flags() {};
00022 
00023 FileName &SetPath(StrConst path);
00025 FileName &SetRelPath(StrConst path);
00032 String GetPath() const;
00034 
00035  StrConst GetFile() const
00037 { return(name); };
00038  StrConst GetExtension() const
00040 { return(extension); };
00041  StrConst GetDir() const
00043 { return(path); };
00044 
00045  FileName &SetFile(StrConst file)
00047 { name = file; return(SELF); };
00048  FileName &SetExtension(StrConst ext)
00050 { extension = ext; return(SELF); };
00051  FileName &SetDir(StrConst dir)
00053 { path = dir; return(SELF); };
00054 
00055 Void AddExtension(StrConst ext);
00058 Void RemoveExtension();
00062 Bool Exists() const; 
00063 Bool IsReadable() const; 
00064 Bool IsWritable() const; 
00065 Long GetTimeStamp() const; 
00066 
00067  FILE *FOpen(StrConst permissions) const
00069 { return(fopen(GetPath(), permissions)); };
00070 
00071 Int FindFileExtension(StrConst extensions[],
00072 Bool allowCompressed = true);
00075 FileName &MakeUnique();
00082 Int DecompressSetup();
00084 Void DecompressCleanup();
00086 Void AddCompExt();
00088 
00089  Flags32 flags; 
00090 
00091 protected:
00092  String path; 
00093  String name; 
00094  String extension; 
00095 };
00096 
00097 String TempPath();
00098 
00099  enum FN_Flags
00100 {
00101 FN_Gzipped = 0x0001,
00102 FN_Bz2ed = 0x0002,
00103 FN_Compress = 0x0004,
00104 
00105 FN_IsCompressed = 0x000F
00106 };
00107 
00108  enum FN_Err
00109 {
00110 kFileNotFound = -1,
00111 kBadExtension = -2
00112 };
00113 
00114 #endif

Generated at Sat Aug 5 00:16:32 2000 for Class Library by doxygen 1.1.0 written by Dimitri van Heesch, © 1997-2000

AltStyle によって変換されたページ (->オリジナル) /