Engines
weatherengine.h
Go to the documentation of this file.00001 /*************************************************************************** 00002 * Copyright (C) 2007 by Shawn Starr <shawn.starr@rogers.com> * 00003 * * 00004 * This program is free software; you can redistribute it and/or modify * 00005 * it under the terms of the GNU General Public License as published by * 00006 * the Free Software Foundation; either version 2 of the License, or * 00007 * (at your option) any later version. * 00008 * * 00009 * This program is distributed in the hope that it will be useful, * 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00012 * GNU General Public License for more details. * 00013 * * 00014 * You should have received a copy of the GNU General Public License * 00015 * along with this program; if not, write to the * 00016 * Free Software Foundation, Inc., * 00017 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * 00018 ***************************************************************************/ 00019 00020 #ifndef _WEATHER_ENGINE_H_ 00021 #define _WEATHER_ENGINE_H_ 00022 00023 #include <KService> 00024 #include <KGenericFactory> 00025 #include <Plasma/DataEngine> 00026 #include "ions/ion.h" 00027 00028 class QTimer; 00029 00036 class WeatherEngine : public Plasma::DataEngine 00037 { 00038 Q_OBJECT 00039 00040 public: 00045 WeatherEngine(QObject *parent, const QVariantList &args); 00046 00047 // Destructor 00048 ~WeatherEngine(); 00049 00050 // initialization 00051 void init(); 00052 00058 DataEngine* loadIon(const QString& pluginName); 00059 00064 void unloadIon(const QString& name); 00065 00066 protected: 00071 bool sourceRequestEvent(const QString &source); 00072 00073 protected slots: 00079 void dataUpdated(const QString& source, Plasma::DataEngine::Data data); 00084 void newIonSource(const QString& source); 00089 void removeIonSource(const QString& source); 00094 bool updateSourceEvent(const QString& source); 00095 00096 private: 00097 class Private; 00098 Private *const d; 00099 }; 00100 00101 K_EXPORT_PLASMA_DATAENGINE(weather, WeatherEngine) 00102 00103 #endif