VR-Forces 4.0.4 Class Documentation
include/vrfutil/remoteConfigurationEntry.h
Go to the documentation of this file.
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_ */

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)