1/*
2 This file is part of the KDE project
3 SPDX-FileCopyrightText: 1998, 1999 Torben Weis <weis@kde.org>
4 SPDX-FileCopyrightText: 1998, 1999 Waldo Bastian <bastian@kde.org>
5
6 SPDX-License-Identifier: LGPL-2.0-or-later
7*/
8
9#ifndef KSYCOCATYPE_H
10#define KSYCOCATYPE_H
11
12/*
13 * A KSycocaType is a code (out of the KSycocaType enum) assigned to each
14 * class type derived from KSycocaEntry .
15 * To use it, call the macro K_SYCOCATYPE( your_typecode, parent_class )
16 * at the top of your class definition.
17 */
18enum KSycocaType {
19 KST_KSycocaEntry = 0,
20 KST_KService = 1,
21 KST_KServiceType = 2,
22 KST_KMimeType = 3,
23 KST_KMimeTypeEntry = 6 /*internal*/,
24 KST_KServiceGroup = 7,
25 // 8 was KST_KImageIOFormat in kdelibs4
26 // 9 was KST_KProtocolInfo in kdelibs4
27 KST_KServiceSeparator = 10,
28 KST_KCustom = 1000,
29};
30
31/*
32 * A KSycocaFactoryId is a code (out of the KSycocaFactoryId enum)
33 * assigned to each class type derived from KSycocaFactory.
34 * To use it, call the macro K_SYCOCAFACTORY( your_factory_id )
35 * at the top of your class definition.
36 */
37enum KSycocaFactoryId {
38 KST_KServiceFactory = 1,
39 KST_KServiceTypeFactory = 2,
40 KST_KServiceGroupFactory = 3,
41 // 4 was KST_KImageIO in kdelibs4
42 // 5 was KST_KProtocolInfoFactory in kdelibs4
43 KST_KMimeTypeFactory = 6,
44 KST_CTimeInfo = 100,
45};
46
47#define K_SYCOCAFACTORY(factory_id) \
48public: \
49 KSycocaFactoryId factoryId() const override \
50 { \
51 return factory_id; \
52 } \
53 \
54private:
55
56#endif
57

source code of kservice/src/sycoca/ksycocatype.h