reman3/Rayman_X/cpa/tempgrp/Edt/inc/edtparse.hpp

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