00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Ondrej Kos 00008 * Side Effects Software Inc 00009 * 477 Richmond Street West 00010 * Toronto, Ontario 00011 * Canada M5V 3E7 00012 * 416-504-9876 00013 * 00014 * NAME: UT_IncludeFileManager.h (C++) 00015 * 00016 * COMMENTS: A very simple class to manage a list of include files 00017 * used in the autogeneration of code. 00018 */ 00019 00020 #ifndef __UT_IncludeFileManager__ 00021 #define __UT_IncludeFileManager__ 00022 00023 #include "UT_API.h" 00024 #include <iostream.h> 00025 #include "UT_SymbolTable.h" 00026 #include "UT_PtrArray.h" 00027 #include "UT_IntArray.h" 00028 00029 class UT_API UT_IncludeFileManager 00030 { 00031 public: 00032 UT_IncludeFileManager(); 00033 ~UT_IncludeFileManager(); 00034 00035 // If local is true, uses ", otherwise < 00036 void addIncludeFile(const char *filename, 00037 int local = 0); 00038 00039 UT_PtrArray<char *> &getFileList() { return myNameList; } 00040 void writeIncludeList(ostream &os); 00041 // Removes all elements 00042 void clear(); 00043 private: 00044 UT_SymbolTable myNameTable; 00045 UT_PtrArray<char *> myNameList; 00046 UT_IntArray myLocalList; 00047 }; 00048 00049 #endif 00050
1.5.9