C# Class SmartSync.DeploymentRepository

Afficher le fichier Open project: projectkudu/KuduCalf

Méthodes publiques

Méthode Description
CreateSnapshotFromDirectory ( DirectoryInfo dirRoot, string comment, bool>.Func filter = null ) : SnapshotId
CreateSnapshotFromFiles ( FileInfo>.IEnumerable fileList, string comment ) : SnapshotId
FromToken ( string tok ) : SnapshotId
GetAddedItemsBetweenSnapshots ( SnapshotId currentId, SnapshotId targetId ) : IEnumerable
GetDeletedItemsBetweenSnapshots ( SnapshotId currentId, SnapshotId targetId ) : IEnumerable
GetLatestSnapshot ( ) : SnapshotInfo
GetLatestSnapshotId ( ) : SnapshotId
GetPreviousSnapshot ( SnapshotInfo snapshotInfo ) : SnapshotInfo
GetPreviousSnapshotId ( SnapshotId snapshotId ) : SnapshotId
GetSnapshotInfo ( SnapshotId snapshotId ) : SnapshotInfo
GetSnapshotItems ( SnapshotId token ) : IEnumerable
Initialize ( ) : bool
ListAllSnapshots ( ) : IEnumerable
ListSnapshotsBetween ( SnapshotId firstId, SnapshotId lastId ) : IEnumerable

List snapshots between first id and last id inclusive.

PopulateDirectoryFromSnapshot ( SnapshotId snapshotId, DirectoryInfo dirRoot ) : void

Copies files from snapshot to dirRoot.

Doesn't delete any data, only adds or modifies data under dirRoot.

ProcessDeletionsBetweenSnapshot ( SnapshotId currentId, SnapshotId targetId, DirectoryInfo dirRoot ) : void
UpdateDirectoryFromSnapshot ( SnapshotId currentId, SnapshotId targetId, DirectoryInfo dirRoot ) : void

Méthodes protégées

Méthode Description
DeploymentRepository ( ) : System
SafeCombinePath ( DirectoryInfo dirInfo, string path ) : string

This does a path concatenation but verifies that the resulting file path is a results in a path underneath the root. This is a security best practice to avoid folks modifying files by creating relative paths such as "foo\..\..\bar"

TryCopyFile ( string src, string dst, bool logCopyFiles = true ) : bool
TryDeleteFile ( string path ) : bool

Private Methods

Méthode Description
ListFilesInDirectory ( DirectoryInfo dirRoot, DirectoryInfo curDir, bool>.Func filter ) : FileInfo>>.IEnumerable

Method Details

CreateSnapshotFromDirectory() public méthode

public CreateSnapshotFromDirectory ( DirectoryInfo dirRoot, string comment, bool>.Func filter = null ) : SnapshotId
dirRoot System.IO.DirectoryInfo
comment string
filter bool>.Func
Résultat SnapshotId

CreateSnapshotFromFiles() public abstract méthode

public abstract CreateSnapshotFromFiles ( FileInfo>.IEnumerable fileList, string comment ) : SnapshotId
fileList FileInfo>.IEnumerable
comment string
Résultat SnapshotId

DeploymentRepository() protected méthode

protected DeploymentRepository ( ) : System
Résultat System

FromToken() public abstract méthode

public abstract FromToken ( string tok ) : SnapshotId
tok string
Résultat SnapshotId

GetAddedItemsBetweenSnapshots() public méthode

public GetAddedItemsBetweenSnapshots ( SnapshotId currentId, SnapshotId targetId ) : IEnumerable
currentId SnapshotId
targetId SnapshotId
Résultat IEnumerable

GetDeletedItemsBetweenSnapshots() public méthode

public GetDeletedItemsBetweenSnapshots ( SnapshotId currentId, SnapshotId targetId ) : IEnumerable
currentId SnapshotId
targetId SnapshotId
Résultat IEnumerable

GetLatestSnapshot() public méthode

public GetLatestSnapshot ( ) : SnapshotInfo
Résultat SnapshotInfo

GetLatestSnapshotId() public abstract méthode

public abstract GetLatestSnapshotId ( ) : SnapshotId
Résultat SnapshotId

GetPreviousSnapshot() public méthode

public GetPreviousSnapshot ( SnapshotInfo snapshotInfo ) : SnapshotInfo
snapshotInfo SnapshotInfo
Résultat SnapshotInfo

GetPreviousSnapshotId() public abstract méthode

public abstract GetPreviousSnapshotId ( SnapshotId snapshotId ) : SnapshotId
snapshotId SnapshotId
Résultat SnapshotId

GetSnapshotInfo() public abstract méthode

public abstract GetSnapshotInfo ( SnapshotId snapshotId ) : SnapshotInfo
snapshotId SnapshotId
Résultat SnapshotInfo

GetSnapshotItems() public abstract méthode

public abstract GetSnapshotItems ( SnapshotId token ) : IEnumerable
token SnapshotId
Résultat IEnumerable

Initialize() public abstract méthode

public abstract Initialize ( ) : bool
Résultat bool

ListAllSnapshots() public méthode

public ListAllSnapshots ( ) : IEnumerable
Résultat IEnumerable

ListSnapshotsBetween() public méthode

List snapshots between first id and last id inclusive.
public ListSnapshotsBetween ( SnapshotId firstId, SnapshotId lastId ) : IEnumerable
firstId SnapshotId A more recently created snapshot.
lastId SnapshotId An id older than first Id
Résultat IEnumerable

PopulateDirectoryFromSnapshot() public méthode

Copies files from snapshot to dirRoot.
Doesn't delete any data, only adds or modifies data under dirRoot.
public PopulateDirectoryFromSnapshot ( SnapshotId snapshotId, DirectoryInfo dirRoot ) : void
snapshotId SnapshotId The snapshot id
dirRoot System.IO.DirectoryInfo Root to extract
Résultat void

ProcessDeletionsBetweenSnapshot() public méthode

public ProcessDeletionsBetweenSnapshot ( SnapshotId currentId, SnapshotId targetId, DirectoryInfo dirRoot ) : void
currentId SnapshotId
targetId SnapshotId
dirRoot System.IO.DirectoryInfo
Résultat void

SafeCombinePath() protected méthode

This does a path concatenation but verifies that the resulting file path is a results in a path underneath the root. This is a security best practice to avoid folks modifying files by creating relative paths such as "foo\..\..\bar"
protected SafeCombinePath ( DirectoryInfo dirInfo, string path ) : string
dirInfo System.IO.DirectoryInfo
path string
Résultat string

TryCopyFile() protected méthode

protected TryCopyFile ( string src, string dst, bool logCopyFiles = true ) : bool
src string
dst string
logCopyFiles bool
Résultat bool

TryDeleteFile() protected méthode

protected TryDeleteFile ( string path ) : bool
path string
Résultat bool

UpdateDirectoryFromSnapshot() public méthode

public UpdateDirectoryFromSnapshot ( SnapshotId currentId, SnapshotId targetId, DirectoryInfo dirRoot ) : void
currentId SnapshotId
targetId SnapshotId
dirRoot System.IO.DirectoryInfo
Résultat void