freComponentMediaLink.h

Go to the documentation of this file.
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

Generated at Sat Oct 13 15:39:11 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000