TuttleOFX  1
Folder.hpp
Go to the documentation of this file.
00001 #ifndef _SEQUENCE_PARSER_FOLDER_HPP_
00002 #define _SEQUENCE_PARSER_FOLDER_HPP_
00003 
00004 #include <FileObject.hpp>
00005 
00006 namespace sequenceParser {
00007 
00008 class Folder : public FileObject
00009 {
00010 
00011 public:
00012 
00013         Folder( const boost::filesystem::path& directory, const std::string folderName, const EMaskOptions& options ) :
00014         FileObject( directory, eMaskTypeDirectory, options ),
00015         _folderName( folderName ) { }
00016 
00017         Folder( const Folder& other )
00018         : FileObject( other )
00019         , _folderName( other._folderName )
00020         {}
00021         
00022         ~Folder() { }
00023 
00024         std::ostream& getCout( std::ostream& os ) const;
00025 
00026         std::vector<boost::filesystem::path> getFiles() const;
00027 
00028         inline void clear()
00029         {
00030                 FileObject::clear();
00031                 _folderName.clear();
00032         }
00033 
00034         Folder* clone() const { return new Folder(*this); }
00035         
00036 private:
00037         std::ostream& getProperties( std::ostream& os, const boost::filesystem::path& directory );
00038 
00039 private:
00040         std::string _folderName;
00041 };
00042 
00043 }
00044 
00045 #endif