go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxComponentLoader.h
Go to the documentation of this file.
00001 /*======================================================================
00002 
00003   This file is part of the elastix software.
00004 
00005   Copyright (c) University Medical Center Utrecht. All rights reserved.
00006   See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
00007   details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE. See the above copyright notices for more information.
00012 
00013 ======================================================================*/
00014 
00015 
00016 #ifndef __elxComponentLoader_h
00017 #define __elxComponentLoader_h
00018 
00019 #include "elxComponentDatabase.h"
00020 #include "xoutmain.h"
00021 
00022 namespace elastix
00023 {
00024 
00038   class ComponentLoader : public itk::Object
00039   {
00040   public:
00041 
00043     typedef ComponentLoader                 Self;
00044     typedef itk::Object                     Superclass;
00045     typedef itk::SmartPointer<Self>         Pointer;
00046     typedef itk::SmartPointer<const Self>   ConstPointer;
00047 
00049     itkNewMacro(Self);
00050     itkTypeMacro(ComponentLoader, Object);
00051 
00053     typedef ComponentDatabase               ComponentDatabaseType;
00054     typedef ComponentDatabaseType::Pointer  ComponentDatabasePointer;
00055 
00057     itkSetObjectMacro( ComponentDatabase, ComponentDatabaseType);
00058     itkGetObjectMacro( ComponentDatabase, ComponentDatabaseType);
00059 
00062     virtual int LoadComponents(const char * argv0);
00063 
00065     virtual void UnloadComponents(void);
00066 
00067   protected:
00069     ComponentLoader();
00070     virtual ~ComponentLoader();
00071 
00072     ComponentDatabasePointer  m_ComponentDatabase;
00073 
00074     bool          m_ImageTypeSupportInstalled;
00075     virtual int   InstallSupportedImageTypes(void);
00076 
00077   private:
00079     ComponentLoader( const Self& ); // purposely not implemented
00080     void operator=( const Self& );  // purposely not implemented
00081 
00082   }; // end class ComponentLoader
00083 
00084 } //end namespace elastix
00085 
00086 
00087 #endif // #ifndef __elxComponentLoader_h
00088 


Generated on 24-05-2012 for elastix by doxygen 1.7.6.1 elastix logo