Zero Install .NET API 2.20.0
ZeroInstall.Store.Implementations.ImplementationSink Class Reference

Accepts implementations and stores them. More...

Inheritance diagram for ZeroInstall.Store.Implementations.ImplementationSink:
NanoByte::Common::Threading::MarshalNoTimeout ZeroInstall.Store.Implementations.IImplementationSink ZeroInstall.Store.Implementations.ImplementationStore

Public Member Functions

 ImplementationSink (string path, bool useWriteProtection=true)
 Creates a new implementation sink using a specific path to a directory. More...
 
void Add (ManifestDigest manifestDigest, Action< IBuilder > build)
 Adds a new implementation. More...
 

Protected Attributes

readonly bool UseWriteProtection
 Controls whether implementation directories are made write-protected once added to prevent unintentional modification (which would invalidate the manifest digests).
 
readonly bool ReadOnly
 Indicates whether this implementation sink does not support write access.
 

Properties

string Path [get]
 The path to the underlying directory in the file system.
 

Detailed Description

Accepts implementations and stores them.

Constructor & Destructor Documentation

◆ ImplementationSink()

ZeroInstall.Store.Implementations.ImplementationSink.ImplementationSink ( string  path,
bool  useWriteProtection = true 
)
inline

Creates a new implementation sink using a specific path to a directory.

Parameters
pathA fully qualified directory path. The directory will be created if it doesn't exist yet.
useWriteProtectionControls whether implementation directories are made write-protected once added to prevent unintentional modification (which would invalidate the manifest digests).
Exceptions
IOExceptionThe path could not be created or the underlying filesystem can not store file-changed times accurate to the second.
UnauthorizedAccessExceptionCreating the path is not permitted.

Member Function Documentation

◆ Add()

void ZeroInstall.Store.Implementations.ImplementationSink.Add ( ManifestDigest  manifestDigest,
Action< IBuilder build 
)
inline

Adds a new implementation.

Implements ZeroInstall.Store.Implementations.IImplementationSink.


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