00001 /*========================================================================= 00002 00003 Program: F.R.E.E. - flexible registration evaluation engine 00004 Version: v.1.0.0 00005 Date: $Date: 2006/09/01 12:00:00 $ 00006 Module: $RCSfile: freProfileInheritance.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 #ifndef __freProfileInheritance_h 00023 #define __freProfileInheritance_h 00024 00025 #include "freElementals.h" 00026 #include "freXMLStringMultiMap.h" 00027 #include "freExceptions.h" 00028 00029 namespace FREE 00030 { 00031 namespace CtrlProfile 00032 { 00040 class ProfileInheritance: public XMLStringMultiMap 00041 { 00042 public: 00043 typedef XMLStringMultiMap::ElementIndexType ElementIndexType; 00044 00047 void AddAncestor(const std::string& sControllerID); 00048 00051 bool IsChildOf(const std::string& sControllerID) const; 00052 00053 std::string GetParent() const; 00054 00058 std::string GetAncestor(ElementIndexType index) const; 00059 00060 ProfileInheritance():XMLStringMultiMap(cXML_CP_Inheritance) {}; 00061 00062 ProfileInheritance(const ProfileInheritance& rProfileInheritance); 00063 00064 virtual ~ProfileInheritance(); 00065 00067 virtual ProfileInheritance& operator = (const ProfileInheritance& rProfileInheritance); 00068 00069 protected: 00070 ElementIndexType IndexOfAncestor(const std::string& sComponentID) const; 00071 00072 }; 00073 00074 }//end of namespace CtrlProfile 00075 }//end of namespace FREE 00076 00077 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000