VR-Link API Documentation for DIS
lromMapper.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 #ifndef lromMapper_H_
00007 #define lromMapper_H_
00008  
00009 
00010 #if DtTENA 
00011 
00012 
00013 #include "tMessageInterface.h"
00014 #include "tObjectInterface.h"
00015 #include <vlutil/vlMachineTypes.h>
00016 
00017 #include <map>
00018 #include <vector>
00019 
00023 
00024 class DT_DLL_VL DtString;
00025 class DT_DLL_VL DtExerciseConn;
00026 
00029 class DT_DLL_VL DtLromMapper 
00030 {
00031 public:
00035    typedef const DtString& (*DtObjectInterfaceChooser)(
00036       const DtString& vrlinkClassName, void* usr);
00037 
00038    typedef const DtString& (*DtMessageInterfaceChooser)(
00039       const DtString& vrlinkClassName, void* usr);
00040 
00041 public:
00043    DtLromMapper();
00044 
00046    virtual ~DtLromMapper();
00047 
00048 private:
00050    DtLromMapper(const DtLromMapper& orig);
00051 
00053    DtLromMapper& operator=(const DtLromMapper& orig);
00054 
00055 public:
00057    virtual void init(DtExerciseConn* exConn) = 0;
00058 
00060    virtual DtMessageInterface* messageInterface(const DtString& ifName) = 0;
00061    
00063    virtual DtObjectInterface* objectInterface(const DtString& ifName) = 0;
00064 
00069    virtual void setObjectInterfaceClassToChoose(
00070       const DtString& vrlinkClassName, const DtString& interfaceName);
00071    
00075    virtual void setMessageInterfaceClassToChoose(
00076       const DtString& vrlinkClassName, const DtString& interfaceName);
00077 
00082    virtual void setObjectInterfaceClassChooser(
00083       const DtString& vrlinkClassName, DtObjectInterfaceChooser chooser);
00084 
00088    virtual void setMessageInterfaceClassChooser(
00089       const DtString& vrlinkClassName, DtMessageInterfaceChooser chooser);
00090 
00096    virtual const DtString& chooseObjectInterfaceClass(const DtString& vrlinkClassName,
00097       void* usr = NULL) const;
00098 
00101    virtual const DtString& chooseMessageInterfaceClass(const DtString& vrlinkClassName,
00102       void* usr = NULL) const;
00103 
00106    DtLromMapper::DtObjectInterfaceChooser objectInterfaceClassChooser(
00107       const DtString& vrlinkClassName) const;
00108 
00112    DtLromMapper::DtMessageInterfaceChooser messageInterfaceClassChooser(
00113       const DtString& vrlinkClassName) const;
00114 
00117    virtual void setObjectInterfaceClassNames(const DtString& vrlinkClassName,
00118       const std::vector<DtString>& classes);
00119 
00122    virtual const std::vector<DtString>& objectInterfaceClassNames(
00123       const DtString& vrlinkClassName);
00124 
00128    virtual void setObjectInterfaceClass(const DtString& vrlinkClassName,
00129       const DtString& fomClassName);
00130 
00133    virtual void setMessageInterfaceClasses(const DtString& vrlinkClassName,
00134       const std::vector<DtString>& classes);
00135    
00139    virtual const std::vector<DtString>& messageInterfaceClasses(
00140       const DtString& vrlinkClassName);
00141 
00145    virtual void setMessageInterfaceClass(const DtString& vrlinkClassName,
00146       const DtString& fomClassName);
00147 
00148 
00149 protected:
00150    std::map<DtString, DtString> mySimpleObjectInterfaceChooserList;
00151    std::map<DtString, DtObjectInterfaceChooser> myObjectInterfaceChooserList;
00152    std::map<DtString, std::vector<DtString> > myObjectInterfaceMapList;
00153 
00154    std::map<DtString, DtString> mySimpleMessageInterfaceChooserList;
00155    std::map<DtString, DtMessageInterfaceChooser> myMessageInterfaceChooserList;
00156    std::map<DtString, std::vector<DtString> > myMessageInterfaceMapList;
00157 };
00158 
00159 
00160 #endif
00161 #endif
00162 
00163 
00164 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)