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 
10 using namespace zipios ;
11 
12 using std::cerr ;
13 using std::cout ;
14 using std::endl ;
15 using std::auto_ptr ;
16 
17 int 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 */