![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef tInterCbMgr_H_ 00008 #define tInterCbMgr_H_ 00009 00010 #if DtTENA 00011 00012 #include <list> 00013 #include <vlutil/vlString.h> 00014 00019 00020 class DT_DLL_VL DtInteraction; 00021 00023 typedef void (*DtReceiveInteractionCb) (DtInteraction* inter, void* usr); 00024 00028 class DT_DLL_VL DtInteractionCallbackManager 00029 { 00030 public: 00033 struct DtInteractionCallbackInfo 00034 { 00035 DtString name; 00036 DtReceiveInteractionCb cb; 00037 void* usr; 00038 }; 00039 00040 public: 00042 DtInteractionCallbackManager(); 00043 00045 virtual ~DtInteractionCallbackManager(); 00046 00048 virtual void addInteractionCallback(const DtString& name, 00049 DtReceiveInteractionCb cb, void* usr); 00050 00052 virtual void removeInteractionCallback(const DtString& name, 00053 DtReceiveInteractionCb cb, void* usr); 00054 00057 virtual void applyCallback(const DtString& name, DtInteraction* inter); 00058 00059 protected: 00061 virtual bool cbInfoAreEqual(const DtInteractionCallbackInfo& first, 00062 const DtInteractionCallbackInfo& second); 00063 00064 protected: 00065 00066 std::list<DtInteractionCallbackInfo> myInteractionCallbackList; 00067 }; 00068 00069 #endif 00070 #endif 00071 00072