kde-extraapps/kget/kget_export.h
Ivailo Monev 4433e55536 generic: generate export headers
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2021-07-28 14:58:10 +03:00

48 lines
1.3 KiB
C

/* 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 kgetcore_EXPORTS
# 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