OB.DAAC Logo
NASA Logo
Ocean Color Science Software

ocssw V2022
FileWriter.hpp
Go to the documentation of this file.
1 #ifndef FOCS_FILEWRITER
2 #define FOCS_FILEWRITER
3 
4 #include <array>
5 #include <cstdio>
6 #include <string>
7 #include <unordered_map>
8 
9 #include <boost/filesystem.hpp>
10 
11 #include "DataProvider.hpp"
12 #include "DataRecord.hpp"
13 
14 namespace focs {
15 
16 class FileWriter : public DataProvider {
17  public:
20 
21  virtual ~FileWriter() override {}
22 
23  virtual std::vector<Product>& provides() override; // returns empty
24  // virtual std::vector<Product>& needs() override;
25 
26 
27  virtual std::unique_ptr<FileWriter> initialize_writer(DataProviderConfiguration& configuration, const std::string& group) = 0;
28 
29  enum validity {
31  };
33  (void)configuration; (void)group;
34  return invalid;
35  }
36 
37 };
38 
39 
40 } // namespace focs
41 
42 #endif // FOCS_FILEWRITER
43 
virtual validity can_process_output_group(focs::DataProviderConfiguration &configuration, const std::string &group)
Definition: FileWriter.hpp:32
const std::string & name() const
@ string
virtual std::vector< Product > & provides() override
FileWriter(const std::string &name, const std::string &description)
Definition: FileWriter.hpp:18
virtual std::unique_ptr< FileWriter > initialize_writer(DataProviderConfiguration &configuration, const std::string &group)=0
virtual ~FileWriter() override
Definition: FileWriter.hpp:21
FileWriter(const std::string &name)
Definition: FileWriter.hpp:19
const std::string & description() const