![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: compSystemDatabase.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef compSystemDatabase_h 00015 #define compSystemDatabase_h 00016 00017 #include "vrfobjparam/vrfobjparamDefines.h" 00018 #include <list> 00019 #include <vlutil/vlString.h> 00020 #include <vlutil/vlFilename.h> 00021 #include "vrfutil/rwRegistry.h" 00022 00023 class DtComponentSystemDefinition; 00024 00025 typedef std::list<DtComponentSystemDefinition*> DtSystemDefinitionList; 00026 00029 struct DtSystemDefinitionInfo 00030 { 00031 DtString filename; 00032 DtComponentSystemDefinition* systemDefinition; 00033 }; 00034 00035 typedef std::list<DtSystemDefinitionInfo> DtSystemDefinitionInfoList; 00036 00041 class DT_DLL_vrfobjparam DtComponentSystemDatabase 00042 { 00043 private: 00045 00046 DtComponentSystemDatabase(const DtComponentSystemDatabase& orig); 00047 DtComponentSystemDatabase& operator=(const DtComponentSystemDatabase& orig); 00049 00050 public: 00051 DtComponentSystemDatabase(); 00052 virtual ~DtComponentSystemDatabase(); 00053 00057 virtual bool loadSystemDefinition(const DtFilename& definitionFilename, 00058 const DtVariableBindingsList& variableBindings); 00059 00063 virtual DtSystemDefinitionInfoList findSystemsForCategoryAndSRType( 00064 const DtString& category, const DtString& stateRepType) const; 00065 00069 virtual const DtComponentSystemDefinition* findSystemByFilename(const DtFilename& filename) const; 00070 00073 virtual bool replaceSystem(const DtFilename& definitionFilename, 00074 const DtVariableBindingsList& variableBindings); 00075 00077 virtual bool removeSystem(const DtFilename& definitionFilename); 00078 00079 protected: 00080 00081 00082 protected: 00083 00084 DtSystemDefinitionInfoList mySystemDefinitions; 00085 }; 00086 00087 #endif