00001 /*========================================================================= 00002 00003 Program: F.R.E.E. - flexible registration evaluation engine 00004 Version: v.1.0.0 00005 Date: $Date: 2007/05/04 12:00:00 $ 00006 Module: $RCSfile: freParameterListIO.h,v $ 00007 Language: C++ 00008 00009 00010 00011 Copyright (c) 2007 Ralf o Floca (Department of Medical Informatics, 00012 Institute for Medical Biometry and Informatics, University of Heidelberg, 00013 Germany). All rights reserved. 00014 See FREECopyright.txt or http://www.mi.med.uni-hd.de/free/copyright.htm 00015 for details. 00016 00017 This software is distributed WITHOUT ANY WARRANTY; without even 00018 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00019 PURPOSE. See the above copyright notices for more information. 00020 00021 =========================================================================*/ 00022 00023 #ifndef __freParameterListIO_h 00024 #define __freParameterListIO_h 00025 00026 #include "freSessionComponentCache.h" 00027 #include "itkLightObject.h" 00028 00029 namespace FREE 00030 { 00031 00043 class ParameterListIO : public itk::LightObject 00044 { 00045 public: 00046 typedef std::map<std::string, IDPath> ParameterLinkMapType; 00047 00049 typedef ParameterListIO Self; 00050 typedef itk::LightObject Superclass; 00051 typedef itk::SmartPointer<Self> Pointer; 00052 typedef itk::SmartPointer<const Self> ConstPointer; 00053 00055 itkTypeMacro(ParameterListIO, itk::LightObject ); 00056 itkNewMacro(Self); 00057 00058 void SetComponentCache(SessionComponentCache* pCache); 00059 SessionComponentCache* GetComponentCache(); 00060 00061 void AddParameterLink(const std::string& sName, const IDPath& idPath); 00062 void DeleteParameterLink(const std::string& sName); 00065 IDPath GetParameterLink(const std::string& sName); 00066 void ResetParameterLinks(); 00067 00070 void SaveListToFile(const std::string& sFileName); 00073 void LoadListFromFile(const std::string& sFileName); 00074 00075 virtual ~ParameterListIO(); 00076 00077 protected: 00078 ParameterListIO(); 00079 00082 SessionComponentCache* m_pCache; 00083 ParameterLinkMapType m_Links; 00084 }; 00085 00086 } // namespace free 00087 00088 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000