// Copyright (C) 1999-2018 // Smithsonian Astrophysical Observatory, Cambridge, MA, USA // For conditions of distribution and use, see copyright notice in "copyright" #ifndef __fitschannel_h__ #define __fitschannel_h__ #include "strm.h" class FitsChannel : public virtual FitsStream { public: FitsChannel(Tcl_Interp*, const char*, const char*); }; class FitsFitsChannel : public FitsChannel, public FitsFitsStream{ public: FitsFitsChannel(Tcl_Interp* interp, const char* ch, const char* ext, ScanMode mode, FlushMode flush) : FitsChannel(interp, ch, ext), FitsFitsStream(mode, flush) {} }; class FitsFitsNextChannel : public FitsFitsNextStream { public: FitsFitsNextChannel(FitsFile* prev) : FitsFitsNextStream(prev) {} }; class FitsArrChannel : public FitsChannel, FitsArrStream { public: FitsArrChannel(Tcl_Interp* interp, const char* ch, const char* ext, FlushMode flush) : FitsChannel(interp, ch, ext), FitsArrStream(flush) {} }; class FitsNRRDChannel : public FitsChannel, FitsNRRDStream { public: FitsNRRDChannel(Tcl_Interp* interp, const char* ch, const char* ext, FlushMode flush) : FitsChannel(interp, ch, ext), FitsNRRDStream(flush) {} }; class FitsMosaicChannel : public FitsChannel, FitsMosaicStream { public: FitsMosaicChannel(Tcl_Interp* interp, const char* ch, FlushMode flush) : FitsChannel(interp, ch, ""), FitsMosaicStream(flush) {} }; class FitsMosaicNextChannel : public FitsMosaicNextStream { public: FitsMosaicNextChannel(FitsFile* prev, FlushMode flush) : FitsMosaicNextStream(prev, flush) {} }; #endif