summaryrefslogtreecommitdiff
path: root/core/pim/datebook/holiday/national/nationalcfg.h
Side-by-side diff
Diffstat (limited to 'core/pim/datebook/holiday/national/nationalcfg.h') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/holiday/national/nationalcfg.h48
1 files changed, 42 insertions, 6 deletions
diff --git a/core/pim/datebook/holiday/national/nationalcfg.h b/core/pim/datebook/holiday/national/nationalcfg.h
index 8f15097..872df65 100644
--- a/core/pim/datebook/holiday/national/nationalcfg.h
+++ b/core/pim/datebook/holiday/national/nationalcfg.h
@@ -3,11 +3,45 @@
#include <qxml.h>
#include <qstringlist.h>
+#include <qvaluelist.h>
#include <qmap.h>
#include <qdatetime.h>
typedef QMap<QDate,QStringList> tholidaylist;
+class NHentry
+{
+public:
+ enum entry_type{fix,floating};
+ NHentry();
+ virtual ~NHentry();
+
+ void setName(const QString&);
+ const QString&name()const;
+ void setType(entry_type);
+ entry_type type()const;
+ void setDate(const QDate&);
+ const QDate&date()const;
+ void setWeekday(const QString&);
+ const QString&weekday()const;
+ void setDayofmonth(const QString&);
+ const QString&dayofmonth()const;
+ void setDaydep(const QString&);
+ const QString&daydep()const;
+ void setMonth(const QString&);
+ const QString&month()const;
+ void setOffet(int);
+ const int offset()const;
+
+protected:
+ entry_type m_Type;
+ QString m_Name,m_Weekday,m_Dayofmonth,m_Depth,m_Month;
+ QDate m_Date;
+ int m_Offset;
+};
+
+typedef QValueList<NHentry> tentrylist;
+
class NHcfg:public QXmlDefaultHandler
{
public:
@@ -15,7 +49,8 @@ public:
virtual ~NHcfg();
bool load(const QString&);
- const tholidaylist&days()const;
+ const tentrylist&fixDates()const;
+ const tentrylist&floatingDates()const;
virtual bool warning(const QXmlParseException& e);
virtual bool error(const QXmlParseException& e);
@@ -25,15 +60,16 @@ public:
virtual const QString&errorString()const;
protected:
- tholidaylist _content;
- QString _contentname;
- QString err;
+ QString err,_contentname;
QString _path;
+ NHentry m_currentEntry;
+
bool setName(const QXmlAttributes&);
bool parsevalue(const QString&,const QXmlAttributes&);
- int stage;
-// int pos;
+ bool parseCalc(const QString&,const QXmlAttributes&);
+ int stage,counter,level;
+ tentrylist currentFloatList,currentFixList;
};
#endif