![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: compDesc.h,v $ $Revision: 1.23 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 #ifndef DtComponentDescriptor_H_ 00016 #define DtComponentDescriptor_H_ 00017 00018 #include "vrfutil/rdrWritr.h" 00019 #include "vrfobjparam/cmpDescFact.h" 00020 #include "vrfobjparam/aPrtDescLst.h" 00021 00022 #include "vrfutil/rwString.h" 00023 #include "vrfutil/rwReal.h" 00024 #include "vrfutil/rwBoolean.h" 00025 00026 class DtReaderWriterRegistry; 00027 class DtFilename; 00028 00041 #include "vrfobjparam/vrfobjparamDefines.h" 00042 class DT_DLL_vrfobjparam DtComponentDescriptor : public DtReaderWriter 00043 { 00044 public: 00052 DtComponentDescriptor(const DtString& componentName, 00053 DtReaderWriterRegistry* parentRegistry = NULL); 00054 DtComponentDescriptor(const DtSymbolString& componentName, 00055 DtReaderWriterRegistry* parentRegistry = NULL); 00057 00062 DtComponentDescriptor(const DtComponentDescriptor& orig, 00063 DtReaderWriterRegistry* parentRegistry = NULL); 00064 00066 DtComponentDescriptor& operator=(const DtComponentDescriptor& orig); 00067 00068 virtual ~DtComponentDescriptor(); 00069 00073 virtual DtString type() const; 00074 00075 virtual DtComponentDescriptor* clone( 00076 DtReaderWriterRegistry* parentRegistry = NULL) const; 00077 00083 virtual void setComponentType(const DtString& componentType); 00084 virtual const DtString& componentType() const; 00086 00088 virtual void putData(FILE* fp, int indentLevel = 0); 00089 00092 virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath, 00093 const DtVariableBindingsList& variableBindings); 00094 00098 virtual bool init(); 00099 00103 virtual void setMinTickPeriod(DtReal minTickPeriod); 00104 virtual DtReal minTickPeriod() const; 00106 00110 virtual void setMinTickPeriodVariance(DtReal minTickPeriodVariance); 00111 virtual DtReal minTickPeriodVariance() const; 00113 00116 virtual void setTickPeriodUsesRealTime(bool value); 00117 virtual bool tickPeriodUsesRealTime() const; 00119 00123 virtual const DtString& processStateRepositoryName() const; 00124 virtual void setProcessStateRepositoryName(const DtString& name); 00126 00130 virtual const DtString& processStateRepositoryType() const; 00131 virtual void setProcessStateRepositoryType(const DtString& type); 00133 00136 virtual void setIsEnabled(bool yesNo); 00137 virtual bool isEnabled() const; 00139 00142 static void addComponentDescriptorCreatorFcn(const DtString& type, 00143 DtComponentDescriptorCreatorFcn fcn); 00144 00149 static DtComponentDescriptorFactory* factory(); 00150 static void setFactory(DtComponentDescriptorFactory* factory); 00152 00160 static DtComponentDescriptor* createComponentDescriptor(DtlObjPtr mtlStream, 00161 const DtFilename& searchPath, const DtVariableBindingsList& variableBindings); 00162 00167 static DtComponentDescriptor* createComponentDescriptor(const char* pName); 00168 00173 static DtComponentDescriptor* creator(); 00174 00175 protected: 00177 DtComponentDescriptor(); 00178 00179 protected: 00183 00187 DtRwString myComponentType; 00188 00194 DtRwReal myMinTickPeriod; 00195 00201 DtRwReal myMinTickPeriodVariance; 00202 00209 DtRwBoolean myTickPeriodUsesRealTime; 00210 00215 DtRwString myProcessStateRepositoryName; 00216 00221 DtRwString myProcessStateRepositoryType; 00222 00227 DtRwBoolean myIsEnabled; 00228 00229 static DtComponentDescriptorFactory* myFactory; 00230 }; 00231 00232 #endif