diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/FileTools.cpp | 25 | ||||
-rw-r--r-- | src/types/InputFile.cpp | 24 |
2 files changed, 49 insertions, 0 deletions
diff --git a/src/tools/FileTools.cpp b/src/tools/FileTools.cpp new file mode 100644 index 0000000..1522a9d --- /dev/null +++ b/src/tools/FileTools.cpp @@ -0,0 +1,25 @@ +// +// Created by Oleg on 25.01.17. +// + +#include "tgbot/tools/FileTools.h" + +#include <fstream> +#include <sstream> + +using namespace std; + +namespace FileTools { + +std::string read(const std::string& filePath) { + ifstream in(filePath, ios::in | ios::binary); + if (in) { + ostringstream contents; + contents << in.rdbuf(); + in.close(); + return contents.str(); + } + throw errno; +} + +}; diff --git a/src/types/InputFile.cpp b/src/types/InputFile.cpp new file mode 100644 index 0000000..0f6cb86 --- /dev/null +++ b/src/types/InputFile.cpp @@ -0,0 +1,24 @@ +// +// Created by Oleg Morozenkov on 25.01.17. +// + +#include "tgbot/types/InputFile.h" + +#include <fstream> + +#include "tgbot/tools/StringTools.h" +#include "tgbot/tools/FileTools.h" + +using namespace std; + +namespace TgBot { + +InputFile::Ptr InputFile::fromFile(const string& filePath, const string& mimeType) { + InputFile::Ptr result(new InputFile); + result->data = FileTools::read(filePath); + result->mimeType = mimeType; + result->fileName = StringTools::split(filePath, '/').back(); + return result; +} + +}; |