25 #include <QtCore/QStringList>
26 #include <QtCore/QVariant>
27 #ifndef KDE_NO_DEPRECATED
90 KService( QDataStream& str,
int offset );
99 bool isApplication()
const;
106 #ifndef KDE_NO_DEPRECATED
107 KDE_DEPRECATED
QString type()
const;
133 bool terminal()
const;
143 QString terminalOptions()
const;
149 bool substituteUid()
const;
173 #ifndef KDE_NO_DEPRECATED
174 KDE_DEPRECATED
QString desktopEntryPath()
const;
183 QString desktopEntryName()
const;
218 DBusStartupType dbusStartupType()
const;
249 QString untranslatedGenericName()
const;
286 bool hasServiceType(
const QString& serviceTypePtr )
const;
306 #ifndef KDE_NO_DEPRECATED
307 KDE_DEPRECATED
bool hasMimeType(
const KServiceType* mimeTypePtr )
const;
316 bool hasMimeType(
const QString& mimeType )
const;
328 bool allowAsDefault()
const;
341 bool allowMultipleFiles()
const;
349 int initialPreference()
const;
358 bool noDisplay()
const;
370 bool showInKDE()
const;
416 void setMenuId(
const QString &menuId);
421 void setTerminal(
bool b);
426 void setTerminalOptions(
const QString &options);
440 void setExec(
const QString& exec);
452 #ifndef KDE_NO_DEPRECATED
453 static Ptr serviceByName(
const QString& _name );
465 static Ptr serviceByDesktopPath(
const QString& _path );
481 static Ptr serviceByDesktopName(
const QString& _name );
491 static Ptr serviceByMenuId(
const QString& _menuId );
502 static Ptr serviceByStorageId(
const QString& _storageId );
513 static List allServices();
530 static QString newServicePath(
bool showInMenu,
const QString &suggestedName,
548 const QVariantList &args = QVariantList(),
QString *error = 0)
const
550 return createInstance<T>(0, parent, args, error);
567 T *createInstance(QWidget *parentWidget,
QObject *parent,
568 const QVariantList &args = QVariantList(),
QString *error = 0)
const
573 T *o = factory->template create<T>(parentWidget, parent, pluginKeyword(), args);
575 *error =
i18n(
"The service '%1' does not provide an interface '%2' with keyword '%3'",
576 name(), QString::fromLatin1(T::staticMetaObject.className()), pluginKeyword());
581 pluginLoader.unload();
589 #ifndef KDE_NO_DEPRECATED
592 const QVariantList &args = QVariantList(),
QString *error = 0)
602 #ifndef KDE_NO_DEPRECATED
610 if ( library.isEmpty() ) {
616 return KLibLoader::createInstance<T>( library, parent, args, error );
635 #ifndef KDE_NO_DEPRECATED
636 template <
class T,
class ServiceIterator>
637 static KDE_DEPRECATED
T *createInstance(ServiceIterator begin, ServiceIterator end,
QObject *parent = 0,
638 const QVariantList &args = QVariantList(),
QString *error = 0)
640 for (; begin != end; ++begin) {
646 T *component = createInstance<T>(service, parent, args, error);
658 #ifndef KDE_NO_DEPRECATED
659 template <
class T,
class ServiceIterator>
660 static KDE_DEPRECATED
T *createInstance( ServiceIterator begin, ServiceIterator end,
665 for (; begin != end; ++begin ) {
670 T *component = createInstance<T>( service, parent, args, error );
681 friend class KMimeAssociations;
682 friend class KBuildServiceFactory;
688 : preference(-1), serviceType() {}
690 : preference(pref), serviceType(servType) {}
695 QVector<ServiceTypeAndPreference>& _k_accessServiceTypes();