VR-Forces 4.0.4 Class Documentation
include/symbolMapper/mapReader.h
Go to the documentation of this file.
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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)