aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include/vcpkg.h
blob: 75dc40b4346e4e328d2b66fd18b48f6d3511b775 (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
25
26
27
28
29
30
#pragma once

#include "package_spec.h"
#include "BinaryParagraph.h"
#include "StatusParagraphs.h"
#include "vcpkg_paths.h"

namespace vcpkg
{
    StatusParagraphs database_load_check(const vcpkg_paths& paths);

    void write_update(const vcpkg_paths& paths, const StatusParagraph& p);

    struct StatusParagraph_and_associated_files
    {
        StatusParagraph pgh;
        std::vector<std::string> files;
    };

    std::vector<StatusParagraph_and_associated_files> get_installed_files(const vcpkg_paths& paths, const StatusParagraphs& status_db);

    expected<SourceParagraph> try_load_port(const fs::path& control_path);

    inline expected<SourceParagraph> try_load_port(const vcpkg_paths& paths, const std::string& name)
    {
        return try_load_port(paths.ports / name);
    }

    expected<BinaryParagraph> try_load_cached_package(const vcpkg_paths& paths, const package_spec& spec);
} // namespace vcpkg