| 187 | } |
| 188 | |
| 189 | void Writer::insertBinFile(const char* FileName) |
| 190 | { |
| 191 | Base::FileInfo fi(FileName); |
| 192 | Base::ifstream from(fi, std::ios::in | std::ios::binary | std::ios::ate); |
| 193 | if (!from) { |
| 194 | throw Base::FileException("Writer::insertAsciiFile() Could not open file!"); |
| 195 | } |
| 196 | |
| 197 | Stream() << "<![CDATA["; |
| 198 | std::ifstream::pos_type fileSize = from.tellg(); |
| 199 | from.seekg(0, std::ios::beg); |
| 200 | std::vector<unsigned char> bytes(static_cast<size_t>(fileSize)); |
| 201 | // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) |
| 202 | from.read(reinterpret_cast<char*>(bytes.data()), fileSize); |
| 203 | Stream() << Base::base64_encode(bytes.data(), static_cast<unsigned int>(fileSize)); |
| 204 | Stream() << "]]>" << std::endl; |
| 205 | |
| 206 | checkErrNo(); |
| 207 | } |
| 208 | |
| 209 | void Writer::setForceXML(bool on) |
| 210 | { |
no test coverage detected