C# Class ChinhDo.Transactions.TxFileManager.TxEnlistment

Provides two-phase commits/rollbacks/etc for a single Transaction.
Inheritance: IEnlistmentNotification, IFileOperations
Show file Open project: NexusMods/NexusModManager-4.5

Public Methods

Method Description
AppendAllText ( string path, string contents ) : void

Appends the specified string the file, creating the file if it doesn't already exist.

Commit ( Enlistment enlistment ) : void
Copy ( string sourceFileName, string destFileName, bool overwrite ) : void

Copies the specified sourceFileName to destFileName.

CreateDirectory ( string path ) : void

Creates all directories in the specified path.

Delete ( string path ) : void

Deletes the specified file or directory. An exception is not thrown if the file does not exist.

InDoubt ( Enlistment enlistment ) : void
Move ( string srcFileName, string destFileName ) : void

Moves the specified file to a new location.

Prepare ( PreparingEnlistment preparingEnlistment ) : void
Rollback ( Enlistment enlistment ) : void

Notifies an enlisted object that a transaction is being rolled back (aborted).

This is typically called on a different thread from the transaction thread.

Snapshot ( string fileName ) : void

Take a snapshot of the specified file. The snapshot is used to rollback the file later if needed.

TxEnlistment ( ) : System

Initializes a new instance of the TxEnlistment class.

TxEnlistment ( Transaction tx ) : System

Initializes a new instance of the TxEnlistment class.

WriteAllBytes ( string path, byte contents ) : void

Creates a file, and writes the specified contents to the file. If the file already exists, it is overwritten.

WriteAllText ( string path, string contents ) : void

Creates a file, write the specified contents to the file.

Private Methods

Method Description
Enlist ( ) : void

Method Details

AppendAllText() public method

Appends the specified string the file, creating the file if it doesn't already exist.
public AppendAllText ( string path, string contents ) : void
path string The file to append the string to.
contents string The string to append to the file.
return void

Commit() public method

public Commit ( Enlistment enlistment ) : void
enlistment Nexus.Transactions.Enlistment
return void

Copy() public method

Copies the specified sourceFileName to destFileName.
public Copy ( string sourceFileName, string destFileName, bool overwrite ) : void
sourceFileName string The file to copy.
destFileName string The name of the destination file.
overwrite bool true if the destination file can be overwritten, otherwise false.
return void

CreateDirectory() public method

Creates all directories in the specified path.
public CreateDirectory ( string path ) : void
path string The directory path to create.
return void

Delete() public method

Deletes the specified file or directory. An exception is not thrown if the file does not exist.
public Delete ( string path ) : void
path string The file to be deleted.
return void

InDoubt() public method

public InDoubt ( Enlistment enlistment ) : void
enlistment Nexus.Transactions.Enlistment
return void

Move() public method

Moves the specified file to a new location.
public Move ( string srcFileName, string destFileName ) : void
srcFileName string The name of the file to move.
destFileName string The new path for the file.
return void

Prepare() public method

public Prepare ( PreparingEnlistment preparingEnlistment ) : void
preparingEnlistment Nexus.Transactions.PreparingEnlistment
return void

Rollback() public method

Notifies an enlisted object that a transaction is being rolled back (aborted).
This is typically called on a different thread from the transaction thread.
public Rollback ( Enlistment enlistment ) : void
enlistment Nexus.Transactions.Enlistment A object used to send a response to the transaction manager.
return void

Snapshot() public method

Take a snapshot of the specified file. The snapshot is used to rollback the file later if needed.
public Snapshot ( string fileName ) : void
fileName string The file to take a snapshot for.
return void

TxEnlistment() public method

Initializes a new instance of the TxEnlistment class.
public TxEnlistment ( ) : System
return System

TxEnlistment() public method

Initializes a new instance of the TxEnlistment class.
public TxEnlistment ( Transaction tx ) : System
tx Nexus.Transactions.Transaction The Transaction.
return System

WriteAllBytes() public method

Creates a file, and writes the specified contents to the file. If the file already exists, it is overwritten.
public WriteAllBytes ( string path, byte contents ) : void
path string The file to write to.
contents byte The bytes to write to the file.
return void

WriteAllText() public method

Creates a file, write the specified contents to the file.
public WriteAllText ( string path, string contents ) : void
path string The file to write to.
contents string The string to write to the file.
return void