00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkPNGImageIOFactory_h
00018 #define __itkPNGImageIOFactory_h
00019
00020 #ifdef _MSC_VER
00021 #pragma warning ( disable : 4786 )
00022 #endif
00023
00024 #include "itkObjectFactoryBase.h"
00025 #include "itkImageIOBase.h"
00026
00027 namespace itk
00028 {
00032 class ITK_EXPORT PNGImageIOFactory : public ObjectFactoryBase
00033 {
00034 public:
00036 typedef PNGImageIOFactory Self;
00037 typedef ObjectFactoryBase Superclass;
00038 typedef SmartPointer<Self> Pointer;
00039 typedef SmartPointer<const Self> ConstPointer;
00040
00042 virtual const char* GetITKSourceVersion(void) const;
00043 virtual const char* GetDescription(void) const;
00044
00046 itkFactorylessNewMacro(Self);
00047 static PNGImageIOFactory* FactoryNew() { return new PNGImageIOFactory;}
00049 itkTypeMacro(PNGImageIOFactory, ObjectFactoryBase);
00050
00052 static void RegisterOneFactory(void)
00053 {
00054 PNGImageIOFactory::Pointer pngFactory = PNGImageIOFactory::New();
00055 ObjectFactoryBase::RegisterFactory(pngFactory);
00056 }
00057
00058 protected:
00059 PNGImageIOFactory();
00060 ~PNGImageIOFactory();
00061
00062 private:
00063 PNGImageIOFactory(const Self&);
00064 void operator=(const Self&);
00065
00066 };
00067 extern "C"
00068 #ifdef _WIN32
00069 __declspec( dllexport )
00070 #endif
00071 itk::ObjectFactoryBase* itkLoad();
00072
00073
00074 }
00075
00076 #endif