#ifndef FlagCalTableHandler_H_
#define FlagCalTableHandler_H_
#include <flagging/Flagging/FlagDataHandler.h>
#include <ms/MSSel/MSSelectionTools.h>
#include <msvis/MSVis/StokesVector.h>
#if !defined(__clang__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && \
(__GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-parameter"
class DummyBufferImpl: public vi::VisBuffer2
virtual void copy (const VisBuffer2 & , casacore::Bool ) {}
virtual void copyComponents (const VisBuffer2 & ,
const VisBufferComponents2 & ,
casacore::Bool = true) {}
virtual void copyCoordinateInfo(const VisBuffer2 * , casacore::Bool ,
casacore::Bool = true) {}
virtual void setShape (casacore::Int , casacore::Int , casacore::Int , casacore::Bool) {}
virtual const vi::VisibilityIterator2 * getVi () const {return NULL;}
virtual casacore::Bool isAttached () const {return true;}
virtual casacore::Bool isFillable () const {return true;}
virtual void writeChangesBack () {}
virtual void initWeightSpectrum (const casacore::Cube<casacore::Float>&) {}
virtual void initSigmaSpectrum (const casacore::Cube<casacore::Float>&) {}
virtual void dirtyComponentsAdd (const VisBufferComponents2 & ) {}
virtual void dirtyComponentsAdd (VisBufferComponent2 ) {}
virtual void dirtyComponentsClear () {}
virtual VisBufferComponents2 dirtyComponentsGet () const { VisBufferComponents2 dummy; return dummy;}
virtual void dirtyComponentsSet (const VisBufferComponents2 & ) {}
virtual void dirtyComponentsSet (VisBufferComponent2 ) {}
virtual const casacore::Matrix<casacore::Float> & imagingWeight() const {static casacore::Matrix<casacore::Float> dummy; return dummy;}
void setImagingWeight (const casacore::Matrix<float> &) {}
virtual casacore::Double getFrequency (casacore::Int , casacore::Int ,
casacore::Int = FrameNotSpecified) const { static casacore::Double dummy; return dummy;}
virtual const casacore::Vector<casacore::Double> & getFrequencies (casacore::Int ,
casacore::Int = FrameNotSpecified) const {static casacore::Vector<casacore::Double> dummy; return dummy;}
virtual casacore::Int getChannelNumber (casacore::Int , casacore::Int ) const {static casacore::Int dummy; return dummy;}
virtual const casacore::Vector<casacore::Int> & getChannelNumbers (casacore::Int ) const {static casacore::Vector<casacore::Int> dummy; return dummy;}