mirror of https://github.com/mamba-org/mamba.git
39 lines
880 B
C++
39 lines
880 B
C++
// Copyright (c) 2019, QuantStack and Mamba Contributors
|
|
//
|
|
// Distributed under the terms of the BSD 3-Clause License.
|
|
//
|
|
// The full license is in the file LICENSE, distributed with this software.
|
|
|
|
#ifndef MAMBA_PREFIX_DATA_HPP
|
|
#define MAMBA_PREFIX_DATA_HPP
|
|
|
|
#include <unordered_map>
|
|
|
|
#include "package_info.hpp"
|
|
#include "history.hpp"
|
|
#include "util.hpp"
|
|
|
|
namespace mamba
|
|
{
|
|
class PrefixData
|
|
{
|
|
public:
|
|
using package_map = std::unordered_map<std::string, PackageInfo>;
|
|
|
|
PrefixData(const std::string& prefix_path);
|
|
|
|
void load();
|
|
const package_map& records() const;
|
|
void load_single_record(const fs::path& path);
|
|
|
|
History& history();
|
|
const fs::path& path() const;
|
|
|
|
History m_history;
|
|
std::unordered_map<std::string, PackageInfo> m_package_records;
|
|
fs::path m_prefix_path;
|
|
};
|
|
}
|
|
|
|
#endif
|