![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00009 00010 #ifndef interMgr_H_ 00011 #define interMgr_H_ 00012 00013 #if DtHLA 00014 00015 #include "hInterFactory.h" 00016 #include "callbacks.h" 00017 #include <vlutil/vlHashlist.h> 00018 #include "rtiNamespace.h" 00019 00024 00025 class DT_DLL_VL DtInteractionManager 00026 { 00027 public: 00028 00030 DtInteractionManager(DtInteractionFactory* factory, 00031 DtExerciseConn* exConn); 00032 00034 virtual ~DtInteractionManager(); 00035 00038 virtual void addInteractionCallback( RTI::InteractionClassHandle h, 00039 DtReceiveInteractionCb cb, 00040 void* usr, 00041 DtDDMRegionSP region = DtDDMRegionSP()); 00042 00043 virtual void removeInteractionCallback( RTI::InteractionClassHandle h, 00044 DtReceiveInteractionCb cb, 00045 void* usr, 00046 DtDDMRegionSP region = DtDDMRegionSP()); 00047 00048 00051 virtual void processInteraction(RTI::InteractionClassHandle h, 00052 #if DtHLA_1516 00053 const RTI::ParameterHandleValueMap& p, 00054 const RTI::LogicalTime *fedTime, 00055 const RTI::VariableLengthData &tag, 00056 const RTI::RegionHandleSet* regions = 0 00057 #if DtHLA_1516_EVOLVED 00058 , const DtString& fedName = "" 00059 #endif 00060 #else 00061 const RTI::ParameterHandleValuePairSet& p, 00062 const RTI::FedTime *fedTime, 00063 const char* tag = NULL, 00064 const RTI::Region* region = 0 00065 #endif 00066 ); 00067 00068 protected: 00069 00071 DtInteractionManager(const DtInteractionManager& orig); 00072 00074 DtInteractionManager& operator=(const DtInteractionManager& orig); 00075 00078 void emptyCbList(); 00079 00081 virtual DtList* cbList(RTI::InteractionClassHandle handle); 00082 00083 protected: 00084 00085 DtExerciseConn* myExConn; 00086 00087 DtInteractionFactory* myFactory; 00088 00091 DtHashlist myCbLists; 00092 }; 00093 00094 #endif 00095 #endif 00096