source: branches/4.0.0/components/native/itk-plugin/itkBioFormatsImageIOFactory.h @ 4872

Revision 4872, 2.6 KB checked in by melissa, 11 years ago (diff)

Synced 4.0.0 branch with trunk, excluding r4804.

Line 
1//
2// itkBioFormatsImageIOFactory.h
3//
4
5/*
6OME Bio-Formats package for reading and converting biological file formats.
7Copyright (C) 2005-@year@ UW-Madison LOCI and Glencoe Software, Inc.
8
9This program is free software; you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
11the Free Software Foundation; either version 3 of the License, or
12(at your option) any later version.
13
14This program is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
20along with this program; if not, write to the Free Software
21Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
22*/
23
24/*
25Adapted from the Slicer3 project: http://www.slicer.org/
26http://viewvc.slicer.org/viewcvs.cgi/trunk/Libs/MGHImageIO/
27
28See slicer-license.txt for licensing information.
29
30For more information about the ITK Plugin IO mechanism, see:
31http://www.itk.org/Wiki/Plugin_IO_mechanisms
32*/
33
34#ifndef H_ITK_BIO_FORMATS_IMAGE_IO_FACTORY_H
35#define H_ITK_BIO_FORMATS_IMAGE_IO_FACTORY_H
36
37#include "itkObjectFactoryBase.h"
38#include "itkImageIOBase.h"
39
40#include "itkBioFormatsIOWin32Header.h"
41
42namespace itk
43{
44
45  class BioFormatsImageIO_EXPORT BioFormatsImageIOFactory : public ObjectFactoryBase
46  {
47  public:
48    /** Standard class typedefs **/
49    typedef BioFormatsImageIOFactory  Self;
50    typedef ObjectFactoryBase         Superclass;
51    typedef SmartPointer<Self>        Pointer;
52    typedef SmartPointer<const Self>  ConstPointer;
53
54    /** Class methods used to interface with the registered factories **/
55    virtual const char* GetITKSourceVersion(void) const;
56    virtual const char* GetDescription(void) const;
57
58    /** Method for class instantiation **/
59    itkFactorylessNewMacro(Self);
60
61    /** RTTI (and related methods) **/
62    itkTypeMacro(BioFormatsImageIOFactory, ObjectFactoryBase);
63
64    /** Register one factory of this type **/
65    static void RegisterOneFactory(void)
66    {
67      BioFormatsImageIOFactory::Pointer BioFormatsFactory =
68        BioFormatsImageIOFactory::New();
69      ObjectFactoryBase::RegisterFactory(BioFormatsFactory);
70    }
71
72  protected:
73    BioFormatsImageIOFactory();
74    ~BioFormatsImageIOFactory();
75
76  private:
77    BioFormatsImageIOFactory(const Self&); // purposely not implemented
78    void operator=(const Self&); // purposely not implemented
79
80  }; // end class BioFormatsImageIOFactory
81
82} // end namespace itk
83
84#endif // H_ITK_BIO_FORMATS_IMAGE_IO_FACTORY_H
Note: See TracBrowser for help on using the repository browser.