Main Page | Modules | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

SLDirectory.hpp

00001 // $Id: SLDirectory.hpp,v 1.4 2004/04/15 00:04:52 mr_lex Exp $
00002 #ifndef SL_DIRECTORY_HPP
00003 #define SL_DIRECTORY_HPP
00004 
00005 #include <boost/shared_ptr.hpp>
00006 
00007 #include "segusoland.hpp"
00008 #include "SLFile.hpp"
00009 #include "SLFileList.hpp"
00010 #include "SLDirectoryList.hpp"
00011 #include "SLString.hpp"
00012 #include "SLIOException.hpp"
00013 
00014 SL_NAMESPACE_BEGIN
00015 
00016 // This is to please mr g++
00017 class SLDirectoryList;
00018 
00027 class SLDirectory : public SLFile {
00028 public:
00032     class IOException : public SLIOException {
00033         public:
00035             IOException(const SLString &message)
00036             :
00037                 SLIOException(message) { }
00038     };
00039 
00040         
00047     SLDirectory(const char *path);
00048 
00059     const SLFileList &getFiles() throw(IOException);
00060 
00071     SLDirectoryList &getDirectories() throw(IOException);
00072 
00073 protected:
00077     class DirData;
00078 
00082     boost::shared_ptr<DirData> _dir_shared_ptr;
00083     
00087     void scanDir() throw(IOException);
00088     
00089 }; // class SLDirectory 
00090 
00091 SL_NAMESPACE_END
00092 #endif // #ifndef SL_DIRECTORY_HPP
00093 // $Log: SLDirectory.hpp,v $
00094 // Revision 1.4  2004/04/15 00:04:52  mr_lex
00095 // NEW: files plugin + autotools up to date
00096 //
00097 // Revision 1.3  2004/04/03 15:07:34  mr_lex
00098 // NEW: plugin system and toolkit nearly mature
00099 //
00100 // Revision 1.2  2004/04/01 19:05:48  mr_lex
00101 // cosmetic changes
00102 //
00103 // Revision 1.1  2004/04/01 13:02:40  mr_lex
00104 // NEW: added SLFileExt SLDirectory SLDirectoryList
00105 //
00106 

Generated on Mon Apr 19 01:03:33 2004 for segusoLand by doxygen 1.3.6-20040222