casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BackgroundThread.h
Go to the documentation of this file.
1 //# Copyright (C) 2009
2 //# Associated Universities, Inc. Washington DC, USA.
3 //#
4 //# This library is free software; you can redistribute it and/or modify it
5 //# under the terms of the GNU Library General Public License as published by
6 //# the Free Software Foundation; either version 2 of the License, or (at your
7 //# option) any later version.
8 //#
9 //# This library is distributed in the hope that it will be useful, but WITHOUT
10 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
12 //# License for more details.
13 //#
14 //# You should have received a copy of the GNU Library General Public License
15 //# along with this library; if not, write to the Free Software Foundation,
16 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
17 //#
18 //# Correspondence concerning AIPS++ should be addressed as follows:
19 //# Internet email: aips2-request@nrao.edu.
20 //# Postal address: AIPS++ Project Office
21 //# National Radio Astronomy Observatory
22 //# 520 Edgemont Road
23 //# Charlottesville, VA 22903-2475 USA
24 //#
25 
26 #ifndef BACKGROUNDTHREAD_H_
27 #define BACKGROUNDTHREAD_H_
28 
30 
31 namespace casa {
32 
33 class ThreadCommunication;
34 class PlotMSPlot;
35 
41 public:
44  bool getResult() const;
45  virtual PlotMSPlot* getPlot();
46  void* run();
47  void cancel();
48  virtual ~BackgroundThread();
49 protected:
50  virtual void cancelWork();
51  virtual bool doWork() = 0;
53  bool result;
54 private:
55  BackgroundThread( const BackgroundThread& other );
56 
57 };
58 
59 } /* namespace casa */
60 #endif /* BACKGROUNDTHREAD_H_ */
ThreadCommunication * threadController
bool getResult() const
void setClientCommunication(ThreadCommunication *threadController)
Class for a single "plot" concept.
Definition: PlotMSPlot.h:57
virtual bool doWork()=0
virtual PlotMSPlot * getPlot()
virtual void cancelWork()
Manages a thread to do a background operation and communicates back to its controller with regard to ...
Defines communication mechanisms that the model and data can use to communicate with the UI concernin...