26 #ifndef SBITUNESXMLPARSER_H_
27 #define SBITUNESXMLPARSER_H_
31 #include <nsISAXContentHandler.h>
32 #include <nsISAXErrorHandler.h>
33 #include <nsISAXXMLReader.h>
34 #include <nsStringAPI.h>
35 #include <sbIStringMap.h>
37 #include <sbIiTunesXMLParser.h>
40 class nsIInputStreamPump;
44 #define SBITUNESXMLPARSER_CONTRACTID \
45 "@songbirdnest.com/Songbird/sbiTunesXMLParser;1"
46 #define SBITUNESXMLPARSER_CLASSNAME \
47 "Songbird iTunes XML Parser Interface"
49 #define SBITUNESXMLPARSER_CID \
50 { 0xf0ebf580, 0xc5fb, 0x4efc, { 0x96, 0xa, 0x50, 0xbe, 0xf0, 0xbc, 0xed, 0xcc } }
59 public nsISAXContentHandler,
60 public nsISAXErrorHandler
64 NS_DECL_SBIITUNESXMLPARSER
65 NS_DECL_NSISAXCONTENTHANDLER
66 NS_DECL_NSISAXERRORHANDLER
105 typedef nsCOMPtr<sbIMutableStringMap> sbIMutableStringMapPtr;
106 typedef nsCOMPtr<sbIiTunesXMLParserListener> sbIiTunesXMLParserListenerPtr;
107 typedef nsTArray<PRInt32> Tracks;
108 typedef nsCOMPtr<nsIInputStream> nsIInputStreamPtr;
117 nsresult InitializeProperties();
122 nsresult ClearProperties();
125 sbIMutableStringMapPtr mProperties;
126 nsCOMPtr<nsIInputStreamPump> mPump;
128 nsString mPropertyName;
129 nsString mCharacters;
130 sbIiTunesXMLParserListenerPtr mListener;
nsCOMPtr< nsISAXXMLReader > nsISAXXMLReaderPtr
NS_DECL_ISUPPORTS NS_DECL_SBIITUNESXMLPARSER NS_DECL_NSISAXCONTENTHANDLER static NS_DECL_NSISAXERRORHANDLER sbiTunesXMLParser * New()