Various changes for IRC plugin, not yet usable.
[kdenetwork.git] / kget / kget_export.h
blob66099d0e4a24dfa369c8d0227663a31f0e166db3
1 /* This file is part of the KDE project
3 Copyright (C) 2006 Dario Massarin <nekkar@libero.it>
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9 */
11 #ifndef KGET_EXPORT_H
12 #define KGET_EXPORT_H
14 /* needed for KDE_EXPORT macros */
15 #include <kdemacros.h>
17 /* export statements for unix */
18 #ifdef MAKE_KGETCORE_LIB
19 # define KGET_EXPORT KDE_EXPORT
20 #else
21 # define KGET_EXPORT KDE_IMPORT
22 #endif
25 /**
26 * @short Declares a class as plugin.
28 * Exports a common symbol in a shared library used as an entry point for
29 * the creation of an istance of the class.
31 * Usage example:
32 * KGET_EXPORT_PLUGIN( CoolKgetPlugin );
33 * class CoolKgetPlugin : public KGetPlugin {
34 * ....
35 * }
37 #define KGET_EXPORT_PLUGIN( classname ) \
38 K_PLUGIN_FACTORY( classname ## Factory, registerPlugin< classname >(); ) \
39 K_EXPORT_PLUGIN( classname ## Factory() )
41 #endif