From 5159cd2beb2e87806a5b54e9991b7895285c9d3e Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 27 Jan 2013 01:04:16 -0600 Subject: Rename a number of libraries and executables to avoid conflicts with KDE4 --- tdeio/tdeio/kservicefactory.h | 113 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 tdeio/tdeio/kservicefactory.h (limited to 'tdeio/tdeio/kservicefactory.h') diff --git a/tdeio/tdeio/kservicefactory.h b/tdeio/tdeio/kservicefactory.h new file mode 100644 index 000000000..4e6df6534 --- /dev/null +++ b/tdeio/tdeio/kservicefactory.h @@ -0,0 +1,113 @@ +/* This file is part of the KDE project + Copyright (C) 1998, 1999 Torben Weis + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + 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 __kservicefactory_h__ +#define __kservicefactory_h__ + +#include + +#include "kservice.h" +#include "tdesycocafactory.h" +#include + +class KSycoca; +class KSycocaDict; + +/** + * @internal + * A sycoca factory for services (e.g. applications) + * It loads the services from parsing directories (e.g. applnk/) + * but can also create service from data streams or single config files + */ +class TDEIO_EXPORT KServiceFactory : public KSycocaFactory +{ + K_SYCOCAFACTORY( KST_KServiceFactory ) +public: + /** + * Create factory + */ + KServiceFactory(); + virtual ~KServiceFactory(); + + /** + * Construct a KService from a config file. + */ + virtual KSycocaEntry *createEntry(const TQString &, const char *) + { assert(0); return 0; } + + /** + * Find a service (by name, e.g. "Terminal") + */ + KService * findServiceByName( const TQString &_name ); + + /** + * Find a service (by desktop file name, e.g. "konsole") + */ + KService * findServiceByDesktopName( const TQString &_name ); + + /** + * Find a service ( by desktop path, e.g. "System/konsole.desktop") + */ + KService * findServiceByDesktopPath( const TQString &_name ); + + /** + * Find a service ( by menu id, e.g. "tde-konsole.desktop") + */ + KService * findServiceByMenuId( const TQString &_menuId ); + + /** + * @return the services supporting the given service type + */ + KService::List offers( int serviceTypeOffset ); + + /** + * @return all services. Very memory consuming, avoid using. + */ + KService::List allServices(); + + /** + * @return all services which have a "X-TDE-Init" line. + */ + KService::List allInitServices(); + + /** + * @return the unique service factory, creating it if necessary + */ + static KServiceFactory * self(); + +protected: + virtual KService * createEntry(int offset); + int m_offerListOffset; + int m_initListOffset; + KSycocaDict *m_nameDict; + int m_nameDictOffset; + KSycocaDict *m_relNameDict; + int m_relNameDictOffset; + KSycocaDict *m_menuIdDict; + int m_menuIdDictOffset; + +private: + static KServiceFactory *_self; +protected: + virtual void virtual_hook( int id, void* data ); +private: + class KServiceFactoryPrivate* d; +}; + +#endif -- cgit v1.2.1