![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2009 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: sigToCbMapper.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef sigToCbMapper_H_ 00010 #define sigToCbMapper_H_ 00011 00014 00015 #include "rtiMsConfig.h" 00016 #include <vlutil/vlString.h> 00017 #include <list> 00018 #include <qobject.h> 00019 00020 typedef void (*DtParameterlessCb)( void* usr ); 00021 00025 class DT_DLL_ASSISTANTAPP DtSignalToCallbackMapper : public QObject 00026 { 00027 Q_OBJECT 00028 00029 public: 00030 00032 DtSignalToCallbackMapper(const QObject* sender, const char* signal); 00033 00035 ~DtSignalToCallbackMapper(); 00036 00037 private: 00038 00040 DtSignalToCallbackMapper(DtSignalToCallbackMapper const& ); 00041 00043 DtSignalToCallbackMapper& operator= (DtSignalToCallbackMapper const& ); 00044 00045 public: 00046 00048 virtual void addCallback( DtParameterlessCb cb, void* usr ); 00049 00051 virtual void removeCallback( DtParameterlessCb cb, void* usr ); 00052 00053 public slots: 00054 00056 void callCallbacks(); 00057 00058 protected: 00059 00060 struct DtCbInfo 00061 { 00062 DtCbInfo( DtParameterlessCb c, void* u ) : 00063 cb(c), usr(u) 00064 {}; 00065 00066 DtParameterlessCb cb; 00067 void* usr; 00068 }; 00069 00071 std::list<DtCbInfo> myCallbacks; 00072 00074 const QObject* mySender; 00075 00077 const MAKRti::DtString mySignal; 00078 00079 }; 00080 00081 #endif