mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-24 06:56:14 +02:00
ac89bb064a
All OS and IO operations should be moved out, leaving only some misc portable pure functions. This is useful to avoid copious CPP when doing things like Windows and Emscripten ports. Newly exposed functions to break cycles: - `restoreSignals` - `updateWindowSize`
26 lines
576 B
C++
26 lines
576 B
C++
#pragma once
|
|
///@file
|
|
|
|
#include "references.hh"
|
|
#include "path.hh"
|
|
|
|
namespace nix {
|
|
|
|
std::pair<StorePathSet, HashResult> scanForReferences(const Path & path, const StorePathSet & refs);
|
|
|
|
StorePathSet scanForReferences(Sink & toTee, const Path & path, const StorePathSet & refs);
|
|
|
|
class PathRefScanSink : public RefScanSink
|
|
{
|
|
std::map<std::string, StorePath> backMap;
|
|
|
|
PathRefScanSink(StringSet && hashes, std::map<std::string, StorePath> && backMap);
|
|
|
|
public:
|
|
|
|
static PathRefScanSink fromPaths(const StorePathSet & refs);
|
|
|
|
StorePathSet getResultPaths();
|
|
};
|
|
|
|
}
|