00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef _DATEBOOK_TYPES_H
00032 #define _DATEBOOK_TYPES_H
00033
00034 #include <qpe/datebookdb.h>
00035
00036 #include <qvaluelist.h>
00037 #include <qstringlist.h>
00038
00039 namespace Opie {
00040 namespace Datebook {
00041 class HolidayPlugin;
00042 class HolidayPluginIf;
00043 }
00044 namespace Core {
00045 class OPluginLoader;
00046 class OPluginManager;
00047 }
00048 }
00049
00050 class QLibrary;
00051
00052 enum { DAY=1,WEEK,WEEKLST,MONTH };
00053 enum { NONE=0,NORMAL,EXTENDED };
00054
00055 class DateBookDBHack : virtual public DateBookDB {
00056 public:
00057 virtual ~DateBookDBHack(){}
00058 Event eventByUID(int id);
00059 };
00060
00061 class DateBookHoliday
00062 {
00063 public:
00064 DateBookHoliday();
00065 virtual ~DateBookHoliday();
00066
00067 QStringList holidaylist(const QDate&);
00068 QStringList holidaylist(unsigned year, unsigned month, unsigned day);
00069 virtual QValueList<EffectiveEvent> getEffectiveEvents(const QDate &from,const QDate &to );
00070 virtual QValueList<EffectiveEvent> getEffectiveEvents(const QDateTime &start);
00071
00072 void reloadPlugins();
00073
00074 Opie::Core::OPluginLoader*pluginLoader(){return m_pluginLoader;}
00075 Opie::Core::OPluginManager*pluginManager(){return m_pluginManager;}
00076
00077 protected:
00078 void init();
00079 void deinit();
00080
00081 struct HPlugin {
00082 Opie::Datebook::HolidayPlugin*_plugin;
00083
00084
00085 };
00086 QValueList<HPlugin*>_pluginlist;
00087 Opie::Core::OPluginLoader*m_pluginLoader;
00088 Opie::Core::OPluginManager*m_pluginManager;
00089 };
00090
00091 class DateBookDBHoliday:virtual public DateBookDBHack {
00092 public:
00093 DateBookDBHoliday():DateBookDBHack(){db_holiday=0;}
00094 virtual ~DateBookDBHoliday(){}
00095 virtual QValueList<EffectiveEvent> getEffectiveEvents(const QDate &from,const QDate &to );
00096 virtual QValueList<EffectiveEvent> getEffectiveEvents(const QDateTime &start);
00097 virtual QValueList<EffectiveEvent> getEffectiveEventsNoHoliday(const QDate &from,const QDate &to );
00098 virtual QValueList<EffectiveEvent> getEffectiveEventsNoHoliday(const QDateTime &start);
00099
00100 DateBookHoliday*db_holiday;
00101 };
00102
00103 #endif