![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: commModelDescriptor.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef commModelDescriptor_h 00015 #define commModelDescriptor_h 00016 00017 #include "vrfobjparam/vrfobjparamDefines.h" 00018 00019 #include "vrfutil/rdrWritr.h" 00020 #include "vrfutil/rwString.h" 00021 #include "vrfutil/rwReal.h" 00022 #include "vrfutil/rwBoolean.h" 00023 #include "vrfobjparam/vrfobjparamDefines.h" 00024 #include "tdbutil/stringKeyFactory.h" 00025 00026 class DtCommModelDescriptor; 00027 00029 typedef DtStringKeyFactory<DtCommModelDescriptor> DtCommModelDescriptorFactory; 00030 00031 class DtReaderWriterRegistry; 00032 class DtFilename; 00033 00037 class DT_DLL_vrfobjparam DtCommModelDescriptor : public DtReaderWriter 00038 { 00039 public: 00041 DtCommModelDescriptor(const DtString& name, 00042 DtReaderWriterRegistry* parentRegistry = NULL); 00043 00044 DtCommModelDescriptor(const DtSymbolString& name, 00045 DtReaderWriterRegistry* parentRegistry = NULL); 00046 00048 DtCommModelDescriptor(const DtCommModelDescriptor& orig, 00049 DtReaderWriterRegistry* parentRegistry = NULL); 00050 00052 DtCommModelDescriptor& operator=( 00053 const DtCommModelDescriptor& orig); 00054 00055 virtual ~DtCommModelDescriptor(); 00056 00059 virtual DtString type() const; 00060 00061 virtual DtCommModelDescriptor* clone( 00062 DtReaderWriterRegistry* parentRegistry = NULL) const; 00063 00065 00066 virtual void setCommModelType(const DtString& typeString); 00067 virtual DtString commModelType() const; 00069 00071 00072 virtual bool publishTransmitters() const; 00073 virtual void setPublishTransmitters(bool value); 00075 00077 virtual void putData(FILE* fp, int indentLevel = 0); 00078 00081 virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath, 00082 const DtVariableBindingsList& variableBindings); 00083 00087 virtual bool init(); 00088 00091 static DtCommModelDescriptorFactory* factory(); 00092 static void setFactory(DtCommModelDescriptorFactory* factory); 00093 00095 00096 static DtCommModelDescriptor* createCommModelDescriptor( 00097 DtlObjPtr mtlStream, const DtFilename& searchPath, 00098 const DtVariableBindingsList& variableBindings); 00099 00100 static DtCommModelDescriptor* createCommModelDescriptor( 00101 const char* typeString); 00103 00105 static DtCommModelDescriptor* creator(); 00106 00107 private: 00109 DtCommModelDescriptor(); 00110 00111 protected: 00114 00115 00116 00117 00118 DtRwString myCommModelType; 00120 00127 DtRwBoolean myPublishTransmitters; 00128 00129 static DtCommModelDescriptorFactory* theFactory; 00130 }; 00131 00132 #endif