![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: processSR.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00017 #ifndef DtVrfProcessStateRepository_H_ 00018 #define DtVrfProcessStateRepository_H_ 00019 00020 #include "vrfutil/rdrWritr.h" 00021 #include <vlutil/vlString.h> 00022 #include "vrfobjcore/procSRFact.h" 00023 00024 class DtVrfObject; 00025 class DtVrfProcessStateRepositoryFactory; 00026 00045 00046 #include "vrfobjcore/vrfobjcoreDefines.h" 00047 class DT_DLL_vrfobjcore DtVrfProcessStateRepository : public DtReaderWriter 00048 { 00049 00050 protected: 00051 00052 DtVrfProcessStateRepository(); 00053 00054 public: 00055 DtVrfProcessStateRepository(DtVrfObject* vrfObject, 00056 const DtString& rwName = DtString::nullString(), 00057 DtReaderWriterRegistry* parentRegistry = 0); 00058 00059 DtVrfProcessStateRepository(const DtVrfProcessStateRepository& orig, 00060 const DtString& rwName = DtString::nullString(), 00061 DtReaderWriterRegistry* parentRegistry = 0); 00062 00063 00064 const DtVrfProcessStateRepository& operator=( 00065 const DtVrfProcessStateRepository& orig); 00066 00067 virtual ~DtVrfProcessStateRepository(); 00068 00069 virtual DtVrfProcessStateRepository* clone( 00070 const DtString& rwName = DtString::nullString(), 00071 DtReaderWriterRegistry* parentRegistry = 0) const = 0; 00072 00074 virtual bool init(); 00075 00077 virtual DtString type() const = 0; 00078 00079 virtual bool loadedFromMTL() const; 00080 00081 virtual void getSelf(DtlObjPtr args, const DtFilename& searchPath, 00082 const DtVariableBindingsList& variableBindings); 00083 00088 static DtVrfProcessStateRepositoryFactory* factory(); 00089 static void setFactory(DtVrfProcessStateRepositoryFactory* factory); 00090 00091 static void addVrfProcessStateRepositoryCreatorFcn(const DtString & type, 00092 DtVrfProcessStateRepositoryCreatorFcn fcn); 00093 00095 static DtVrfProcessStateRepository* createRepository(const DtString & name, 00096 const DtString & type, DtVrfObject* vrfObject, 00097 DtReaderWriterRegistry* parentRegistry = 0); 00098 00099 protected: 00100 DtVrfObject* myVrfObject; 00101 bool myLoadedFromMTL; 00102 00103 static DtVrfProcessStateRepositoryFactory* theFactory; 00104 00105 }; 00106 00107 #endif