// Author: Mark Kretschmann (C) Copyright 2004 // Copyright: See COPYING file that comes with this distribution #ifndef AKREGATOR_PLUGIN_H #define AKREGATOR_PLUGIN_H #include "akregator_export.h" #define AKREGATOR_EXPORT_PLUGIN( classname ) \ extern "C" { \ Akregator::Plugin* create_plugin() { return new classname; } \ } #include #include namespace Akregator { // class PluginConfig; class AKREGATOR_EXPORT Plugin { public: virtual ~Plugin(); virtual bool init() = 0; /** * TODO @param parent you must parent the widget to parent * @return the configure widget for your plugin, create it on the heap! */ //TODO rename configureWidget( TQWidget *parent ) // virtual PluginConfig* configure() const { return 0; } void addPluginProperty( const TQString& key, const TQString& value ); TQString pluginProperty( const TQString& key ); bool hasPluginProperty( const TQString& key ); protected: Plugin(); private: TQMap m_properties; }; } //namespace Akregator #endif /* AKREGATOR_PLUGIN_H */