1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
/* This file is part of the KDE project
Copyright (C) 2006 Dario Massarin <nekkar@libero.it>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#ifndef KGET_EXPORT_H
#define KGET_EXPORT_H
#include <KPluginFactory>
#include <KPluginLoader>
/* needed for KDE_EXPORT macros */
#include <kdemacros.h>
/* export statements for unix */
#ifdef MAKE_KGETCORE_LIB
# define KGET_EXPORT KDE_EXPORT
#else
# define KGET_EXPORT KDE_IMPORT
#endif
/**
* @short Declares a class as plugin.
*
* Exports a common symbol in a shared library used as an entry point for
* the creation of an istance of the class.
*
* Usage example:
* KGET_EXPORT_PLUGIN( CoolKgetPlugin );
* class CoolKgetPlugin : public KGetPlugin {
* ....
* }
*/
#define KGET_EXPORT_PLUGIN( classname ) \
K_PLUGIN_FACTORY( KGetFactory, registerPlugin< classname >(); ) \
K_EXPORT_PLUGIN( KGetFactory("classname") )
#define KGET_EXPORT_PLUGIN_CONFIG( classname ) \
K_PLUGIN_FACTORY( KGetFactory, registerPlugin< classname >(); ) \
K_EXPORT_PLUGIN( KGetFactory( "classname" ) )
#endif
|