summaryrefslogtreecommitdiffstats
path: root/src/qdoc/qdoc/src/qdoc/filesystem/fileresolver.h
blob: be574da30f118e4be0a7f73caf81db18d7d04174 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0

#pragma once

#include "qdoc/boundaries/filesystem/directorypath.h"
#include "qdoc/boundaries/filesystem/resolvedfile.h"

#include <optional>
#include <vector>

#include <QtCore/qstring.h>

class FileResolver {
public:
    FileResolver(std::vector<DirectoryPath>&& search_directories);

    [[nodiscard]] std::optional<ResolvedFile> resolve(QString filename) const;

    [[nodiscard]] const std::vector<DirectoryPath>& get_search_directories() const { return search_directories; }

private:
    std::vector<DirectoryPath> search_directories;
};