// Copyright (c) 2012-2017 VideoStitch SAS // Copyright (c) 2018 stitchEm #ifndef EXTENSIONCHECKER_HPP_ #define EXTENSIONCHECKER_HPP_ #include "libvideostitch/ptv.hpp" #include <algorithm> // ending of path::tolower == lowercaseExtension bool hasExtension(std::string const& path, std::string const& lowercaseExtension) { if (path.length() >= lowercaseExtension.length()) { std::string lowercasePathEnding(lowercaseExtension.length(), 0); std::transform(path.end() - lowercaseExtension.length(), path.end(), lowercasePathEnding.begin(), ::tolower); return (lowercasePathEnding == lowercaseExtension); } else { return false; } } /** * Some readers need to read a string from config. * \returns 0 if config is not a string. */ std::string const* hasStringContent(VideoStitch::Ptv::Value const* config) { std::string const* l_return = 0; if (config && config->getType() == VideoStitch::Ptv::Value::STRING) l_return = &config->asString(); return l_return; } #endif // EXTENSIONCHECKER_HPP_