Files
Sourcetrail/src/lib/utility/sonargraph/SonargraphXsdCmakeJsonModule.h
T
mlangkabel 704808b26f logic: added C/C++ project setup from Code::Blocks
* also changed xml elements in sourcegroup settings that specify the used language standard, so that one sourcegroup can maintain multiple language standards
* added migration and migrated sample projects
2018-06-08 12:10:38 +02:00

46 lines
1.7 KiB
C++

#ifndef SONARGRAPH_XSD_CMAKE_JSON_MODULE_H
#define SONARGRAPH_XSD_CMAKE_JSON_MODULE_H
#include "utility/sonargraph/SonargraphXsdAbstractModule.h"
#include "utility/sonargraph/SonargraphXsdRootPathWithFiles.h"
namespace Sonargraph
{
class XsdCmakeJsonModule : public XsdAbstractModule
{
public:
static std::string getXsdTypeName();
static std::shared_ptr<XsdCmakeJsonModule> create(const TiXmlElement* element, std::weak_ptr<SoftwareSystem> parent);
LanguageType getSupportedLanguage() const override;
std::set<FilePath> getAllSourcePaths() const override;
std::set<FilePath> getAllSourceFilePathsCanonical() const override;
std::set<FilePath> getAllCxxHeaderSearchPathsCanonical() const override;
std::vector<std::shared_ptr<IndexerCommand>> getIndexerCommands(
std::shared_ptr<const SourceGroupSettings> sourceGroupSettings,
std::shared_ptr<const ApplicationSettings> appSettings) const override;
protected:
XsdCmakeJsonModule() = default;
bool init(const TiXmlElement* element, std::weak_ptr<SoftwareSystem> parent);
std::vector<XsdRootPathWithFiles::SourceFile> getIncludedSourceFilesForRootPath(
std::shared_ptr<XsdRootPath> rootPath,
const FilePath& baseDir,
const std::set<FilePathFilter>& excludeFilters,
const std::set<FilePathFilter>& includeFilters) const;
std::vector<std::shared_ptr<IndexerCommand>> getIndexerCommandsForRootPath(
std::shared_ptr<XsdRootPathWithFiles> rootPath,
const std::set<FilePath> indexedHeaderPaths,
const std::string& languageStandard,
const std::vector<FilePath> systemHeaderSearchPaths,
const std::vector<FilePath> frameworkSearchPaths) const;
std::vector<std::shared_ptr<XsdRootPathWithFiles>> m_rootPathWithFiles;
};
}
#endif // SONARGRAPH_XSD_CMAKE_JSON_MODULE_H