![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00009 00010 #ifndef DtReflectAttributeValuesCbList_H_ 00011 #define DtReflectAttributeValuesCbList_H_ 00012 00013 #if DtHLA 00014 00015 #include <vlutil/vlList.h> 00016 00017 00018 #include "rtiNamespace.h" 00019 00020 00021 00022 class DT_DLL_VL DtStateMsg; 00023 00024 typedef void (*DtReflectAttributeValuesCb)(const DtStateMsg& stateMsg, 00025 void* usr); 00026 00031 class DT_DLL_VL DtReflectAttributeValuesCbList 00032 { 00033 00034 public: 00035 00037 DtReflectAttributeValuesCbList(); 00038 00040 virtual ~DtReflectAttributeValuesCbList(); 00041 00043 DtReflectAttributeValuesCbList( 00044 const DtReflectAttributeValuesCbList& orig); 00045 00047 DtReflectAttributeValuesCbList& operator=( 00048 const DtReflectAttributeValuesCbList& orig); 00049 00052 virtual int add( 00053 #if DtHLA_1516 00054 RTI::ObjectInstanceHandle id, 00055 #else 00056 RTI::ObjectHandle id, 00057 #endif 00058 DtReflectAttributeValuesCb cb, 00059 void* usr); 00060 00061 virtual int remove( 00062 #if DtHLA_1516 00063 RTI::ObjectInstanceHandle id, 00064 #else 00065 RTI::ObjectHandle id, 00066 #endif 00067 DtReflectAttributeValuesCb cb, 00068 void* usr); 00069 00071 virtual void clear(); 00072 00077 virtual void apply(const DtStateMsg &msg); 00078 00079 protected: 00080 00084 void dtorClear(); 00085 00088 void ctorCopyList(const DtReflectAttributeValuesCbList& orig); 00089 00090 protected: 00091 00092 DtList myList; 00093 }; 00094 00095 #endif 00096 #endif 00097