FP Perception 0.1.2
Loading...
Searching...
No Matches
file_part_source.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <Poco/Net/PartSource.h>
4
5#include <sstream>
6#include <string>
7#include <vector>
8
15class FilePartSource : public Poco::Net::PartSource
16{
17public:
23 FilePartSource(const std::string& mediaType, const std::vector<char>& data)
24 : Poco::Net::PartSource(mediaType), stream_(&buffer_)
25 {
26 buffer_.sputn(data.data(), data.size());
27 buffer_.pubseekpos(0);
28 filename_ = "audio.wav"; // Default filename
29 }
30
31 ~FilePartSource() override = default;
32
33 std::istream& stream() override
34 {
35 return stream_;
36 }
37
38 const std::string& filename() const override
39 {
40 return filename_;
41 }
42
43private:
44 std::stringbuf buffer_;
45 std::istream stream_;
46 std::string filename_;
47};
FilePartSource.
Definition file_part_source.hpp:16
FilePartSource(const std::string &mediaType, const std::vector< char > &data)
Constructor for binary (char) input.
Definition file_part_source.hpp:23
const std::string & filename() const override
Definition file_part_source.hpp:38
std::string filename_
Definition file_part_source.hpp:46
std::istream & stream() override
Definition file_part_source.hpp:33
std::istream stream_
Definition file_part_source.hpp:45
~FilePartSource() override=default
std::stringbuf buffer_
Definition file_part_source.hpp:44