VR-Link API Documentation for HLA Evolved
hInterFactory.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 #ifndef DtInteractionFactory_H_
00007 #define DtInteractionFactory_H_
00008  
00013 
00014 #if DtHLA 
00015 
00016 
00017 #include <vlutil/vlMachineTypes.h>
00018 #include "rtiNamespace.h"
00019 #include <map>
00020 
00021 
00022 class DT_DLL_VL DtInteraction;
00023 class DT_DLL_VL DtExerciseConn;
00024 class DT_DLL_VL DtInterClassDesc;
00025 
00029 class DT_DLL_VL DtInteractionFactory
00030 {
00031 public:
00032 
00034    typedef DtInteraction* (*DtInteractionCreator)();
00035 
00036 public:
00037 
00039    DtInteractionFactory(DtExerciseConn* exConn);
00040 
00042    virtual ~DtInteractionFactory();
00043 
00047    virtual DtInteraction* createInteraction(
00048       RTI::InteractionClassHandle handle,
00049 #if DtHLA_1516
00050       const RTI::ParameterHandleValueMap& pairMap);
00051 #else
00052       const RTI::ParameterHandleValuePairSet& pairSet);
00053 #endif
00054 
00061    virtual DtInteractionCreator addCreator(
00062       RTI::InteractionClassHandle handle,
00063       DtInteractionCreator creator);
00064    virtual DtInteractionCreator addCreator(
00065       const char* className,
00066       DtInteractionCreator creator);
00067 
00068    virtual DtInteractionCreator creator(RTI::InteractionClassHandle handle);
00069 
00070 protected:
00071    
00073    DtInteractionFactory(const DtInteractionFactory& orig);
00074 
00076    DtInteractionFactory& operator=(const DtInteractionFactory& orig);
00077 
00078 protected:
00079 
00080    typedef std::map<RTI::InteractionClassHandle, DtInteractionCreator> 
00081       InterClassHandleToCreatorMap;
00082 
00083    InterClassHandleToCreatorMap myCreators;
00084 
00085    DtExerciseConn* myExConn;
00086 };
00087 
00088 #endif
00089 #endif
00090 

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)