File indexing completed on 2024-06-23 04:34:46
0001 /* 0002 SPDX-FileCopyrightText: 2008 David Nolden <david.nolden.kdevelop@art-master.de> 0003 0004 SPDX-License-Identifier: LGPL-2.0-only 0005 */ 0006 0007 #ifndef KDEVPLATFORM_TYPEREPOSITORY_H 0008 #define KDEVPLATFORM_TYPEREPOSITORY_H 0009 0010 #include <language/duchain/types/abstracttype.h> 0011 0012 class QRecursiveMutex; 0013 0014 namespace KDevelop { 0015 struct ReferenceCountManager; 0016 0017 class TypeRepository 0018 { 0019 public: 0020 static uint indexForType(const AbstractType* input); 0021 static AbstractType::Ptr typeForIndex(uint index); 0022 static void increaseReferenceCount(uint index); 0023 static void decreaseReferenceCount(uint index); 0024 static void increaseReferenceCount(uint index, ReferenceCountManager* manager); 0025 static void decreaseReferenceCount(uint index, ReferenceCountManager* manager); 0026 }; 0027 0028 QRecursiveMutex* typeRepositoryMutex(); 0029 } 0030 0031 #endif