aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/ProjectSession.cs
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-12-30 13:01:58 +0200
committerShlomo Hecht <shlomo@twine-s.com>2020-12-30 13:01:58 +0200
commit624d19b9b7e540e16f605dce4e1c82af60372099 (patch)
tree07889b00717d3a30bb0281ed0233543fabfc9aaf /Software/Visual_Studio/Scripting/Tango.Scripting.Basic/ProjectSession.cs
parentc4aa1735efed2c87e5056dde442211c08d3f66ff (diff)
parent7c56f0ff6a9ceb7148b6cab01bbac5ddf592acb2 (diff)
downloadTango-624d19b9b7e540e16f605dce4e1c82af60372099.tar.gz
Tango-624d19b9b7e540e16f605dce4e1c82af60372099.zip
merge
Diffstat (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting.Basic/ProjectSession.cs')
-rw-r--r--Software/Visual_Studio/Scripting/Tango.Scripting.Basic/ProjectSession.cs65
1 files changed, 0 insertions, 65 deletions
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/ProjectSession.cs b/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/ProjectSession.cs
deleted file mode 100644
index 6bd3d44b9..000000000
--- a/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/ProjectSession.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Tango.Scripting.Basic
-{
- public class ProjectSession<T> where T : IContext
- {
- private Action _abortAction;
- private TaskCompletionSource<object> _completion;
-
- public event EventHandler<ProjectSessionStateChangedEventArgs> StateChanged;
-
- public ProjectSessionState State { get; set; }
-
- public Project<T> Project { get; set; }
-
- public ProjectSession(Project<T> project, Action abortAction)
- {
- _completion = new TaskCompletionSource<object>();
- Project = project;
- _abortAction = abortAction;
- }
-
- public void Abort()
- {
- _abortAction();
- State = ProjectSessionState.Aborted;
- _completion.SetException(new OperationCanceledException("Project execution aborted."));
- RaiseStateChanged();
- }
-
- internal void Failed(Exception ex)
- {
- State = ProjectSessionState.Failed;
- _completion.SetException(ex);
- RaiseStateChanged(null, ex);
- }
-
- internal void Completed(object returnValue)
- {
- State = ProjectSessionState.Completed;
- _completion.SetResult(returnValue);
- RaiseStateChanged(returnValue, null);
- }
-
- private void RaiseStateChanged(object returnValue = null, Exception ex = null)
- {
- StateChanged?.Invoke(this,
- new ProjectSessionStateChangedEventArgs()
- {
- ReturnValue = returnValue,
- State = State,
- Exception = ex
- });
- }
-
- public Task<Object> WaitForCompletion()
- {
- return _completion.Task;
- }
- }
-}