Nix  2.93.0-dev
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
nix::NARRestoreVisitor Struct Reference
Inheritance diagram for nix::NARRestoreVisitor:
[legend]
Collaboration diagram for nix::NARRestoreVisitor:
[legend]

Public Member Functions

 NARRestoreVisitor (Path dstPath, bool useCaseHack)
 
box_ptr< NARParseVisitorcreateDirectory (const std::string &name_) override
 
box_ptr< FileHandlecreateRegularFile (const std::string &name_, uint64_t size, bool executable) override
 
void createSymlink (const std::string &name_, const std::string &target) override
 

Public Attributes

Path dstPath
 
bool useCaseHack
 
std::map< Path, int, CaseInsensitiveComparecaseHackNames
 

Detailed Description

This code restores NARs from disk.

See Note [NAR restoration security] for security invariants in this procedure.

Member Function Documentation

◆ createDirectory()

box_ptr< NARParseVisitor > nix::NARRestoreVisitor::createDirectory ( const std::string & name_)
inlineoverridevirtual

Implements nix::NARParseVisitor.

◆ createRegularFile()

box_ptr< FileHandle > nix::NARRestoreVisitor::createRegularFile ( const std::string & name,
uint64_t size,
bool executable )
inlineoverridevirtual

Creates a regular file in the extraction output with the given size and executable flag. The size is guaranteed to be the true size of the file.

Implements nix::NARParseVisitor.

◆ createSymlink()

void nix::NARRestoreVisitor::createSymlink ( const std::string & name_,
const std::string & target )
inlineoverridevirtual

Implements nix::NARParseVisitor.


The documentation for this struct was generated from the following file: