OpenWalnut
1.4.0
|
00001 //--------------------------------------------------------------------------- 00002 // 00003 // Project: OpenWalnut ( http://www.openwalnut.org ) 00004 // 00005 // Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS 00006 // For more information see http://www.openwalnut.org/copying 00007 // 00008 // This file is part of OpenWalnut. 00009 // 00010 // OpenWalnut is free software: you can redistribute it and/or modify 00011 // it under the terms of the GNU Lesser General Public License as published by 00012 // the Free Software Foundation, either version 3 of the License, or 00013 // (at your option) any later version. 00014 // 00015 // OpenWalnut is distributed in the hope that it will be useful, 00016 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 // GNU Lesser General Public License for more details. 00019 // 00020 // You should have received a copy of the GNU Lesser General Public License 00021 // along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>. 00022 // 00023 //--------------------------------------------------------------------------- 00024 00025 #ifndef WWRITER_H 00026 #define WWRITER_H 00027 00028 #include <string> 00029 00030 #include "../../common/WDefines.h" 00031 00032 /** 00033 * Write some data to the given file. This base class is just for file 00034 * management (file exists, etc.) Subclasses may use those mechanisms and 00035 * specify their file format which is not the purpose of this base class. 00036 */ 00037 class WWriter // NOLINT 00038 { 00039 public: 00040 /** 00041 * Creates a writer object for writing something to a file. Use the flags 00042 * to specify the behaviour. 00043 * 00044 * \param fname path to the target file where stuff will be written to 00045 * \param overwrite If true existing files will be overwritten 00046 */ 00047 WWriter( std::string fname, bool overwrite = false ); 00048 00049 /** 00050 * Reset file name and checks if the file already exists in case of 00051 * non overwriting is specified. 00052 * 00053 * \param fname file name 00054 * \deprecated use setFilename instead 00055 */ 00056 OW_API_DEPRECATED void setFileName( std::string fname ); 00057 00058 /** 00059 * Reset file name and checks if the file already exists in case of 00060 * non overwriting is specified. 00061 * 00062 * \param fname file name 00063 */ 00064 void setFilename( std::string fname ); 00065 00066 protected: 00067 std::string m_fname; //!< Absolute path of the file to write to 00068 bool m_overwrite; //!< flag indicating if the file may be overwritten (true) or not (false) 00069 private: 00070 }; 00071 00072 #endif // WWRITER_H