source: XIOS/dev/dev_olga/src/filter/pass_through_filter.hpp @ 1654

Last change on this file since 1654 was 1653, checked in by oabramkina, 5 years ago

Developments for visualization of XIOS workflow.

Branch is spawned from trunk r1649.

Boost library is used for producing Graphviz DOT files. Current results: a DOT file representing a static workflow. For a complete proof of concept, DOT files for each timestamp should be generated. The necessary information has been collected by XIOS, it only requires rearranging the information for graphing (changes in classes CWorkflowGraph and CGraphviz).

File size: 1.1 KB
Line 
1#ifndef __XIOS_CPassThroughFilter__
2#define __XIOS_CPassThroughFilter__
3
4#include "filter.hpp"
5
6namespace xios
7{
8  /*!
9   * A simple pass-through filter with one input slot.
10   * The pass-through filter is used to handle references on a field.
11   */
12  class CPassThroughFilter : public CFilter, public IFilterEngine
13  {
14    public:
15      /*!
16       * Constructs a pass-through filter with the one input slot.
17       *
18       * \param gc the associated garbage collector
19       * \param buildWorkflowGraph indicates whether data will be visualized
20       */
21      CPassThroughFilter(CGarbageCollector& gc, bool buildWorkflowGraph = false);
22
23      inline StdString GetName(void) {return StdString("Pass through filter");};
24
25    protected:
26      /*!
27       * Returns the input packet without making any modification to it.
28       *
29       * \param data a vector of packets corresponding to each slot
30       * \return the untouched source data packet
31       */
32      CDataPacketPtr virtual apply(std::vector<CDataPacketPtr> data);
33  }; // class CPassThroughFilter
34} // namespace xios
35
36#endif //__XIOS_CPassThroughFilter__
Note: See TracBrowser for help on using the repository browser.