![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2008 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: remoteConfigurationEntry.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *********************************************************************/ 00008 00009 #ifndef DtRemoteConfigurationEntry_H_ 00010 #define DtRemoteConfigurationEntry_H_ 00011 00014 00016 #include "vrfutil/rdrWritr.h" 00017 00018 #include "vrfutil/rwString.h" 00019 #include "vrfutil/rwVariableBindings.h" 00020 00021 #include <map> 00022 00024 #include "vrfutil/vrfutilDefines.h" 00025 class DT_DLL_vrfutil DtRemoteConfigurationEntry : public DtReaderWriter 00026 { 00027 public: 00028 typedef DtRemoteConfigurationEntry* (*CreatorFcn)(const DtString& name, 00029 DtReaderWriterRegistry* parentRegistry); 00030 00034 typedef std::map<std::string, DtReaderWriter*> SharedParameterPartsMap; 00035 typedef SharedParameterPartsMap::iterator SharedPartsIterator; 00036 typedef SharedParameterPartsMap::const_iterator const_SharedPartsIterator; 00038 00039 public: 00041 DtRemoteConfigurationEntry(); 00042 00044 DtRemoteConfigurationEntry(const DtString& name, 00045 DtReaderWriterRegistry* parentRegistry = NULL, 00046 bool readonly = false); 00047 00049 DtRemoteConfigurationEntry(const DtSymbolString& name, 00050 DtReaderWriterRegistry* parentRegistry = NULL, 00051 bool readonly = false); 00052 00054 DtRemoteConfigurationEntry(const DtRemoteConfigurationEntry& orig); 00055 00057 DtRemoteConfigurationEntry(const DtString& name, 00058 const DtRemoteConfigurationEntry& orig, 00059 DtReaderWriterRegistry* parentRegistry = NULL); 00060 00062 DtRemoteConfigurationEntry(const DtSymbolString& name, 00063 const DtRemoteConfigurationEntry& orig, 00064 DtReaderWriterRegistry* parentRegistry = NULL); 00065 00067 virtual ~DtRemoteConfigurationEntry(); 00068 00070 virtual DtRemoteConfigurationEntry* clone() const; 00071 00073 DtRemoteConfigurationEntry& operator=(const DtRemoteConfigurationEntry& orig); 00074 00075 public: 00076 00077 static DtRemoteConfigurationEntry* create(const DtString& name, 00078 DtReaderWriterRegistry* parentRegistry); 00079 00080 public: 00081 00088 virtual bool addSharedParameterPart(DtReaderWriter *pParamPart); 00089 00091 virtual void clearSharedParameterParts(); 00092 00095 const DtString& componentConfigurationFilename() const; 00096 void setComponentConfigurationFilename(const DtString& fn); 00098 00101 virtual DtReaderWriter* findSharedParameterPart(const char *pKeyName); 00102 00105 const DtString& keyName() const; 00106 void setKeyName(const DtString& kname); 00108 00109 virtual void setVariableBindings(const DtVariableBindingsSharedPtr& bindings); 00110 virtual DtVariableBindingsSharedPtr variableBindings(); 00111 00112 SharedParameterPartsMap& sharedParameterParts(); 00113 const SharedParameterPartsMap& sharedParameterParts() const; 00114 00115 protected: 00116 00118 DtRwString myConfigurationFilePath; 00119 00121 DtRwString myKeyName; 00122 00125 SharedParameterPartsMap mySharedParameterParts; 00126 00129 DtVariableBindingsSharedPtr myVariableBindings; 00130 }; 00131 00132 inline const DtString& DtRemoteConfigurationEntry::componentConfigurationFilename() const {return (myConfigurationFilePath);} 00133 inline void DtRemoteConfigurationEntry::setComponentConfigurationFilename(const DtString& fn) {myConfigurationFilePath = fn;} 00134 00135 inline const DtString& DtRemoteConfigurationEntry::keyName() const {return (myKeyName);} 00136 inline void DtRemoteConfigurationEntry::setKeyName(const DtString& kname){myKeyName = kname;} 00137 00138 inline DtRemoteConfigurationEntry::SharedParameterPartsMap& DtRemoteConfigurationEntry::sharedParameterParts() {return (mySharedParameterParts);} 00139 inline const DtRemoteConfigurationEntry::SharedParameterPartsMap& DtRemoteConfigurationEntry::sharedParameterParts() const {return (mySharedParameterParts);} 00140 00141 #endif /* DtRemoteConfigurationEntry_H_ */