diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2018-01-07 10:38:55 +0100 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2018-01-07 10:38:55 +0100 |
commit | 8953a94893fe39a10b044ea62cf6971d36801880 (patch) | |
tree | 0cd0ab921827400f3ada7449827bbffaa97e7450 /src/OutputFile.h | |
parent | e0f9c8909ecba56da4c7a2ec3507b8af19b737bd (diff) | |
parent | 0315433aef00644085d2278af405eaedbc184c5c (diff) | |
download | dabmod-8953a94893fe39a10b044ea62cf6971d36801880.tar.gz dabmod-8953a94893fe39a10b044ea62cf6971d36801880.tar.bz2 dabmod-8953a94893fe39a10b044ea62cf6971d36801880.zip |
Merge branch 'flowgraphmetadata' into outputRefactoring
Diffstat (limited to 'src/OutputFile.h')
-rw-r--r-- | src/OutputFile.h | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/src/OutputFile.h b/src/OutputFile.h index 7121ef3..a586921 100644 --- a/src/OutputFile.h +++ b/src/OutputFile.h @@ -2,7 +2,7 @@ Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Her Majesty the Queen in Right of Canada (Communications Research Center Canada) - Copyright (C) 2016 + Copyright (C) 2018 Matthias P. Braendli, matthias.braendli@mpb.li http://opendigitalradio.org @@ -32,23 +32,33 @@ #include "ModPlugin.h" +#include "EtiReader.h" #include <string> #include <stdio.h> #include <sys/types.h> +#include <memory> - -class OutputFile : public ModOutput +class OutputFile : public ModOutput, public ModMetadata { public: OutputFile(std::string filename); - virtual ~OutputFile(); - virtual int process(Buffer* dataIn); - const char* name() { return "OutputFile"; } + virtual int process(Buffer* dataIn) override; + const char* name() override { return "OutputFile"; } + + virtual meta_vec_t process_metadata( + const meta_vec_t& metadataIn) override; + + void setETISource(EtiSource *etiSource); protected: + // TODO remove + EtiSource *myEtiSource = nullptr; + std::string myFilename; - FILE* myFile; + + struct FILEDeleter{ void operator()(FILE* fd){ if (fd) fclose(fd); }}; + std::unique_ptr<FILE, FILEDeleter> myFile; }; |