VR-Vantage 1.4.1 API Class Documentation
DtConfiguration.h
Go to the documentation of this file.
00001 /****************************************************************************** 
00002 ** Copyright (c) 2007 MAK Technologies, Inc. 
00003 ** All rights reserved. 
00004 ******************************************************************************/ 
00005 /****************************************************************************** 
00006 ** $RCSfile: DtConfiguration.h,v $ $Revision: 1.15 $ $State: Exp $ 
00007 ******************************************************************************/ 
00008  
00012  
00013 #ifndef DtConfiguration_H_ 
00014 #define DtConfiguration_H_ 
00015  
00016 #include <vrvUtil/vrvUtil.h> 
00017 #include <vrvUtil/DtProxy.h>
00018 #include <makArchives/DtSerialize.h>
00019 #include <boost/serialization/version.hpp>
00020 
00021 #include <string>
00022 
00023 namespace makVrv 
00024 { 
00025 
00028    class DT_DLL_VRVUTIL DtConfiguration
00029    {
00030    public:
00031 
00032       typedef std::map<std::string,std::string> ParameterMap;
00033 
00035       DtConfiguration(const std::string& name = "");
00036 
00038       DtConfiguration(const DtConfiguration&);
00039 
00041       DtConfiguration& operator=(const DtConfiguration&);
00042 
00044       virtual ~DtConfiguration();
00045 
00047       virtual const std::string& name() const;
00048 
00050       virtual void setName(const std::string& name);
00051 
00053       virtual const std::string* findOptionalParameter(const std::string& name) const;
00054 
00056       virtual void setOptionalParameter(const std::string& name, const std::string& value);
00057 
00060       virtual void setOptionalParameters(const ParameterMap&);
00061 
00063       virtual void removeOptionalParameter(const std::string& name);
00064 
00066       const ParameterMap& optionalParameters() const;
00067 
00078       DT_DECLARE_ALL_serialize_FUNCTIONS
00079        
00080    protected:
00081 
00083       template<class Archive>
00084       void _serialize(Archive & ar, const unsigned int version)
00085       {              
00086          ar & DT_SERIALIZE_MEMBER(myName);
00087          ar & DT_SERIALIZE_MEMBER(myOptionalParameters);
00088       }
00089 
00090       std::string myName;
00091 
00092       ParameterMap myOptionalParameters;
00093       
00094       DtProxyWP myAttachedInterface;
00095 
00096    };    
00097 }
00098 
00099 BOOST_CLASS_VERSION(makVrv::DtConfiguration,1);
00100 
00101 #endif 


Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)