VR-Link API Documentation for HLA 1516
fomMapper.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 #ifndef fomMapper_H_
00007 #define fomMapper_H_
00008 
00009 
00010 #if   DtHLA 
00011 
00012 
00013 #include "hostStructs.h"
00014 #include "rtiCompatibility.h"
00015 
00016 #include <vlutil/vlHashlist.h>
00017 
00018 class DtExerciseConn;
00019 class DtStateDecoderFactory;
00020 class DtStateEncoderFactory;
00021 class DtInteractionDecoderFactory;
00022 class DtInteractionEncoderFactory;
00023 class DtHlaObjectFactory;
00024 class DtInteractionFactory;
00025 class DtInteraction;
00026 
00033 class DT_DLL_VL DtFomMapper
00034 {
00035 public:
00036 
00039    typedef char* (*DtInteractionClassChooser)(
00040       DtExerciseConn* exConn, const DtInteraction& inter);
00041    
00045    typedef char* (*DtObjectClassChooser)(
00046       const char* vrlinkClassName, DtExerciseConn* conn, void* usr);
00047 
00048 public:
00049 
00052    DtFomMapper();
00053 
00055    virtual ~DtFomMapper();
00056 
00059    virtual DtStateDecoderFactory* setStateDecoderFactory(
00060       DtStateDecoderFactory* fact);
00061    virtual DtStateDecoderFactory* stateDecoderFactory();
00062 
00065    virtual DtStateEncoderFactory* setStateEncoderFactory(
00066       DtStateEncoderFactory* fact);
00067    virtual DtStateEncoderFactory* stateEncoderFactory();
00068 
00071    virtual DtInteractionDecoderFactory* setInteractionDecoderFactory(
00072       DtInteractionDecoderFactory* fact);
00073    virtual DtInteractionDecoderFactory* interactionDecoderFactory();
00074 
00077    virtual DtInteractionEncoderFactory* setInteractionEncoderFactory(
00078       DtInteractionEncoderFactory* fact);
00079    virtual DtInteractionEncoderFactory* interactionEncoderFactory();
00080 
00083    virtual DtHlaObjectFactory* setHlaObjectFactory(
00084       DtHlaObjectFactory* fact);
00085    virtual DtHlaObjectFactory* hlaObjectFactory();
00086 
00089    virtual DtInteractionFactory* setInteractionFactory(
00090       DtInteractionFactory* fact);
00091    virtual DtInteractionFactory* interactionFactory();
00092 
00097    virtual void setObjectClassToChoose(
00098       const char* vrlinkClassName, const char* fomClassName);
00099    virtual void setObjectClassChooser(
00100       const char* vrlinkClassName, DtObjectClassChooser chooser);
00101       
00107    virtual char* chooseObjectClass(
00108       const char* vrlinkClassName, void* usr = NULL) const;
00109 
00114    virtual void setInteractionClassToChoose(
00115       const char* vrlinkClassName, const char* fomClassName);
00116    virtual void setInteractionClassChooser(
00117       const char* vrlinkClassName, DtInteractionClassChooser chooser);
00118       
00121    virtual char* chooseInteractionClass(const DtInteraction& inter) const;
00122 
00130    virtual void setInteractionClasses(const char* vrlinkClassName,
00131       const DtList& classes);
00132    virtual DtList* interactionClasses(const char* vrlinkClassName);
00133 
00137    virtual void setInteractionClass(const char* vrlinkClassName,
00138       const char* fomClassName);
00139 
00148    virtual void setObjectClassNames(const char* vrlinkClassName,
00149       const DtList& classes);
00150    virtual DtList* objectClassNames(const char* vrlinkClassName);
00151 
00159    virtual DtList* objectClassHandles(const char* vrlinkClassName);
00160 
00164    virtual void setObjectClass(const char* vrlinkClassName,
00165       const char* fomClassName);
00166 
00169    virtual void init(DtExerciseConn* conn) = 0;
00170 
00172    virtual void setVersion(double vers);
00173    virtual double version() const;
00174 
00176    virtual void setRevision(int val);
00177 
00179    virtual int revision() const;
00180 
00184    virtual DtObjectClassChooser objectClassChooser(
00185       const char* vrlinkClassName) const;
00186 
00190    virtual DtInteractionClassChooser interactionClassChooser(
00191       const char* vrlinkClassName) const;
00192 
00193 protected:
00195    DtFomMapper(const DtFomMapper& orig);
00196 
00198    DtFomMapper& operator=(const DtFomMapper& orig);
00199 
00200 protected:
00201 
00202    DtExerciseConn* myExConn;
00203 
00205    DtStateDecoderFactory* myDecFact;
00206    DtStateEncoderFactory* myEncFact;
00207    DtInteractionDecoderFactory* myInterDecFact;
00208    DtInteractionEncoderFactory* myInterEncFact;
00209    DtHlaObjectFactory* myObjFact;
00210    DtInteractionFactory* myInterFact;
00211 
00215    DtHashlist myIntMapList;
00216 
00221    DtHashlist myObjMapList;
00222    
00226    DtHashlist myObjChooserList;
00227 
00230    DtHashlist mySimpleObjChooserList;
00231 
00235    DtHashlist myInterChooserList;
00236 
00239    DtHashlist mySimpleInterChooserList;
00240 
00243    DtList myObjHandleList;
00244 
00247    DtList myEmptyList;
00248 
00249 protected:
00250    double myVersion;
00251    int    myRevision;
00252 
00253 };
00254 
00255 #endif
00256 #endif
00257 

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)