CARMA C++
MiriadSDP.h
Go to the documentation of this file.
1 
12 #ifndef CARMA_SDP_MIRIADSDP_H
13 #define CARMA_SDP_MIRIADSDP_H
14 
15 // Carma tools includes
16 #include "miriad.h"
17 
18 // C++ standard library includes
19 #include <string>
20 
21 namespace carma {
22  namespace sdp {
23 
26  class Miriad {
27  public:
30  Miriad();
31 
34  virtual ~Miriad();
35 
38  const std::string &name()const { return name_;}
39 
42  const std::string &getFileName()const { return name_;}
43 
47  int getHandle()const{return tno_;}
48 
51  bool isOld()const{return isOld_;}
52 
55  bool isOpen()const{return isOpen_;}
56 
60 
64  virtual void hisopen(const char *status=0)=0;
65 
68  virtual void hisclose()=0;
69 
72  bool isHistoryOpen()const{return hisOpen_;}
73 
78  virtual bool hisread(char *line, int linelength)=0;
79 
82  virtual void hiswrite(const char *line)=0;
84 
88 
91  virtual void hopen(const char *name,const char *status,int &iostat)=0;
92 
95  virtual void hclose()=0;
96 
103  virtual void haccess(int &handle, const char *name, const char *status,
104  int &iostat)=0;
105 
108  virtual void hreada(int handle, char *buf, int buflen, int &iostat)=0;
109 
112  virtual void hdaccess(int handle, int &iostat)=0;
113 
116  virtual void hwritea(int handle, const char *buf, int buflen,
117  int &iostat)=0;
119 
120  bool justGather(){return justGatherPdb_;};
121 
122  void setGather(const bool gather);
123 protected:
126  void miropen(int tno, const std::string &name, bool isOld)
127  { tno_ = tno; name_ = name; isOld_ = isOld; isOpen_=true;}
128 
131  void mirclose();
132 
135  void setHistoryIsOpen(bool isopen){hisOpen_ = isopen;}
136 
137 protected:
138 
139 private:
140  std::string name_;
141  bool isOpen_;
142  bool hisOpen_;
143  bool isOld_;
144  int tno_;
145  bool justGatherPdb_;
146 };
147 
151 class MiriadBin : public virtual Miriad {
152 public:
155  MiriadBin();
156 
159  virtual ~MiriadBin();
160 
164 
167  virtual void hisopen(const char *status);
168 
171  virtual void hisclose();
172 
175  virtual bool hisread(char *line, int linelength);
176 
179  virtual void hiswrite(const char *line);
181 
185 
188  virtual void hopen(const char *name, const char *status, int &iostat);
189 
192  virtual void hclose();
193 
200  virtual void haccess(int &handle, const char *name, const char *status,
201  int &iostat);
202 
205  virtual void hreada(int handle, char *buf, int buflen, int &iostat);
206 
209  virtual void hdaccess(int handle, int &iostat);
210 
213  void hwritea(int handle, const char *buf, int buflen, int &iostat);
215  static bool error;
216 protected:
217 private:
218 
219 };
220 
221 } // sdp
222 } // carma
223 
224 #endif
virtual bool hisread(char *line, int linelength)=0
Read one line from history file.
virtual void haccess(int &handle, const char *name, const char *status, int &iostat)
Open as a file some part of a data set.
virtual void hisclose()
Close history file.
virtual ~MiriadBin()
Destrcutor.
virtual ~Miriad()
Destructor.
const std::string & name() const
Return name of dataset.
Definition: MiriadSDP.h:38
virtual void hreada(int handle, char *buf, int buflen, int &iostat)=0
Read ascii string terminated by a newline.
virtual void hiswrite(const char *line)=0
Write one history line.
MiriadBin()
Constructor.
virtual void hisclose()=0
Close history file.
void miropen(int tno, const std::string &name, bool isOld)
Sets various variables relating to an open dataset.
Definition: MiriadSDP.h:126
int getHandle() const
Return handle for dataset.
Definition: MiriadSDP.h:47
void mirclose()
Sets the isOpen_ and hisOpen flags to false and tno_ to -1.
virtual void hdaccess(int handle, int &iostat)=0
Close file.
virtual void haccess(int &handle, const char *name, const char *status, int &iostat)=0
Open a file as some part of a data set.
virtual void hisopen(const char *status=0)=0
Opens history file.
virtual void hiswrite(const char *line)
Write one line to history file.
virtual void hisopen(const char *status)
Opens history file.
virtual void hwritea(int handle, const char *buf, int buflen, int &iostat)=0
Write ASCII text.
virtual void hopen(const char *name, const char *status, int &iostat)
Open a MIRIAD dataset.
bool isOpen() const
Is dataset open?
Definition: MiriadSDP.h:55
virtual void hreada(int handle, char *buf, int buflen, int &iostat)
Read ascii string terminated by a newline.
virtual bool hisread(char *line, int linelength)
Read one line from history file.
bool isOld() const
Is this an &#39;old&#39; dataset?
Definition: MiriadSDP.h:51
const std::string & getFileName() const
Return name of dataset.
Definition: MiriadSDP.h:42
virtual void hclose()=0
Close a MIRIAD dataset.
virtual void hclose()
Close a MIRIAD dataset.
void hwritea(int handle, const char *buf, int buflen, int &iostat)
Write ASCII text to file.
bool isHistoryOpen() const
Is history files open?
Definition: MiriadSDP.h:72
virtual void hopen(const char *name, const char *status, int &iostat)=0
Open a MIRIAD dataset.
Abstract Base clase for item- and file-level MIRIAD operations.
Definition: MiriadSDP.h:26
Class for item- and file-level access to MIRIAD data.
Definition: MiriadSDP.h:151
virtual void hdaccess(int handle, int &iostat)
Close file.
void setHistoryIsOpen(bool isopen)
Sets the flag indicating the history file status.
Definition: MiriadSDP.h:135
Miriad()
Constructor.