mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-23 18:32:49 +00:00

QLibrary was rewritten and no longer uses internal reference count for unloading thus constructing KPluginLoader object and unloading the library does not have the effect it used to have, the KCModule pointer is deleted by KCModuleProxy::deleteClient() regardless and QLibrary takes care of the rest Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
103 lines
3.1 KiB
C++
103 lines
3.1 KiB
C++
/*
|
|
Copyright (c) 1999 Matthias Hoelzer-Kluepfel <hoelzer@kde.org>
|
|
Copyright (c) 2002-2003 Daniel Molkentin <molkentin@kde.org>
|
|
Copyright (c) 2006 Matthias Kretz <kretz@kde.org>
|
|
|
|
This file is part of the KDE project
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Library General Public
|
|
License version 2, as published by the Free Software Foundation.
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Library General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Library General Public License
|
|
along with this library; see the file COPYING.LIB. If not, write to
|
|
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
Boston, MA 02110-1301, USA.
|
|
*/
|
|
#ifndef KCMODULELOADER_H
|
|
#define KCMODULELOADER_H
|
|
|
|
#include <kcmodule.h>
|
|
#include <kcmoduleinfo.h>
|
|
|
|
#include <QWidget>
|
|
|
|
/**
|
|
* @short Loads a KControl Module.
|
|
*
|
|
* KCModuleLoader tries in several ways
|
|
* to locate and load a KCModule. If loading fails a
|
|
* zero pointer is returned. \n
|
|
* It is very unlikely KCModuleLoader is what you want
|
|
* and @ref KCModuleProxy suits your needs.
|
|
*
|
|
* @author Matthias Hoelzer-Kluepfel <mhk@kde.org>
|
|
* @author Frans Englich <frans.englich@telia.com>
|
|
* @internal
|
|
**/
|
|
namespace KCModuleLoader
|
|
{
|
|
/**
|
|
* Determines the way errors are reported
|
|
*/
|
|
enum ErrorReporting {
|
|
/**
|
|
* no error reporting is done
|
|
* */
|
|
None = 0,
|
|
/**
|
|
* the error report is shown instead of the
|
|
* KCModule that should have been loaded
|
|
*/
|
|
Inline = 1,
|
|
/**
|
|
* shows a dialog with the error report
|
|
*/
|
|
Dialog = 2,
|
|
/**
|
|
* does both Inline and Dialog
|
|
*/
|
|
Both = 3
|
|
};
|
|
|
|
/**
|
|
* Loads a @ref KCModule. If loading fails a zero pointer is returned.
|
|
* @param module what module to load
|
|
* @param report see ErrorReporting
|
|
*
|
|
* @return a pointer to the loaded @ref KCModule
|
|
*/
|
|
KCMUTILS_EXPORT KCModule *loadModule(const KCModuleInfo &module, ErrorReporting
|
|
report, QWidget * parent = 0, const QStringList& args = QStringList() );
|
|
|
|
/**
|
|
* Loads a @ref KCModule. If loading fails a zero pointer is returned.
|
|
*
|
|
* @param module what module to load
|
|
* @param report see ErrorReporting
|
|
*
|
|
* @return a pointer to the loaded @ref KCModule
|
|
*/
|
|
KCMUTILS_EXPORT KCModule *loadModule( const QString &module, ErrorReporting report,
|
|
QWidget *parent = 0, const QStringList& args = QStringList() );
|
|
|
|
/**
|
|
* Returns a KCModule containing the messages @p report and @p text.
|
|
*
|
|
* @param report the type of error reporting, see ErrorReporting
|
|
* @param text the main message
|
|
* @param details any additional details
|
|
*
|
|
* @internal
|
|
*/
|
|
KCMUTILS_EXPORT KCModule* reportError( ErrorReporting report, const QString & text,
|
|
const QString &details, QWidget * parent );
|
|
}
|
|
|
|
// vim: ts=2 sw=2 et
|
|
#endif // KCMODULELOADER_H
|