![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: mapReader.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 00013 00014 #ifndef DTMAPREADER_H_ 00015 #define DTMAPREADER_H_ 00016 00017 #include "symbolMapper/baseMapper.h" 00018 00019 #include <QtCore/QHash> 00020 #include <QtCore/QObject> 00021 00022 class QString; 00023 class DtSymbolDescriptor; 00024 class DtMapReader; 00025 00026 typedef DtSymbolDescriptor* (*DtSymbolDescriptorParserFcn)(DtMapReader* reader, QString key, void*& usr1, void*& usr2); 00027 00030 #include "symbolMapper/symbolMapperDefines.h" 00031 class DT_DLL_symbolMapper DtSymbolDescriptorCreatorInfo 00032 { 00033 public: 00034 DtSymbolDescriptorCreatorInfo(DtSymbolDescriptorParserFcn fcn); 00035 DtSymbolDescriptorCreatorInfo(const DtSymbolDescriptorCreatorInfo& orig) : 00036 myParserFcn(orig.myParserFcn) {}; 00037 00038 virtual ~DtSymbolDescriptorCreatorInfo(); 00039 00040 virtual DtSymbolDescriptorParserFcn parser(); 00041 virtual void setParser(DtSymbolDescriptorParserFcn fcn); 00042 00043 protected: 00044 DtSymbolDescriptorParserFcn myParserFcn; 00045 }; 00046 00047 class DT_DLL_symbolMapper DtMapReader : public QObject 00048 { 00049 Q_OBJECT 00050 00051 public: 00052 DtMapReader(DtBaseMapper* mapper); 00053 virtual ~DtMapReader(); 00054 00055 virtual bool load(const QString& filename, bool replace = false) = 0; 00056 virtual bool save(const QString& filename) = 0; 00057 virtual bool init() = 0; 00058 00059 virtual void setMediaMapper(DtBaseMapper* mapper); 00060 00061 virtual void addSymbolParser(QString symbol, DtSymbolDescriptorParserFcn fcn); 00062 virtual DtSymbolDescriptor* createSymbolDescriptor(QString symbol, QString key, 00063 void* usr1, void* usr2); 00064 00065 virtual DtBaseMapper* symbolMapper(); 00066 00067 virtual void setComment(const QString&); 00068 virtual const QString& comment() const; 00069 00070 protected: 00071 DtBaseMapper* mySymbolMapper; 00072 DtBaseMapper* myMediaMapper; 00073 00074 QString myComment; 00075 00076 QHash<QString, DtSymbolDescriptorCreatorInfo> mySymbolParsers; 00077 }; 00078 00079 typedef DtMapReader* (*DtMapReaderCreatorFcn)(DtBaseMapper* mapper); 00080 00081 #endif