casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ThreadCommunication.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 THREADCOMMUNICATION_H_
27 #define THREADCOMMUNICATION_H_
28 
29 #include <casa/BasicSL/String.h>
30 
31 namespace casa {
32 
39 
40 public:
41 
42  // These signals are used to update the QtProgressWidget across different
43  // threads. They shouldn't need to be used by other classes, even
44  // children.
45  // <group>
46  virtual void initializeProgress(const casacore::String& operationName) = 0;
47  virtual void setProgress(unsigned int progress, const casacore::String& status) = 0;
48  virtual void finishProgress() = 0;
49  // </group>
50 
51  // Allows the cache to set the progress.
52  virtual void setProgress(unsigned int progress) =0;
53 
54 
55  // Allows the cache to set the status.
56  virtual void setStatus(const casacore::String& status) = 0;
57  virtual void setError( const casacore::String& errorMessage ) = 0;
58  virtual void setAllowedOperations(bool background, bool pauseResume, bool cancel) = 0;
59 
60  //Thread signals it is done.
61  virtual void finished( ) = 0;
62 
63  //Enquire whether the thread was cancelled by the user.
64  virtual bool wasCanceled() const = 0;
65 
66 protected:
69 };
70 
71 }
72 #endif /* THREADCOMMUNICATION_H_ */
virtual bool wasCanceled() const =0
Enquire whether the thread was cancelled by the user.
virtual void setAllowedOperations(bool background, bool pauseResume, bool cancel)=0
virtual void setProgress(unsigned int progress, const casacore::String &status)=0
virtual void setStatus(const casacore::String &status)=0
Allows the cache to set the status.
virtual void finishProgress()=0
virtual void initializeProgress(const casacore::String &operationName)=0
These signals are used to update the QtProgressWidget across different threads.
virtual void finished()=0
Thread signals it is done.
virtual void setError(const casacore::String &errorMessage)=0
String: the storage and methods of handling collections of characters.
Definition: String.h:223
Defines communication mechanisms that the model and data can use to communicate with the UI concernin...