C# 클래스 Nexus.Client.PluginManagement.OrderLog.PluginOrderLog.TransactionEnlistment

Tracks the changes made to an PluginOrderLog in the scope of a single Transaction. This also provides to mean to commit and rollback the tracked changes.
상속: IEnlistmentNotification
파일 보기 프로젝트 열기: NexusMods/NexusModManager-4.5

공개 메소드들

메소드 설명
Commit ( ) : void

Commits the changes to the PluginOrderLog.

Commit ( Enlistment p_eltEnlistment ) : void

Used to notify an enlisted resource manager that the transaction is being committed.

InDoubt ( Enlistment p_eltEnlistment ) : void

Used to notify an enlisted resource manager that the transaction is in doubt.

A transaction is in doubt if it has not received votes from all enlisted resource managers as to the state of the transaciton.

Prepare ( PreparingEnlistment p_entPreparingEnlistment ) : void

Used to notify an enlisted resource manager that the transaction is being prepared for commitment.

RemovePlugin ( Plugin p_plgPlugin ) : void

Removes the given plugin from the order list.

Rollback ( Enlistment p_eltEnlistment ) : void

Used to notify an enlisted resource manager that the transaction is being rolled back.

SetPluginOrder ( IList p_lstOrderedPlugins ) : void

Sets the order of the plugins to the given order.

If the given list does not include all registered plugins, then the plugins are ordered in a manner so as to not displace the positions of the plugins whose order was not specified.

TransactionEnlistment ( Transaction p_txTransaction, PluginOrderLog p_polPluginOrderLog ) : System

A simple constructor that initializes the object with the given values.

비공개 메소드들

메소드 설명
Enlist ( ) : void

Enlists the install log into the current transaction.

MasterOrderedPlugins_CollectionChanged ( object sender, NotifyCollectionChangedEventArgs e ) : void

Handles the INotifyCollectionChanged.CollectionChanged event of the master list of ordered plugins.

This applies any changes that are made to the maser list to the transacted list with which we are currently working.

메소드 상세

Commit() 공개 메소드

Commits the changes to the PluginOrderLog.
public Commit ( ) : void
리턴 void

Commit() 공개 메소드

Used to notify an enlisted resource manager that the transaction is being committed.
public Commit ( Enlistment p_eltEnlistment ) : void
p_eltEnlistment Nexus.Transactions.Enlistment The enlistment class used to communicate with the resource manager.
리턴 void

InDoubt() 공개 메소드

Used to notify an enlisted resource manager that the transaction is in doubt.
A transaction is in doubt if it has not received votes from all enlisted resource managers as to the state of the transaciton.
public InDoubt ( Enlistment p_eltEnlistment ) : void
p_eltEnlistment Nexus.Transactions.Enlistment The enlistment class used to communicate with the resource manager.
리턴 void

Prepare() 공개 메소드

Used to notify an enlisted resource manager that the transaction is being prepared for commitment.
public Prepare ( PreparingEnlistment p_entPreparingEnlistment ) : void
p_entPreparingEnlistment Nexus.Transactions.PreparingEnlistment The enlistment class used to communicate with the resource manager.
리턴 void

RemovePlugin() 공개 메소드

Removes the given plugin from the order list.
public RemovePlugin ( Plugin p_plgPlugin ) : void
p_plgPlugin Nexus.Client.Plugins.Plugin The plugin to remove from the order list.
리턴 void

Rollback() 공개 메소드

Used to notify an enlisted resource manager that the transaction is being rolled back.
public Rollback ( Enlistment p_eltEnlistment ) : void
p_eltEnlistment Nexus.Transactions.Enlistment The enlistment class used to communicate with the resource manager.
리턴 void

SetPluginOrder() 공개 메소드

Sets the order of the plugins to the given order.
If the given list does not include all registered plugins, then the plugins are ordered in a manner so as to not displace the positions of the plugins whose order was not specified.
public SetPluginOrder ( IList p_lstOrderedPlugins ) : void
p_lstOrderedPlugins IList The list indicating the desired order of the plugins.
리턴 void

TransactionEnlistment() 공개 메소드

A simple constructor that initializes the object with the given values.
public TransactionEnlistment ( Transaction p_txTransaction, PluginOrderLog p_polPluginOrderLog ) : System
p_txTransaction Nexus.Transactions.Transaction The transaction into which we are enlisting.
p_polPluginOrderLog PluginOrderLog The whose actions are being transacted.
리턴 System