DP3
ResultStep.h
Go to the documentation of this file.
1 // Copyright (C) 2022 ASTRON (Netherlands Institute for Radio Astronomy)
2 // SPDX-License-Identifier: GPL-3.0-or-later
3 
4 #ifndef DP3_STEPS_RESULTSTEP_H_
5 #define DP3_STEPS_RESULTSTEP_H_
6 
7 #include "steps/Step.h"
8 
9 namespace dp3 {
10 namespace steps {
11 
15 
16 class ResultStep : public Step {
17  public:
20 
21  ~ResultStep() override {}
22 
23  common::Fields getRequiredFields() const override { return {}; }
24 
25  common::Fields getProvidedFields() const override { return {}; }
26 
28  bool process(std::unique_ptr<base::DPBuffer> buffer) override {
29  buffer_ = std::move(buffer);
30  return true;
31  }
32 
34  void finish() override {}
35 
38  void show(std::ostream&) const override {}
39 
43  const base::DPBuffer& get() const { return *buffer_; }
44 
47  std::unique_ptr<base::DPBuffer> take() { return std::move(buffer_); }
48 
49  private:
50  std::unique_ptr<base::DPBuffer> buffer_;
51 };
52 
53 } // namespace steps
54 } // namespace dp3
55 
56 #endif
Class to hold code for virtual base class for Flaggers in DP3.
Buffer holding the data of a timeslot/band.
Definition: DPBuffer.h:92
Definition: Fields.h:16
This class defines a step in the DP3 pipeline that keeps the result to make it possible to get the re...
Definition: ResultStep.h:16
common::Fields getProvidedFields() const override
Definition: ResultStep.h:25
ResultStep()
Creates a MultiResultStep and sets a NullStep as its next step.
void finish() override
Finish does not do anything.
Definition: ResultStep.h:34
common::Fields getRequiredFields() const override
Get the fields required by the current step.
Definition: ResultStep.h:23
bool process(std::unique_ptr< base::DPBuffer > buffer) override
Keep the buffer.
Definition: ResultStep.h:28
~ResultStep() override
Definition: ResultStep.h:21
std::unique_ptr< base::DPBuffer > take()
Definition: ResultStep.h:47
void show(std::ostream &) const override
Definition: ResultStep.h:38
const base::DPBuffer & get() const
Definition: ResultStep.h:43
Abstract base class for a DP3 step.
Definition: Step.h:52
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53