zipios++  2.0.2
Zipios++ – a small C++ library that provides easy access to .zip files.
zipoutputstream.hpp
Go to the documentation of this file.
1 #pragma once
2 #ifndef ZIPOUTPUTSTREAM_HPP
3 #define ZIPOUTPUTSTREAM_HPP
4 
5 /*
6  Zipios++ - a small C++ library that provides easy access to .zip files.
7 
8  Copyright (C) 2000-2007 Thomas Sondergaard
9  Copyright (C) 2015 Made to Order Software Corporation
10 
11  This library is free software; you can redistribute it and/or
12  modify it under the terms of the GNU Lesser General Public
13  License as published by the Free Software Foundation; either
14  version 2 of the License, or (at your option) any later version.
15 
16  This library is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19  Lesser General Public License for more details.
20 
21  You should have received a copy of the GNU Lesser General Public
22  License along with this library; if not, write to the Free Software
23  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */
25 
33 #include "zipoutputstreambuf.hpp"
34 
35 
36 namespace zipios
37 {
38 
39 class ZipOutputStreambuf;
40 
41 class ZipOutputStream : public std::ostream
42 {
43 public:
44  ZipOutputStream(std::ostream & os);
45  virtual ~ZipOutputStream();
46 
47  void closeEntry();
48  void close();
49  void finish();
51  void setComment(std::string const & comment);
52 
53 private:
54  std::unique_ptr<std::ofstream> m_ofs;
55  std::unique_ptr<ZipOutputStreambuf> m_ozf;
56 };
57 
58 
59 } // zipios namespace
60 
61 // Local Variables:
62 // mode: cpp
63 // indent-tabs-mode: nil
64 // c-basic-offset: 4
65 // tab-width: 4
66 // End:
67 
68 // vim: ts=4 sw=4 et
69 #endif
ZipOutputStream(std::ostream &os)
Initialize a ZipOutputStream object.
void setComment(std::string const &comment)
Set the global comment.
std::unique_ptr< ZipOutputStreambuf > m_ozf
Define the zipios::ZipOutputStreambuf class.
void close()
Close the current stream.
void putNextEntry(FileEntry::pointer_t entry)
Add an entry to the output stream.
virtual ~ZipOutputStream()
Clean up a ZipOutputStream object.
std::shared_ptr< FileEntry > pointer_t
Definition: fileentry.hpp:77
A ZipOutputStream to allow for data to be compressed zlib.
std::unique_ptr< std::ofstream > m_ofs
void finish()
Finish up the output by flushing anything left.