source: trunk/source/visualization/HepRep/include/cheprep/ZipOutputStreamBuffer.h @ 834

Last change on this file since 834 was 834, checked in by garnier, 16 years ago

import all except CVS

  • Property svn:executable set to *
File size: 1.6 KB
Line 
1// Copyright FreeHEP, 2005.
2#ifndef CHEPREP_ZIPOUTPUTSTREAMBUFFER_H
3#define CHEPREP_ZIPOUTPUTSTREAMBUFFER_H
4
5#include <string>
6#include <iostream>
7#include <vector>
8
9#include "cheprep/DeflateOutputStreamBuffer.h"
10
11/**
12 * @author Mark Donszelmann
13 * @version $Id: ZipOutputStreamBuffer.h,v 1.9 2005/06/02 21:28:45 duns Exp $
14 */
15namespace cheprep {
16
17    class ZipEntry;
18
19    class ZipOutputStreamBuffer : public DeflateOutputStreamBuffer {
20
21        public:
22
23            ZipOutputStreamBuffer(std::streambuf* buffer);
24 
25            int overflow(int c);
26   
27            void closeEntry();
28
29            void close();
30
31            void putNextEntry(const std::string& name, bool compress);
32
33            void setMethod(int method);
34           
35            void setComment(const std::string& comment);
36
37            virtual ~ZipOutputStreamBuffer();
38
39        private:
40            std::string comment;
41
42            bool closed;
43            ZipEntry* entry;
44            std::vector<ZipEntry*>* entries;
45                               
46            static const unsigned int LOCSIG = 0x04034b50;
47            static const unsigned int EXTSIG = 0x08074b50;
48            static const unsigned int CENSIG = 0x02014b50;
49            static const unsigned int ENDSIG = 0x06054b50;
50       
51            static const unsigned int VERSIONMADE           = 0x0014;
52            static const unsigned int VERSIONEXTRACT        = 0x0014;
53            static const unsigned int GENFLAG               = 0x0008;
54    };
55 
56} // cheprep
57
58#endif // CHEPREP_ZIPOUTPUTSTREAMBUFFER_H
Note: See TracBrowser for help on using the repository browser.