00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef NLGEORGES_LOADER_H
00027 #define NLGEORGES_LOADER_H
00028
00029 #include "nel/georges/form_loader.h"
00030 #include "nel/georges/mold_loader.h"
00031
00032 namespace NLGEORGES
00033 {
00034
00035 class CLoader
00036 {
00037 static bool _Initialized;
00038 protected:
00039 CFormLoader fl;
00040 CMoldLoader ml;
00041 CStringEx sxworkdirectory;
00042 CStringEx sxrootdirectory;
00043 CStringEx WhereIs( const CStringEx &_sxdirectory, const CStringEx &_sxfilename );
00044
00045 public:
00046 CLoader();
00047 virtual ~CLoader();
00048
00049 void LoadForm( CForm& _f, const CStringEx& _sxfullname );
00050 void LoadForm( CForm& _f, const CStringEx& _sxfullname, const CStringEx& _sxdate );
00051 void LoadSearchForm( CForm& _f, const CStringEx& _sxfilename );
00052 void LoadSearchForm( CForm& _f, const CStringEx& _sxfilename, const CStringEx& _sxdate );
00053 void SaveForm( CForm& _f, const CStringEx& _sxfullename );
00054 CMoldElt* LoadMold( const CStringEx &_sxfilename );
00055 CMoldElt* LoadMold( const CStringEx &_sxfilename, const CStringEx &_sxdate );
00056
00057 CStringEx WhereIsDfnTyp( const CStringEx &_sxfilename );
00058 CStringEx WhereIsForm( const CStringEx &_sxfilename );
00059
00060 CStringEx GetWorkDirectory() const;
00061 CStringEx GetRootDirectory() const;
00062
00063
00064 void SetWorkDirectory( const CStringEx &_sxworkdirectory );
00065 void SetRootDirectory( const CStringEx &_sxrootdirectory );
00066 void SetTypPredef( const CStringEx& _sxfilename, const std::vector< CStringEx >& _pvsx );
00067
00068
00069 void MakeDfn( const CStringEx &_sxfullname, const std::vector< std::pair< CStringEx, CStringEx > >* const _pvdefine = 0 );
00070 void MakeTyp( const CStringEx &_sxfullname, const CStringEx &_sxtype, const CStringEx &_sxformula, const CStringEx &_sxenum, const CStringEx &_sxlow, const CStringEx &_sxhigh, const CStringEx &_sxdefault, const std::vector< std::pair< CStringEx, CStringEx > >* const _pvpredef = 0, const std::vector< std::pair< CStringEx, CStringEx > >* const _pvparent = 0 );
00071 };
00072
00073 }
00074
00075 #endif // NLGEORGES_LOADER_H