54 lines
1.8 KiB
C++
54 lines
1.8 KiB
C++
//ParseSection.hpp
|
|
|
|
#ifndef _PARSESECTION
|
|
#define _PARSESECTION
|
|
|
|
const char cBeginBracket = '{';
|
|
const char cEndBracket = '}';
|
|
const char cExternalReferencesIndicator = '^';
|
|
const char cThisFileReference = '*';
|
|
const char cStringDelimitator = '"';
|
|
const char cBackslash = '\\';
|
|
const char cParameterBeginIndicator = '(';
|
|
const char cParameterEndIndicator = ')';
|
|
const static char szEditModificationsKW [] = {"Edit-Modifications:"};
|
|
const static char szEditGeometricModificationsKW [] = {"Edit-Geometric-Modifications:"};
|
|
|
|
class CParseSection
|
|
{
|
|
private:
|
|
CString m_csFinalMDFFileName;
|
|
CStringList m_lstOfRoots;
|
|
CStringList m_lstOfInitialMDFSections;
|
|
CStringList m_lstOfInitialUnchangeableMDFSections;
|
|
CStringList m_lstOfIncludedExternalReferences;
|
|
|
|
protected:
|
|
int CopySection (CString csFileName, CString csSectionName, BOOL bCopyAsItIs = FALSE);
|
|
int CopySectionWithAnalyze (CString csFileName, CString csSectionName)
|
|
{
|
|
return CopySection (csFileName, csSectionName, FALSE);
|
|
}
|
|
int CopySectionAsItIs (CString csFileName, CString csSectionName)
|
|
{
|
|
return CopySection (csFileName, csSectionName, TRUE);
|
|
}
|
|
int ReadSection (CString csFileName, CString csSectionName, CStringList &rSection);
|
|
int AnalyseSection (CString csFileName, CStringList &rSection);
|
|
int WriteSection (CStringList &rSection);
|
|
int FillListOfInitialMDFSections (CString csInitialMDFFileName);
|
|
CString ComputeAbsoluteFileName (CString csFileName);
|
|
int IsFileNameAbsolute (CString csFileName);
|
|
int CreateTheFinalMDFFile ();
|
|
int IsSectionIncluded (CString csSectionName);
|
|
CString RemoveParameters (CString csRedSectionName);
|
|
|
|
|
|
public:
|
|
CParseSection (CString csFinalMDFFileName = "");
|
|
int ParseFile (CString csInitialMDFFileName, CString csFinalMDFFileName = "");
|
|
void AddRoot (CString csRoot);
|
|
|
|
};
|
|
|
|
#endif //_PARSESECTION
|