Zero Install .NET API 2.20.0
ZeroInstall.Store.FileSystem.IForwardOnlyBuilder Interface Reference

Builds a file system directory without changing or removing elements that have already been added. More...

Inheritance diagram for ZeroInstall.Store.FileSystem.IForwardOnlyBuilder:
ZeroInstall.Archives.Builders.IArchiveBuilder ZeroInstall.Store.FileSystem.IBuilder ZeroInstall.Archives.Builders.TarBuilder ZeroInstall.Archives.Builders.ZipBuilder ZeroInstall.Store.FileSystem.DirectoryBuilder ZeroInstall.Store.FileSystem.PrefixBuilder ZeroInstall.Store.Manifests.ManifestBuilder ZeroInstall.Archives.Builders.TarBz2Builder ZeroInstall.Archives.Builders.TarGzBuilder

Public Member Functions

void AddDirectory (string path)
 Adds a subdirectory to the implementation. More...
 
void AddFile (string path, Stream stream, UnixTime modifiedTime, bool executable=false)
 Adds a file to the implementation. More...
 
void AddSymlink (string path, string target)
 Adds a symbolic link to the implementation. More...
 
void AddHardlink (string path, string target, bool executable=false)
 Adds a hardlink to the implementation. More...
 

Detailed Description

Builds a file system directory without changing or removing elements that have already been added.

Member Function Documentation

◆ AddDirectory()

void ZeroInstall.Store.FileSystem.IForwardOnlyBuilder.AddDirectory ( string  path)

Adds a subdirectory to the implementation.

Parameters
pathThe path of the directory to create relative to the implementation root.
Exceptions
UnauthorizedAccessExceptionAccess to a resource was denied.
IOExceptionAn IO operation failed.

Implemented in ZeroInstall.Archives.Builders.TarBuilder, ZeroInstall.Archives.Builders.ZipBuilder, ZeroInstall.Store.FileSystem.DirectoryBuilder, ZeroInstall.Store.FileSystem.PrefixBuilder, and ZeroInstall.Store.Manifests.ManifestBuilder.

◆ AddFile()

void ZeroInstall.Store.FileSystem.IForwardOnlyBuilder.AddFile ( string  path,
Stream  stream,
UnixTime  modifiedTime,
bool  executable = false 
)

Adds a file to the implementation.

Parameters
pathThe path of the file to create relative to the implementation root.
streamThe contents of the file.
modifiedTimeThe last write time to set for the file.
executabletrue if the file's executable bit is to be set; false otherwise.
Exceptions
UnauthorizedAccessExceptionAccess to a resource was denied.
IOExceptionAn IO operation failed.

Implemented in ZeroInstall.Archives.Builders.TarBuilder, ZeroInstall.Archives.Builders.ZipBuilder, ZeroInstall.Store.FileSystem.DirectoryBuilder, ZeroInstall.Store.FileSystem.PrefixBuilder, and ZeroInstall.Store.Manifests.ManifestBuilder.

◆ AddHardlink()

void ZeroInstall.Store.FileSystem.IForwardOnlyBuilder.AddHardlink ( string  path,
string  target,
bool  executable = false 
)

Adds a hardlink to the implementation.

Parameters
pathThe path of the hardlink to create relative to the implementation root.
targetThe path of the existing file the hardlink shall be based on relative to the implementation root. Must point
executabletrue if the executable bit of the hardlink is set; false otherwise.
Exceptions
UnauthorizedAccessExceptionAccess to a resource was denied.
IOExceptionAn IO operation failed.
NotSupportedExceptionThe currently platform or builder does not support hardlinks. Use AddFile instead.

Implemented in ZeroInstall.Archives.Builders.TarBuilder, ZeroInstall.Archives.Builders.ZipBuilder, ZeroInstall.Store.FileSystem.DirectoryBuilder, ZeroInstall.Store.FileSystem.PrefixBuilder, and ZeroInstall.Store.Manifests.ManifestBuilder.

◆ AddSymlink()

void ZeroInstall.Store.FileSystem.IForwardOnlyBuilder.AddSymlink ( string  path,
string  target 
)

Adds a symbolic link to the implementation.

Parameters
pathThe path of the symlink to create relative to the implementation root.
targetThe target the symbolic link shall point to relative to path . May use non-native path separators.
Exceptions
UnauthorizedAccessExceptionAccess to a resource was denied.
IOExceptionAn IO operation failed.

Implemented in ZeroInstall.Archives.Builders.TarBuilder, ZeroInstall.Archives.Builders.ZipBuilder, ZeroInstall.Store.FileSystem.DirectoryBuilder, ZeroInstall.Store.FileSystem.PrefixBuilder, and ZeroInstall.Store.Manifests.ManifestBuilder.


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