]> git.donarmstrong.com Git - flightcrew.git/blob - src/zipios/zipios++/basicentry.h
Imported Upstream version 0.7.2+dfsg
[flightcrew.git] / src / zipios / zipios++ / basicentry.h
1 #ifndef BASICENTRY_H
2 #define BASICENTRY_H
3
4 #include "zipios++/zipios-config.h"
5
6 #include "zipios++/meta-iostreams.h"
7 #include <string>
8
9 #include "zipios++/fcollexceptions.h"
10 #include "zipios++/fileentry.h"
11 #include "zipios++/filepath.h"
12 #include "zipios++/zipios_defs.h"
13
14 namespace zipios {
15
16 /** BasicEntry is a FileEntry that is suitable as a base class for
17     basic entries, that e.g. do not support any form of compression */
18 class BasicEntry : public FileEntry {
19 public:
20   /** Constructor.
21       @param filename the filename of the entry.
22       @param comment a comment for the entry.
23    */
24   explicit BasicEntry( const string &filename, const string &comment,
25                        const FilePath &basepath = FilePath() ) ;
26   virtual string getComment() const ;
27   virtual uint32 getCompressedSize() const ;
28   virtual uint32 getCrc() const ;
29   virtual vector< unsigned char > getExtra() const ;
30   virtual StorageMethod getMethod() const ;
31   virtual string getName() const ;
32   virtual string getFileName() const ;
33   virtual uint32 getSize() const ;
34   virtual int getTime() const ;
35   virtual bool isValid() const ;
36   
37   //     virtual int hashCode() const ;
38   virtual bool isDirectory() const ;
39   
40   virtual void setComment( const string &comment ) ;
41   virtual void setCompressedSize( uint32 size ) ;
42   virtual void setCrc( uint32 crc ) ;
43   virtual void setExtra( const vector< unsigned char > &extra ) ;
44   virtual void setMethod( StorageMethod method ) ;
45   virtual void setName( const string &name ) ;
46   virtual void setSize( uint32 size ) ;
47   virtual void setTime( int time ) ;
48   
49   virtual string toString() const ;
50   
51   virtual FileEntry *clone() const ;
52
53   virtual ~BasicEntry() ;
54 protected:
55   string _filename ;
56   string _comment ;
57   int _size ;
58   bool _valid ;
59   FilePath _basepath ;
60
61 };
62
63 }
64 #endif
65
66 /** \file
67     Header file that defines BasicEntry.
68 */
69
70 /*
71   Zipios++ - a small C++ library that provides easy access to .zip files.
72   Copyright (C) 2000  Thomas Søndergaard
73   
74   This library is free software; you can redistribute it and/or
75   modify it under the terms of the GNU Lesser General Public
76   License as published by the Free Software Foundation; either
77   version 2 of the License, or (at your option) any later version.
78   
79   This library is distributed in the hope that it will be useful,
80   but WITHOUT ANY WARRANTY; without even the implied warranty of
81   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
82   Lesser General Public License for more details.
83   
84   You should have received a copy of the GNU Lesser General Public
85   License along with this library; if not, write to the Free Software
86   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
87 */