![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: compFactory.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00017 00018 #ifndef DtSimComponentFactory_H_ 00019 #define DtSimComponentFactory_H_ 00020 00021 #include <vlutil/vlHashlist.h> 00022 00023 class DtSimComponentFactoryEntry; 00024 class DtReaderWriterRegistry; 00025 class DtSimComponent; 00026 class DtSimManager; 00027 class DtComponentDescriptor; 00028 class DtVrfObject; 00029 00030 typedef DtSimComponent* (*DtSimComponentCreatorFcn)(const DtString& name, 00031 DtVrfObject* owner, DtSimManager* simManager, 00032 DtComponentDescriptor* compDescriptor, DtReaderWriterRegistry* registry); 00033 00040 #include "vrfobjcore/vrfobjcoreDefines.h" 00041 class DT_DLL_vrfobjcore DtSimComponentFactory : public DtHashlist 00042 { 00043 public: 00045 DtSimComponentFactory(); 00046 00048 DtSimComponentFactory(const DtSimComponentFactory& orig); 00049 00051 const DtSimComponentFactory& operator=(const DtSimComponentFactory& orig); 00052 00054 virtual ~DtSimComponentFactory(); 00055 00057 virtual void addCreatorFcn(const DtString& type, 00058 DtSimComponentCreatorFcn fcn); 00059 00060 virtual DtSimComponent* createComponent( 00061 const DtString& name, const DtString& type, DtVrfObject* owner, 00062 DtSimManager* simManager, DtComponentDescriptor* compDesc, 00063 DtReaderWriterRegistry* registry = 0); 00064 00065 static DtSimComponentFactory* create(); 00066 00067 protected: 00068 00069 }; 00070 00071 #endif 00072 00073