diff options
| author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2018-01-20 01:20:41 +0100 | 
|---|---|---|
| committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2018-01-20 01:20:41 +0100 | 
| commit | 28ddaa742d1a815c8c07d17b2a79fbfb964fdc1d (patch) | |
| tree | f22941e989bb775aacda52876c97ada7b899a7dd /src/OutputFile.h | |
| parent | 95f556cf0797ab4c23f431e5c8c5accfa7f4c30b (diff) | |
| parent | f52b0e13f61a947c26236504ffb4b072352abc04 (diff) | |
| download | dabmod-28ddaa742d1a815c8c07d17b2a79fbfb964fdc1d.tar.gz dabmod-28ddaa742d1a815c8c07d17b2a79fbfb964fdc1d.tar.bz2 dabmod-28ddaa742d1a815c8c07d17b2a79fbfb964fdc1d.zip | |
Merge branch 'outputRefactoring' into next
Diffstat (limited to 'src/OutputFile.h')
| -rw-r--r-- | src/OutputFile.h | 22 | 
1 files changed, 14 insertions, 8 deletions
| diff --git a/src/OutputFile.h b/src/OutputFile.h index 7121ef3..745e672 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,29 @@  #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(); +    OutputFile(const std::string& filename, bool show_metadata); + +    virtual int process(Buffer* dataIn) override; +    const char* name() override { return "OutputFile"; } -    virtual int process(Buffer* dataIn); -    const char* name() { return "OutputFile"; } +    virtual meta_vec_t process_metadata( +            const meta_vec_t& metadataIn) override;  protected: +    bool myShowMetadata = false;      std::string myFilename; -    FILE* myFile; + +    struct FILEDeleter{ void operator()(FILE* fd){ if (fd) fclose(fd); }}; +    std::unique_ptr<FILE, FILEDeleter> myFile;  }; | 
