![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00009 00010 #ifndef DtInteractionDecoderFactory_H_ 00011 #define DtInteractionDecoderFactory_H_ 00012 00013 #if DtHLA 00014 00015 #include "interDecoder.h" 00016 #include <vlutil/vlMachineTypes.h> 00017 #include <map> 00018 00023 class DT_DLL_VL DtInteractionDecoderFactory 00024 { 00025 public: 00026 00028 DtInteractionDecoderFactory(DtExerciseConn* exConn); 00029 00031 virtual ~DtInteractionDecoderFactory(); 00032 00035 DtInteractionDecoderFactory(const DtInteractionDecoderFactory& orig); 00036 00039 DtInteractionDecoderFactory& operator=( 00040 const DtInteractionDecoderFactory& orig); 00041 00045 virtual DtInteractionDecoder* createDecoder( 00046 RTI::InteractionClassHandle hand); 00047 00053 virtual DtInteractionDecoder* addDecoder( 00054 RTI::InteractionClassHandle hand, 00055 DtInteractionDecoder* decoder); 00056 00064 virtual void addParameterDecoder( 00065 RTI::InteractionClassHandle classHand, 00066 RTI::ParameterHandle paramHand, 00067 DtInteractionDecoder::DtParameterDecoder decoder, 00068 bool applyToSubclasses = true); 00069 00071 void addParameterDecoder( 00072 char* className, 00073 RTI::ParameterHandle paramHand, 00074 DtInteractionDecoder::DtParameterDecoder func, 00075 bool applyToSubclasses = true); 00076 00078 void addParameterDecoder( 00079 RTI::InteractionClassHandle classHand, 00080 char* paramName, 00081 DtInteractionDecoder::DtParameterDecoder func, 00082 bool applyToSubclasses = true); 00083 00085 void addParameterDecoder( 00086 char* className, 00087 char* paramName, 00088 DtInteractionDecoder::DtParameterDecoder func, 00089 bool applyToSubclasses = true); 00090 00100 virtual DtInteractionDecoder* decoder( 00101 RTI::InteractionClassHandle hand, bool copybase = false); 00102 00103 protected: 00104 00107 typedef std::map<RTI::InteractionClassHandle, DtInteractionDecoder *> InterClassHandleToDecoderMap; 00108 InterClassHandleToDecoderMap myProtos; 00109 00110 DtExerciseConn* myExConn; 00111 }; 00112 00113 #endif 00114 #endif 00115