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: freComponentMediaLink.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 __freComponentMediaLink_h 00023 #define __freComponentMediaLink_h 00024 00025 #include "freElementals.h" 00026 #include "freExceptions.h" 00027 #include "freXMLStreamObject.h" 00028 #include "freIDPath.h" 00029 00030 #include "itkLightObject.h" 00031 00032 namespace FREE 00033 { 00040 class ComponentMediaLink: public XMLStreamObject, public itk::LightObject 00041 { 00042 public: 00043 typedef ComponentMediaLink Self; 00044 typedef itk::LightObject Superclass; 00045 typedef itk::SmartPointer<Self> Pointer; 00046 typedef itk::SmartPointer<const Self> ConstPointer; 00047 00048 itkTypeMacro(ComponentMediaLink, XMLStreamObject); 00049 itkNewMacro(ComponentMediaLink); 00050 00051 void SetMediaID(const std::string& sMediaID) {m_sMediaID = sMediaID; }; 00052 std::string GetMediaID() const { return m_sMediaID; }; 00053 00056 void SetTemplateID(const std::string& sTemplateID) {m_sTemplateID = sTemplateID; }; 00058 const std::string& GetTemplateID() const { return m_sTemplateID; }; 00061 bool IsTemplateBased() const {return m_sTemplateID.size()>0;}; 00062 00063 void SetSourceIDPath(const IDPath& sourcePath) {m_SourcePath = sourcePath; }; 00064 IDPath GetSourceIDPath() const { return m_SourcePath; }; 00065 00066 virtual void Reset(); 00067 00069 virtual ComponentMediaLink& operator = (const ComponentMediaLink& rLink); 00070 00071 protected: 00072 ComponentMediaLink(); 00073 00074 virtual ~ComponentMediaLink(); 00075 00077 virtual void AttributesLoadProcessing(const AttributesType& rAttributes); 00078 00080 virtual void SaveAttributes(AttributesSaveListType& rAttributes) const; 00081 00082 virtual void SubElementLoadProcessing(const std::string& rsXMLSubTag, const std::string& rsXMLSubElement, const std::string& rsXMLSubData); 00083 00084 virtual std::string SaveData(const unsigned int& iDepth, bool& bHasSubElements) const; 00085 00086 std::string m_sMediaID; 00087 00093 std::string m_sTemplateID; 00094 00095 IDPath m_SourcePath; 00096 00097 private: 00098 ComponentMediaLink (const ComponentMediaLink& rLink); //purposely not implemented 00099 00100 }; 00101 00102 }//end of namespace FREE 00103 00104 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000