void RageFileSink::IsolatedInitialize(const NameValuePairs ¶meters) { const char *fileName; if( !parameters.GetValue("OutputFileName", fileName) ) ASSERT(0); if( !m_file.Open( fileName, RageFile::WRITE ) ) // trucates existing data throw OpenErr(fileName); }
FileSink::FileSink(const char *filename) : file(filename, std::ios::out | std::ios::binary | std::ios::trunc), out(file) { if (!file) { std::string message = "FileSource: error opening file for writing: "; message += filename; throw OpenErr(message.c_str()); } }
void Socket::open() { doOpen(m_socket); m_open = true; int err = setCloseOnExec(); if(err < 0) { err = errno; close(); throw OpenErr(err); } }
void FileStore::StoreInitialize(const NameValuePairs ¶meters) { m_waiting = false; m_stream = NULL; m_file.release(); const char *fileName = NULL; #if defined(CRYPTOPP_UNIX_AVAILABLE) || _MSC_VER >= 1400 const wchar_t *fileNameWide = NULL; if (!parameters.GetValue(Name::InputFileNameWide(), fileNameWide)) #endif if (!parameters.GetValue(Name::InputFileName(), fileName)) { parameters.GetValue(Name::InputStreamPointer(), m_stream); return; } std::ios::openmode binary = parameters.GetValueWithDefault(Name::InputBinaryMode(), true) ? std::ios::binary : std::ios::openmode(0); m_file.reset(new std::ifstream); #ifdef CRYPTOPP_UNIX_AVAILABLE std::string narrowed; if (fileNameWide) fileName = (narrowed = StringNarrow(fileNameWide)).c_str(); #endif #if _MSC_VER >= 1400 if (fileNameWide) { m_file->open(fileNameWide, std::ios::in | binary); if (!*m_file) throw OpenErr(StringNarrow(fileNameWide, false)); } #endif if (fileName) { m_file->open(fileName, std::ios::in | binary); if (!*m_file) throw OpenErr(fileName); } m_stream = m_file.get(); }
void RageFileStore::StoreInitialize(const NameValuePairs ¶meters) { const char *fileName; if (parameters.GetValue("InputFileName", fileName)) { if( !m_file.Open(fileName, RageFile::READ) ) throw OpenErr(fileName); } else { ASSERT(0); } m_waiting = false; }
FileSource::FileSource (const char *filename, bool pumpAndClose, BufferedTransformation *outQueue) : Source(outQueue), file(filename, std::ios::in | std::ios::binary), in(file) { if (!file) { std::string message = "FileSource: error opening file for reading: "; message += filename; throw OpenErr(message.c_str()); } if (pumpAndClose) { PumpAll(); Close(); } }