![]() |
VR-Link API Documentation for DIS
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00006 00009 00010 #ifndef DtRemoveObjectCbInfo_H_ 00011 #define DtRemoveObjectCbInfo_H_ 00012 00013 #if DtHLA 00014 00015 #include "rtiNamespace.h" 00016 #include "stateMsg.h" 00017 #include <vlutil/vlList.h> 00018 00019 class DT_DLL_VL DtHlaObject; 00020 00021 00022 typedef void (*DtRemoveObjectCb)(DtHlaObject* obj, void* usr); 00023 00024 00025 00030 class DT_DLL_VL DtRemoveObjectCbInfo 00031 { 00032 public: 00034 DtRemoveObjectCbInfo(); 00036 DtRemoveObjectCbInfo( DtRemoveObjectCb cb, void* usr ); 00038 virtual ~DtRemoveObjectCbInfo(); 00040 DtRemoveObjectCbInfo( const DtRemoveObjectCbInfo& src ); 00042 DtRemoveObjectCbInfo& operator=( const DtRemoveObjectCbInfo& src ); 00043 00045 virtual bool operator==( const DtRemoveObjectCbInfo& rhs ) const; 00046 virtual bool operator!=( const DtRemoveObjectCbInfo& rhs ) const; 00047 00049 virtual bool match( const DtRemoveObjectCbInfo* const rhs ) const; 00050 00052 inline void setCbFunction( const DtRemoveObjectCb& cb ) { myFunc = cb; } 00053 inline const DtRemoveObjectCb& cbFunction() const { return myFunc; } 00054 00056 inline void setUserData( void* usr ) { myUsr = usr; } 00057 inline void* userData() const { return myUsr; } 00058 00060 inline void setCount( int val ) { myCount = val; } 00061 inline int count() const { return myCount; } 00062 00063 protected: 00064 DtRemoveObjectCb myFunc; 00065 void* myUsr; 00066 int myCount; 00067 }; 00068 00069 #endif //! DtHLA 00070 00071 #endif //! DtRemoveObjectCbInfo_H_ 00072 00073