#ifndef CXX_PROJECT_H #define CXX_PROJECT_H #include #include "settings/CxxProjectSettings.h" #include "Project.h" class CxxProject: public Project { public: virtual ~CxxProject(); protected: virtual std::shared_ptr getProjectSettings(); virtual const std::shared_ptr getProjectSettings() const; private: CxxProject(std::shared_ptr projectSettings, StorageAccessProxy* storageAccessProxy); CxxProject(const CxxProject&); virtual bool allowsRefresh(); virtual std::shared_ptr createIndexerTask( PersistentStorage* storage, std::shared_ptr storageMutex, std::shared_ptr fileRegister); virtual void updateFileManager(FileManager& fileManager); Parser::Arguments getParserArguments() const; std::shared_ptr m_projectSettings; friend Project; }; #endif // CXX_PROJECT_H