00001 #ifndef ROOTFOLDER_H 00002 #define ROOTFOLDER_H 00003 00004 #include "Any.h" 00005 #include "FCO.h" 00006 #include "FolderRep.h" 00007 #include "ModelRep.h" 00008 #include "AtomRep.h" 00009 #include "ConnectionRep.h" 00010 #include "SetRep.h" 00011 #include "ReferenceRep.h" 00012 #include "FcoRep.h" 00013 00014 #include "list" 00015 #include "vector" 00016 00017 class RootFolder 00018 { 00019 public: // types 00020 typedef std::vector<FCO*>::iterator FCO_Iterator; 00021 typedef std::vector<FCO*>::const_iterator FCO_ConstIterator; 00022 typedef std::vector<FolderRep*>::const_iterator SubFolder_ConstIterator; 00023 00024 public: 00025 RootFolder() 00026 { 00027 m_subFolderList.clear(); 00028 m_fcoList.clear(); 00029 } 00030 00031 ~RootFolder() 00032 { 00033 m_subFolderList.clear(); 00034 m_fcoList.clear(); 00035 } 00036 00037 void addRootElement( FCO * ptr); 00038 bool isInRoot( FCO * ptr) const; 00039 00040 void addSubFolder( FolderRep * ptr); 00041 00042 protected: 00043 std::vector<FCO *> m_fcoList; 00044 std::vector<FolderRep*> m_subFolderList; 00045 00046 private: // forbiding copy 00047 RootFolder( const RootFolder&); 00048 void operator=( const RootFolder&); 00049 00050 }; 00051 #endif //ROOTFOLDER_H