Archive* OpenArchive( const char* name ){
return new DirectoryArchive( name );
}
-
-#if 0
-
-class TestArchive
-{
-class TestVisitor : public Archive::IVisitor
-{
-public:
-virtual void visit( const char* name ){
- int bleh = 0;
-}
-};
-public:
-void test1(){
- Archive* archive = OpenArchive( "d:/quake/id1/" );
- ArchiveFile* file = archive->openFile( "quake101.wad" );
- if ( file != 0 ) {
- char buffer[1024];
- file->getInputStream().read( buffer, 1024 );
- file->release();
- }
- TestVisitor visitor;
- archive->forEachFile( Archive::VisitorFunc( &visitor, Archive::eFilesAndDirectories, 0 ), "" );
- archive->release();
-}
-void test2(){
- Archive* archive = OpenArchive( "d:/gtkradiant_root/baseq3/" );
- TestVisitor visitor;
- archive->forEachFile( Archive::VisitorFunc( &visitor, Archive::eFilesAndDirectories, 2 ), "" );
- archive->forEachFile( Archive::VisitorFunc( &visitor, Archive::eFiles, 1 ), "textures" );
- archive->forEachFile( Archive::VisitorFunc( &visitor, Archive::eDirectories, 1 ), "textures" );
- archive->forEachFile( Archive::VisitorFunc( &visitor, Archive::eFilesAndDirectories, 1 ), "textures" );
- archive->release();
-}
-TestArchive(){
- test1();
- test2();
-}
-};
-
-TestArchive g_test;
-
-#endif