![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: cmpntList.h,v $ $Revision: 1.13 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00017 00018 00019 #ifndef DtSimComponentList_H_ 00020 #define DtSimComponentList_H_ 00021 00022 #include <vlutil/vlString.h> 00023 #include <vlutil/vlList.h> 00024 #include "vrfutil/rwList.h" 00025 #include <map> 00026 00027 class DtSimComponent; 00028 class DtReaderWriterRegistry; 00029 00038 00039 00040 #include "vrfobjcore/vrfobjcoreDefines.h" 00041 class DT_DLL_vrfobjcore DtSimComponentList : public DtRwList 00042 { 00043 public: 00045 DtSimComponentList(const DtString & name, 00046 DtReaderWriterRegistry * const parentRegistry = 0); 00047 00049 virtual ~DtSimComponentList(); 00050 00054 virtual void tick(bool hostEntityDestroyed); 00055 00056 virtual DtSimComponent * lookupComponent(const DtString & name); 00057 00058 virtual void addComponent(DtSimComponent * component); 00059 virtual void removeComponent(DtSimComponent * component); 00060 00061 virtual DtSimComponent * firstComponent(); 00062 virtual DtSimComponent * lastComponent(); 00063 00064 protected: 00066 DtSimComponentList(); 00067 00070 virtual void emptyList(); 00071 00074 virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath, 00075 const DtVariableBindingsList& variableBindings); 00076 00077 protected: 00078 00079 typedef std::map<DtString, DtSimComponent*> DtSimComponentMap; 00080 DtSimComponentMap myIndex; 00081 }; 00082 00083 #endif 00084