00001 /****************************************************************************** 00002 * 00003 * $Id: filename.h,v 1.10 2001/03/19 19:27:40 root Exp $ 00004 * 00005 * Copyright (C) 1997-2008 by Dimitri van Heesch. 00006 * 00007 * Permission to use, copy, modify, and distribute this software and its 00008 * documentation under the terms of the GNU General Public License is hereby 00009 * granted. No representations are made about the suitability of this software 00010 * for any purpose. It is provided "as is" without express or implied warranty. 00011 * See the GNU General Public License for more details. 00012 * 00013 * Documents produced by Doxygen are derivative works derived from the 00014 * input used in their production; they are not affected by this license. 00015 * 00016 */ 00017 00018 #ifndef FILENAME_H 00019 #define FILENAME_H 00020 00021 #include "qtbc.h" 00022 #include <qdict.h> 00023 #include "filedef.h" 00024 00025 class FileName : public FileList 00026 { 00027 public: 00028 FileName(const char *fn,const char *name); 00029 ~FileName(); 00030 const char *fileName() const { return name; } 00031 const char *fullName() const { return fName; } 00032 void generateDiskNames(); 00033 int compareItems(GCI item1,GCI item2); 00034 00035 private: 00036 QCString name; 00037 QCString fName; 00038 }; 00039 00040 class FileNameIterator : public QListIterator<FileDef> 00041 { 00042 public: 00043 FileNameIterator(const FileName &list); 00044 }; 00045 00046 class FileNameList : public QList<FileName> 00047 { 00048 public: 00049 FileNameList(); 00050 ~FileNameList(); 00051 void generateDiskNames(); 00052 int compareItems(GCI item1,GCI item2); 00053 }; 00054 00055 class FileNameListIterator : public QListIterator<FileName> 00056 { 00057 public: 00058 FileNameListIterator( const FileNameList &list ); 00059 }; 00060 00061 class FileNameDict : public QDict<FileName> 00062 { 00063 public: 00064 FileNameDict(uint size) : 00065 QDict<FileName>(size,Config_getBool("CASE_SENSE_NAMES")) {} 00066 ~FileNameDict() {} 00067 }; 00068 00069 #endif