#pragma once #include namespace inaf::oasbo::DAQ_observers{ class BaseDAQ_Observer{ protected: inaf::oasbo::DAQ::BaseDAQ *dataAcquisition; public: BaseDAQ_Observer(inaf::oasbo::DAQ::BaseDAQ &dataAcquisition) { this->dataAcquisition = &dataAcquisition; } virtual ~BaseDAQ_Observer() { this->dataAcquisition->removeObserver(this); } virtual void updatePacketStats() = 0; virtual void updateArchiverStats() = 0; virtual void updateProviderStats() = 0; virtual void updateReceiverStats() = 0; virtual void updateAll() = 0; virtual void start() = 0; virtual void stop() = 0; }; }