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: freProfileRequirements.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 __freProfileRequirements_h 00023 #define __freProfileRequirements_h 00024 00025 #include "freProfileRequirement.h" 00026 00027 namespace FREE 00028 { 00029 namespace CtrlProfile 00030 { 00031 00037 class ProfileRequirements: public FREE::XMLCollectionBase<ProfileRequirement> 00038 { 00039 public: 00040 typedef XMLCollectionBase<ProfileRequirement> Superclass; 00041 typedef Superclass::ElementVectorType RequirementVectorType; 00042 typedef Superclass::ElementsCountType ElementsCountType; 00043 00048 ProfileRequirement* AddRequirement(const IDPath& destination, const IDPath& source = cIDPSelf); 00049 00056 RequirementVectorType GetRequirementsBySource(const IDPath& source); 00057 00064 RequirementVectorType GetRequirementsByDestination(const IDPath& destination); 00065 00067 void DeleteRequirementsByDestination(const IDPath& destination); 00068 00070 void DeleteRequirementsBySource(const IDPath& source); 00071 00072 ProfileRequirements(); 00073 00075 ProfileRequirements( const ProfileRequirements& rRequirements); 00076 00078 ProfileRequirements& operator = (const ProfileRequirements& rRequirements); 00079 00080 virtual ~ProfileRequirements(); 00081 00082 protected: 00084 virtual void SubElementLoadProcessing(const std::string& rsXMLSubTag, const std::string& rsXMLSubElement, const std::string& rsXMLSubData); 00085 }; 00086 00087 }//end of namespace CtrlProfile 00088 }//end of namespace FREE 00089 00090 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000