00001 #ifndef DUMPER_H 00002 #define DUMPER_H 00003 00004 #include "list" 00005 #include "vector" 00006 #include "Sheet.h" 00007 00008 class Dumper : public Sheet { 00009 public: 00010 static const char* m_strBonExtenderOptions; 00011 static const char* Yes_Str; 00012 static const char* Only_Str; 00013 static const char* No_Str; 00014 static const char* m_strGenVisitor; 00015 static const char* m_strVisitorSignature; 00016 static const char* m_strGenInitMethod; 00017 static const char* m_strGenFiniMethod; 00018 static const char* m_strGenAcceptWithTraversal; 00019 static const char* m_strGenAcceptSpecialized; 00020 static const char* m_strSpecAcceptRetVal; 00021 static const char* m_strVCVersion6; 00022 static const char* m_strTemplateGetter; 00023 static const char* m_strOutputInSeparateFile; 00024 static const char* m_strTgtNamespace; 00025 protected: 00026 Dumper(); 00027 00028 public: 00029 static Sheet * getInstance(); 00030 virtual ~Dumper(); 00031 00032 bool build(); 00033 00034 static int selectOutputFiles( const std::string& proj_name, BON::RegistryNode& optionsRegnode); 00035 static int backup( const std::string& file_name); 00036 static void getGlobalUserParts( std::string& up1, std::string& up2); 00037 00038 static std::string xmlFilter( const std::string& in); 00039 00040 static bool m_bParsePrev; 00041 static bool m_bGenInit; 00042 static bool m_bGenFinalize; 00043 static bool m_bGenAcceptTrave; 00044 static bool m_bGenAcceptSpeci; 00045 static bool m_bGenTemplates; 00046 static bool m_bGenTemplVersion6; 00047 static bool m_bGenRegular; 00048 static int m_iVisitSign; 00049 static int m_iSpecAcceptRetVal; 00050 static bool m_bGenVisitor; 00051 static bool m_bSafetyBackup; 00052 00053 protected: 00054 00055 void inheritMoReSeCoFolAsp(); 00056 00057 void showMultipleInheritance(); 00058 00059 void selConf( std::vector<FCO*>& s); 00060 00061 void createMethods(); 00062 void dumpGlobals( std::vector<FCO*>& s); 00063 void dumpGlobalMOF(); 00064 void dumpMain( std::vector<FCO*>& s); 00065 void doDump(); 00066 void initOutFiles( std::vector<FCO*>& s, std::string& resu); 00067 void finiOutFiles( std::vector<FCO*>& s); 00068 00069 bool checkAll(); 00070 bool checkAllFCOs(); 00071 bool checkOrphanAttributes(); 00072 bool findInFolders( FCO * fco); 00073 00074 std::string getNamespaceName(); 00075 00076 protected: 00077 void fetchConfigurationNames( std::vector< std::string>& res); 00078 00079 }; 00080 00081 00082 #endif //DUMPER_H