From c87b38dc7b0acc53f5c92ac5e53f40cfff15d956 Mon Sep 17 00:00:00 2001 From: alwin Date: Thu, 17 Mar 2005 23:54:29 +0000 Subject: switched to common opie2-pluginloader. --- (limited to 'core/pim') diff --git a/core/pim/datebook/datebook.cpp b/core/pim/datebook/datebook.cpp index 36c4bd7..a7f6691 100644 --- a/core/pim/datebook/datebook.cpp +++ b/core/pim/datebook/datebook.cpp @@ -32,6 +32,8 @@ #include #include #include +#include +#include #include #include @@ -1085,16 +1087,20 @@ Event DateBookDBHack::eventByUID(int uid) { DateBookHoliday::DateBookHoliday() { _pluginlist.clear(); + m_pluginLoader = new Opie::Core::OPluginLoader("holidays",false); + m_pluginLoader->setAutoDelete(true); init(); } DateBookHoliday::~DateBookHoliday() { deinit(); + delete m_pluginLoader; } void DateBookHoliday::deinit() { +/* QValueList::Iterator it; for (it=_pluginlist.begin();it!=_pluginlist.end();++it) { HPlugin*_pl = *it; @@ -1105,11 +1111,37 @@ void DateBookHoliday::deinit() delete _pl; } _pluginlist.clear(); +*/ } +#if 0 +void debugLst( const Opie::Core::OPluginItem::List& lst ) { + for ( Opie::Core::OPluginItem::List::ConstIterator it = lst.begin(); it != lst.end(); ++it ) + odebug << "Name " << (*it).name() << " " << (*it).path() << " " << (*it).position() << oendl; +} +#endif + void DateBookHoliday::init() { +#if 0 deinit(); +#endif + Opie::Core::OPluginItem::List lst = m_pluginLoader->allAvailable( false ); +// debugLst( lst ); + for( Opie::Core::OPluginItem::List::Iterator it = lst.begin(); it != lst.end(); ++it ){ + Opie::Datebook::HolidayPluginIf*hif = m_pluginLoader->load(*it,IID_HOLIDAY_PLUGIN); + if (hif) { + Opie::Datebook::HolidayPlugin*pl = hif->plugin(); + if (pl) { + HPlugin*_pl=new HPlugin; + _pl->_plugin = pl; + odebug << "Found holiday " << pl->description()<_if = hif; + } + } + } +#if 0 QString path = QPEApplication::qpeDir() + "plugins/datebook/holiday"; QDir dir( path, "lib*.so" ); QStringList list = dir.entryList(); @@ -1132,6 +1164,7 @@ void DateBookHoliday::init() delete lib; } } +#endif } QStringList DateBookHoliday::holidaylist(const QDate&aDate) diff --git a/core/pim/datebook/datebooktypes.h b/core/pim/datebook/datebooktypes.h index 9eb7e89..f944e84 100644 --- a/core/pim/datebook/datebooktypes.h +++ b/core/pim/datebook/datebooktypes.h @@ -11,6 +11,9 @@ namespace Datebook { class HolidayPlugin; class HolidayPluginIf; } +namespace Core { + class OPluginLoader; +} } class QLibrary; @@ -38,10 +41,11 @@ protected: struct HPlugin { Opie::Datebook::HolidayPlugin*_plugin; - QLibrary*_lib; - Opie::Datebook::HolidayPluginIf*_if; + //QLibrary*_lib; + //Opie::Datebook::HolidayPluginIf*_if; }; QValueList_pluginlist; + Opie::Core::OPluginLoader*m_pluginLoader; }; class DateBookDBHoliday:virtual public DateBookDBHack { -- cgit v0.9.0.2