#ifndef CSM_DOC_DOCUMENTMGR_H #define CSM_DOC_DOCUMENTMGR_H #include #include #include namespace CSMDoc { class Document; class DocumentManager { std::vector mDocuments; boost::filesystem::path mProjectPath; DocumentManager (const DocumentManager&); DocumentManager& operator= (const DocumentManager&); public: DocumentManager (const boost::filesystem::path& projectPath); ///< \param projectPath Directory where additional per-project data will be stored. ~DocumentManager(); Document *addDocument (const std::vector& files, const boost::filesystem::path& savePath, bool new_); ///< The ownership of the returned document is not transferred to the caller. /// /// \param new_ Do not load the last content file in \a files and instead create in an /// appropriate way. bool removeDocument (Document *document); ///< \return last document removed? }; } #endif