![]() |
VR-Forces 4.0.4 Class Documentation
|
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