00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkDirectory_h
00018 #define __itkDirectory_h
00019
00020 #include "itkObject.h"
00021 #include <itksys/Directory.hxx>
00022
00023 namespace itk
00024 {
00038 class ITKCommon_EXPORT Directory : public Object
00039 {
00040 public:
00042 typedef Directory Self;
00043 typedef Object Superclass;
00044 typedef SmartPointer<Self> Pointer;
00045 typedef SmartPointer<const Self> ConstPointer;
00046
00048 static Pointer New()
00049 { Pointer n = new Self; n->UnRegister(); return n; }
00050
00052 itkTypeMacro(Directory,Object);
00053
00057 bool Load(const char* dir);
00058
00060 std::vector<std::string>::size_type GetNumberOfFiles();
00061
00063 const char* GetFile(unsigned int index);
00064
00065 protected:
00066 Directory();
00067 ~Directory() ;
00068 virtual void PrintSelf(std::ostream& os, Indent indent) const;
00069
00070 private:
00071 Directory(const Self&);
00072 void operator=(const Self&);
00073
00074 ::itksys::Directory* m_Internal;
00075 };
00076
00077 }
00078
00079 #endif
00080