@@ -14,14 +14,17 @@ * file. */ #import "OFObject.h" #import "OFString.h" +#import "OFZIPArchiveEntry.h" -@class OFArray; -@class OFMutableArray; -@class OFMutableDictionary; +#ifndef DOXYGEN +@class OFArray OF_GENERIC(ObjectType); +@class OFMutableArray OF_GENERIC(ObjectType); +@class OFMutableDictionary OF_GENERIC(KeyType, ObjectType); +#endif @class OFSeekableStream; @class OFStream; /*! * @class OFZIPArchive OFZIPArchive.h ObjFW/OFZIPArchive.h @@ -33,18 +36,19 @@ OFSeekableStream *_stream; uint32_t _diskNumber, _centralDirectoryDisk; uint64_t _centralDirectoryEntriesInDisk, _centralDirectoryEntries; uint64_t _centralDirectorySize, _centralDirectoryOffset; OFString *_archiveComment; - OFMutableArray *_entries; - OFMutableDictionary *_pathToEntryMap; + OFMutableArray OF_GENERIC(OFZIPArchiveEntry*) *_entries; + OFMutableDictionary OF_GENERIC(OFString*, OFZIPArchiveEntry*) + *_pathToEntryMap; OFStream *_lastReturnedStream; } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy) OFString *archiveComment; -@property (readonly, copy) OFArray *entries; +@property (readonly, copy) OFArray OF_GENERIC(OFZIPArchiveEntry*) *entries; #endif /*! * @brief Creates a new OFZIPArchive object with the specified seekable stream. * @@ -87,11 +91,11 @@ * directory, which does not need to be the order in which the actual files are * stored. * * @return The entries of the central directory of the archive as an array */ -- (OFArray*)entries; +- (OFArray OF_GENERIC(OFZIPArchiveEntry*)*)entries; /*! * @brief Returns the archive comment. * * @return The archive comment