casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ActionCache.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 ACTIONCACHE_H_
27 #define ACTIONCACHE_H_
28 
30 
31 
32 namespace casa {
33 
34 class PlotMSPlot;
35 class CacheThread;
36 
37 class ActionCache : public PlotMSAction {
38 public:
40  ActionCache( Client* client, std::vector<PlotMSPlot*> plots, PMSPTMethod postThreadMethod = NULL);
41  virtual ~ActionCache();
42 protected:
43  bool doWork();
44  virtual bool isAxesValid( std::vector<PMS::Axis> cacheAxes, int plotIndex, int axisIndex ) const = 0;
45  virtual bool loadParameters();
46  virtual bool loadAxes() = 0;
47  virtual void checkFeasibility(PlotMSApp* plotms, int plotIndex, std::vector<PMS::Axis>& a ) const;
48  virtual void setUpWorkParameters(CacheThread* cacheThread, int plotIndex, std::vector<PMS::Axis>& axes) = 0;
49  virtual bool doActionSpecific(PlotMSApp* plotms);
50  std::vector<PlotMSPlot*> plots;
51  std::vector<std::vector<PMS::Axis> > axes;
52 
53 };
54 
55 } /* namespace casa */
56 #endif /* PLOTMSACTIONCACHELOAD_H_ */
std::vector< std::vector< PMS::Axis > > axes
Definition: ActionCache.h:51
virtual bool isAxesValid(std::vector< PMS::Axis > cacheAxes, int plotIndex, int axisIndex) const =0
ActionCache(Client *client)
std::vector< PlotMSPlot * > plots
Definition: ActionCache.h:50
virtual ~ActionCache()
ABSTRACT CLASSES //.
Definition: PlotMSAction.h:47
Controller class for plotms.
Definition: PlotMS.h:55
PMSPTMethod * postThreadMethod
Definition: PlotMSAction.h:261
Abstraction for the interface between the client (possibly a GUI) and the model (plot engine) that is...
Definition: Client.h:45
virtual bool loadAxes()=0
virtual bool loadParameters()
virtual bool doActionSpecific(PlotMSApp *plotms)
void PMSPTMethod(PMSPTObject, bool)
virtual void setUpWorkParameters(CacheThread *cacheThread, int plotIndex, std::vector< PMS::Axis > &axes)=0
virtual void checkFeasibility(PlotMSApp *plotms, int plotIndex, std::vector< PMS::Axis > &a) const