pluginmanager.h
来自「Amarok是一款在LINUX或其他类UNIX操作系统中运行的音频播放器软件。 」· C头文件 代码 · 共 115 行
H
115 行
/***************************************************************************begin : 2004/03/12copyright : (C) Mark Kretschmannemail : markey@web.de***************************************************************************//*************************************************************************** * * * 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 AMAROK_PLUGINMANAGER_H#define AMAROK_PLUGINMANAGER_H#include <vector>#include <kservice.h>#include <ktrader.h>namespace Amarok { class Plugin; }class KLibrary;class PluginManager{ public: /** Bump this number whenever the plugin framework gets incompatible with older versions */ static const int FrameworkVersion = 31; /** * It will return a list of services that match your * specifications. The only required parameter is the service * type. This is something like 'text/plain' or 'text/html'. The * constraint parameter is used to limit the possible choices * returned based on the constraints you give it. * * The @p constraint language is rather full. The most common * keywords are AND, OR, NOT, IN, and EXIST, all used in an * almost spoken-word form. An example is: * \code * (Type == 'Service') and (('KParts/ReadOnlyPart' in ServiceTypes) or (exist Exec)) * \endcode * * The keys used in the query (Type, ServiceType, Exec) are all * fields found in the .desktop files. * * @param constraint A constraint to limit the choices returned, QString::null to * get all services of the given @p servicetype * * @return A list of services that satisfy the query * @see http://developer.kde.org/documentation/library/kdeqt/tradersyntax.html */ static KTrader::OfferList query( const QString& constraint = QString::null ); /** * Load and instantiate plugin from query * @param constraint A constraint to limit the choices returned, QString::null to * get all services of the given @p servicetype * @return Pointer to Plugin, or NULL if error * @see http://developer.kde.org/documentation/library/kdeqt/tradersyntax.html */ static Amarok::Plugin* createFromQuery( const QString& constraint = QString::null ); /** * Load and instantiate plugin from service * @param service Pointer to KService * @return Pointer to Plugin, or NULL if error */ static Amarok::Plugin* createFromService( const KService::Ptr service ); /** * Remove library and delete plugin * @param plugin Pointer to plugin */ static void unload( Amarok::Plugin* plugin ); /** * Look up service for loaded plugin from store * @param pointer Pointer to plugin * @return KService, or 0 if not found */ static KService::Ptr getService( const Amarok::Plugin* plugin ); /** * Dump properties from a service to stdout for debugging * @param service Pointer to KService */ static void dump( const KService::Ptr service ); /** * Show modal info dialog about plugin * @param constraint A constraint to limit the choices returned */ static void showAbout( const QString& constraint ); private: struct StoreItem { Amarok::Plugin* plugin; KLibrary* library; KService::Ptr service; }; static std::vector<StoreItem>::iterator lookupPlugin( const Amarok::Plugin* plugin ); //attributes: static std::vector<StoreItem> m_store;};#endif /* AMAROK_PLUGINMANAGER_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?