aboutsummaryrefslogtreecommitdiffstatsci
path: root/src/CrowThread.cs
diff options
context:
space:
mode:
authorj-p <jp.bruyere@live.be>2018-12-11 23:20:54 +0100
committerGitHub <noreply@github.com>2018-12-11 23:20:54 +0100
commiteef19b533a0e2ce17f2762d3acfc5990496eaaa0 (patch)
tree6f09101bd8097c1a4ca6a216597bb5d4941453fa /src/CrowThread.cs
parent65820f61457262b631eba35283c55135aecbc5f2 (diff)
parentf6732851fe211e22ff91716ac83dffc0cf09d620 (diff)
Merge pull request #44 from jpbruyere/xlib
Xlib
Diffstat (limited to 'src/CrowThread.cs')
-rw-r--r--src/CrowThread.cs65
1 files changed, 0 insertions, 65 deletions
diff --git a/src/CrowThread.cs b/src/CrowThread.cs
deleted file mode 100644
index a1b4c38e..00000000
--- a/src/CrowThread.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-//
-// CrowThread.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-using System;
-using System.Threading;
-
-namespace Crow
-{
- /// <summary>
- /// Thread monitored by current interface with Finished event when state==Stopped
- /// </summary>
- public class CrowThread {
- public bool cancelRequested = false;
- Thread thread;
- public event EventHandler Finished;
- public GraphicObject Host;
- public CrowThread (GraphicObject host, ThreadStart start){
- thread = new Thread (start);
- thread.IsBackground = true;
- Host = host;
- lock (Host.IFace.CrowThreads)
- Host.IFace.CrowThreads.Add (this);
- }
- public void CheckState(){
- if (thread.ThreadState != ThreadState.Stopped)
- return;
- Finished.Raise (Host, null);
- lock (Host.IFace.CrowThreads)
- Host.IFace.CrowThreads.Remove (this);
- }
- public void Start() { thread.Start();}
- public void Cancel(){
- if (thread.IsAlive & !cancelRequested){
- cancelRequested = true;
- thread.Join ();
- }
- lock (Host.IFace.CrowThreads)
- Host.IFace.CrowThreads.Remove (this);
- }
- }
-}
-