00001 #ifndef MSG_XBELPARSER_H
00002 #define MSG_XBELPARSER_H
00003
00004 #include "Node.hpp"
00005 #include "Folder.hpp"
00006 #include "Bookmark.hpp"
00007
00008 #include <vector>
00009 #include <sax2/DefaultHandler.hpp>
00010 #include <sax2/Attributes.hpp>
00011
00016 class MsgXbelParser : public DefaultHandler {
00017 public:
00021 MsgXbelParser();
00022
00026 ~MsgXbelParser();
00027
00032 void startElement(
00033 const XMLCh* const uri,
00034 const XMLCh* const localname,
00035 const XMLCh* const qname,
00036 const Attributes& attrs
00037 );
00038
00042 void characters(
00043 const XMLCh* const chars,
00044 const unsigned int length);
00045
00046
00047 vector<Node*> getItems();
00048
00049 private:
00055 void set_attribute(Node* node, const string& name, const string& value);
00056
00062 void set_attribute(Bookmark* node, const string& name, const string& value);
00063
00069 string _current_attr_name;
00070
00074 vector<Node*> _items;
00075 };
00076
00077 #endif