aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.Basic/ProjectSession.cs
diff options
context:
space:
mode:
authorMirta <mirta@twine-s.com>2020-12-30 16:39:52 +0200
committerMirta <mirta@twine-s.com>2020-12-30 16:39:52 +0200
commit00a491d93733d4625ad329b2ba8237f445364b3f (patch)
tree4b24c6fa78d7648f4bb7cefafa464bb0b063fec4 /Software/Visual_Studio/Scripting/Tango.Scripting.Basic/ProjectSession.cs
parent124ad4150f80c6846fdee41dbbda9848c105f6e5 (diff)
downloadTango-00a491d93733d4625ad329b2ba8237f445364b3f.tar.gz
Tango-00a491d93733d4625ad329b2ba8237f445364b3f.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;
- }
- }
-}