@@ -17,12 +17,15 @@ #import "OFObject.h" #import "OFString.h" #import "OFXMLAttribute.h" @class OFXMLParser; -@class OFArray; -@class OFMutableArray; +#ifndef DOXYGEN +@class OFArray OF_GENERIC(ObjectType); +@class OFMutableArray OF_GENERIC(ObjectType); +@class OFMutableDictionary OF_GENERIC(KeyType, ObjectType); +#endif @class OFDataArray; @class OFStream; /*! * @protocol OFXMLParserDelegate OFXMLParser.h ObjFW/OFXMLParser.h @@ -56,11 +59,11 @@ */ - (void)parser: (OFXMLParser*)parser didStartElement: (OFString*)name prefix: (OFString*)prefix namespace: (OFString*)ns - attributes: (OFArray*)attributes; + attributes: (OFArray OF_GENERIC(OFXMLAttribute*)*)attributes; /*! * @brief This callback is called when the XML parser found the end of a tag. * * @param parser The parser which found the end of a tag @@ -155,14 +158,17 @@ } _state; size_t _i, _last; const char *_data; OFDataArray *_buffer; OFString *_name, *_prefix; - OFMutableArray *_namespaces, *_attributes; + OFMutableArray + OF_GENERIC(OFMutableDictionary OF_GENERIC(OFString*, OFString*)*) + *_namespaces; + OFMutableArray OF_GENERIC(OFXMLAttribute*) *_attributes; OFString *_attributeName, *_attributePrefix; char _delimiter; - OFMutableArray *_previous; + OFMutableArray OF_GENERIC(OFString*) *_previous; size_t _level; bool _acceptProlog; size_t _lineNumber; bool _lastCarriageReturn, _finishedParsing; of_string_encoding_t _encoding;