Zipios++
test_dircoll.cpp
Go to the documentation of this file.
1
2
3#include "zipios++/zipios-config.h"
4
5#include "zipios++/meta-iostreams.h"
6#include <memory>
7
8#include "zipios++/dircoll.h"
9
10using namespace zipios ;
11
12using std::cerr ;
13using std::cout ;
14using std::endl ;
15using std::auto_ptr ;
16
17int main() {
18 try {
19
20 cout << "Instantiating a DirectoryCollection" << endl ;
21 DirectoryCollection collection( "../zipios++" ) ;
22
23 ConstEntryPointer ent = collection.getEntry( "zipios-config.h" ) ;
24 if ( ent != 0 ) {
25 auto_ptr< istream > is( collection.getInputStream( ent ) ) ;
26
27 cout << "Contents of entry, " << ent->getName() << " :" << endl ;
28
29 cout << is->rdbuf() ;
30 }
31
32
33 cout << "list length : " << collection.size() << endl ;
34
35 ConstEntries entries ;
36 entries = collection.entries() ;
37
38
39 ConstEntries::iterator it ;
40 for( it = entries.begin() ; it != entries.end() ; it++)
41 cout << *(*it) << endl ;
42
43 ent = collection.getEntry( "zipios-config.h" ) ;
44 if ( ent != 0 ) {
45 auto_ptr< istream > is( collection.getInputStream( ent ) ) ;
46
47 cout << "Contents of entry, " << ent->getName() << " :" << endl ;
48
49 cout << is->rdbuf() ;
50 }
51 cout << "end of main()" << endl ;
52
53 return 0 ;
54 }
55 catch( exception &excp ) {
56 cerr << "Exception caught in main() :" << endl ;
57 cerr << excp.what() << endl ;
58 }
59 return -1;
60}
61
68/*
69 Zipios++ - a small C++ library that provides easy access to .zip files.
70 Copyright (C) 2000 Thomas Søndergaard
71
72 This library is free software; you can redistribute it and/or
73 modify it under the terms of the GNU Lesser General Public
74 License as published by the Free Software Foundation; either
75 version 2 of the License, or (at your option) any later version.
76
77 This library is distributed in the hope that it will be useful,
78 but WITHOUT ANY WARRANTY; without even the implied warranty of
79 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
80 Lesser General Public License for more details.
81
82 You should have received a copy of the GNU Lesser General Public
83 License along with this library; if not, write to the Free Software
84 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
85*/
DirectoryCollection is a FileCollection that obtains its entries from a directory.
Definition dircoll.h:19
SimpleSmartPointer is a simple reference counting smart pointer template.
Header file that defines DirectoryCollection.
vector< EntryPointer > ConstEntries
ConstEntries is a vector of ConstEntryPointer's.
Definition fileentry.h:43