Commit Graph

43 Commits

Author SHA1 Message Date
Andrea Corna
a6ec4f70da COMMON: Make more members of Archive constant. 2011-12-13 17:55:57 +01:00
Christoph Mallon
84220d2ca0 COMMON: Remove superfluous Common:: qualifiers. 2011-08-07 15:19:07 +02:00
Willem Jan Palenstijn
5674dda4cc COMMON: Fix conflicting comment 2011-06-20 16:27:12 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Max Horn
861e520579 COMMON: Try to clarify and update some Common::Archive docs
svn-id: r52131
2010-08-16 19:58:20 +00:00
Yotam Barnoy
1336b5464b Fixed bug in archive.cpp that caused at least one engine (SAGA) not to work
svn-id: r44560
2009-10-03 20:12:44 +00:00
Johannes Schickel
c50940bbf4 Got rid of Common::File::addDefaultDirectory, instead implemented the solution proposed in "Case agnostic handling for directories (and files)" on -devel.
svn-id: r44266
2009-09-23 00:15:00 +00:00
Willem Jan Palenstijn
6e38259270 Add a 'flat' option to FSDirectory to allow searching recursively for files in subdirectories
svn-id: r41090
2009-06-01 00:01:32 +00:00
Max Horn
5181546c63 Rewrote Common::List iterator code to ensure const correctness is preserved.
We tried to implement the list iterators in a clever way, to reduce code
duplication. But this is essentially impossible to do properly, sadly --
this is one of the places where the ugly drawbacks of C++ really show.
As a consequence, our implementation had a bug which allowed one to
convert any const_iterator to an iterator, thus allowing modifying
elements of const lists.

This rewrite reintroduces code duplication but at least ensures that no
const list is written to accidentally.

Also fix some places which incorrectly used iterator instead of const_iterator
or (in the kyra code) accidentally wrote into a const list.

svn-id: r39279
2009-03-09 22:26:02 +00:00
Max Horn
9b45dd2849 Modified FSDirectory::lookupCache to return a FSNode *pointer*, so that we can distinguish between lookup failures and invalid cache entries. Also changed SearchSet::createReadStreamForMember to not use hasFile anymore, based on the assumption that any Archive::createReadStreamForMember implementation has to verify whether the member name is valid anyway (clarified the doxygen docs accordingly)
svn-id: r38787
2009-02-22 16:48:02 +00:00
Max Horn
17014c4f47 Merged internal 'matchPath' method of class Archive into global matchString function (via an optional 'path mode' in the latter). Also changed Archive::listMatchingMembers to use path mode when matching, just like FSDirectory::listMatchingMembers
svn-id: r38277
2009-02-15 18:45:53 +00:00
Max Horn
14c5bbbccf Renamed Archive::openFile to createReadStreamForMember
svn-id: r36021
2009-01-23 04:45:44 +00:00
Max Horn
9861afd8fd Renamed ArchiveMember::open -> createReadStream, and made it a cv member (const); same for Archive::openFile
svn-id: r36020
2009-01-23 04:36:18 +00:00
Max Horn
87a2747744 Turned FSNode into a ArchiveMember subclass; removed the now obsolete FSDirectoryMember; moved FSDirectory from common/archive.h to common/fs.h
svn-id: r35578
2008-12-27 18:03:27 +00:00
Max Horn
2fec0a3088 Moved addDirectory from SearchManager to SearchSet; changed several places from using '++it' instead of 'it++' to iterate over a list (this is more efficient)
svn-id: r35576
2008-12-27 17:16:48 +00:00
Jordi Vilalta Prat
b1999a2a16 Fixed indentation and removed whitespaces at the end of line
svn-id: r35481
2008-12-22 11:22:15 +00:00
Max Horn
ea3d4fe22d cleanup
svn-id: r35381
2008-12-15 12:55:13 +00:00
Willem Jan Palenstijn
196e2cc92c refactor inconsistent calls to cacheDirectoryRecursive
svn-id: r35140
2008-11-21 13:29:53 +00:00
Max Horn
a28b531ed0 Added ArchiveMember::getDisplayName() method; changed ArchiveMember::getName() to always return a name compatible with Archive::openFile()
svn-id: r35139
2008-11-21 12:17:35 +00:00
Johannes Schickel
282ebbb0e5 Commit of patch #2207782 "ARCHIVE: New method 'getMember'".
svn-id: r34871
2008-11-01 12:49:29 +00:00
Max Horn
a2d961a827 Made constructor of SearchManager singleton private
svn-id: r34841
2008-10-22 22:31:09 +00:00
Johannes Schickel
7d331b7341 Committed updated version of my patch #2184529 "SearchSet: Get rid of SharedPtr usage".
svn-id: r34837
2008-10-22 17:44:12 +00:00
Max Horn
f881b95ddd Removed File::addDefaultDirectoryRecursive, tweaked SearchMan API slightly
svn-id: r34836
2008-10-22 17:08:17 +00:00
Johannes Schickel
ffdbb474c4 Removed SearchManager::addArchive, since SearchManager::add offers the same functionallity.
svn-id: r34795
2008-10-13 15:07:37 +00:00
Nicola Mettifogo
fb0d112bbd * Added prefix support to cache entries of FSDirectory, as specified in patch #2034983.
* Updated comments on most Archive-related classes.

svn-id: r34776
2008-10-12 06:06:04 +00:00
Nicola Mettifogo
5dd381932f Added an optional depth parameter to FSDirectory::getSubDirectory(), so that returned FSDirectory can be more flexibly configured.
svn-id: r34756
2008-10-08 09:05:21 +00:00
Johannes Schickel
e417471177 Committed slightly modified patch #2034983 "Case-insensitivy and directory handling for engines".
svn-id: r34734
2008-10-03 16:57:40 +00:00
Max Horn
c7fde102e3 Renamed FilesystemNode -> FSNode
svn-id: r34716
2008-10-02 16:58:59 +00:00
Gregory Montoir
cb4caae8eb add constructor to SearchSet::Node for proper init of structure members with gcc 3.4.x (see tracker items #2120595, #2106292)
svn-id: r34686
2008-09-29 19:09:56 +00:00
Max Horn
00ca130f19 Add priority parameter to the SearchMan API
svn-id: r34679
2008-09-29 10:30:31 +00:00
Max Horn
479e67f2f2 Modified Common::SearchSet to take signed integer priorities, for convenience (so that one can add archives with less-than-default priority)
svn-id: r34659
2008-09-27 18:32:01 +00:00
Max Horn
722d134e7e Added 'native' implementations for FSDirectory::matchPattern & SearchSet::getAllNames (untested)
svn-id: r34599
2008-09-18 08:19:00 +00:00
Max Horn
3178fad0a4 Simplified & fixed SearchManager
svn-id: r34598
2008-09-17 18:59:09 +00:00
Nicola Mettifogo
166386b581 Added first version of the SearchManager, as it is presented in patch tracker item 2093502.
svn-id: r34492
2008-09-11 13:24:01 +00:00
Johannes Schickel
093431e88d Added hasArchive to SearchSet.
svn-id: r34397
2008-09-06 22:09:34 +00:00
Max Horn
7a7e710290 Clarified / fixed some Common::Archive doxygen comments
svn-id: r34394
2008-09-06 21:09:34 +00:00
Max Horn
e5c8ebf995 Fix class FSDirectory (matchPattern would call getAllNames would call matchPattern would call ...); some cleanup
svn-id: r34366
2008-09-05 20:26:36 +00:00
Nicola Mettifogo
87d67be832 * Implemented a default matchPattern for Archive subclasses (courtesy of Fingolfin).
* Fixed bug in FSDirectory::matchPattern.

svn-id: r34359
2008-09-05 18:24:41 +00:00
Max Horn
5409b2b456 Changed FSDirectory::getSubDirectory to return a FSDirectory pointer instead of a SharedPtr
svn-id: r34334
2008-09-04 20:03:08 +00:00
Johannes Schickel
6601e6ae7c Minor formatting cleanup.
svn-id: r34319
2008-09-03 19:07:38 +00:00
Max Horn
e1918341af Changed Archive::openFile to return a SeekableReadStream* instead of a FilePtr
svn-id: r34312
2008-09-03 17:07:13 +00:00
Nicola Mettifogo
9fb10e2540 * Added Archive, an interface for searching into file containers.
* Added FSDirectory, an Archive implementation that models a directory from the filesystem.
* Added SearchSet, an Archive implementation that allows searching multiple Archives.
See patch 2034983 on sf.net.

svn-id: r34227
2008-08-31 13:58:17 +00:00