00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef XMLFILEPARSER_H
00019 #define XMLFILEPARSER_H
00020
00021
00022 #include <libxml/xmlmemory.h>
00023 #include <libxml/parser.h>
00024
00025 #include <iostream>
00026 #include <vector>
00027
00028 using namespace std;
00029
00030 class Stock;
00031 class StockGui;
00032 class StockMarketVector;
00033 class StockMarket;
00034 class Preferences;
00035
00039 class XMLFileParser {
00040
00041 private:
00042 void parseDoc(char *docname, StockMarketVector *stockMarketVector);
00043 void parseStockMarket(StockMarket *stockMarket, bool lastSaveYesterday, xmlDocPtr doc, xmlNodePtr cur);
00044 vector <float> parseValues(xmlDocPtr doc, xmlNodePtr cur);
00045 void parseStock(StockMarket *stockMarket, bool lastSaveYesterday, xmlDocPtr doc, xmlNodePtr cur);
00046
00047 public:
00048 XMLFileParser();
00049 ~XMLFileParser();
00050
00051 void parsingTheXmlFile(char *filename, StockMarketVector *stockMarketVector);
00052 void parsingTheXmlFile(char *filename, Preferences *preferences);
00053 };
00054
00055 #endif