File indexing completed on 2024-04-28 04:36:29
0001 /* 0002 SPDX-FileCopyrightText: 2011 Yannick Motta <yannick.motta@gmail.com> 0003 SPDX-FileCopyrightText: 2011 Martin Heide <martin.heide@gmx.net> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #include "ibuddydocumentfinder.h" 0009 0010 #include <QMap> 0011 0012 namespace KDevelop { 0013 0014 //Our private data is entirely static, so don't need to create an 0015 //instance of the private data class 0016 class IBuddyDocumentFinderPrivate 0017 { 0018 public: 0019 static QMap<QString, IBuddyDocumentFinder*>& finders() 0020 { 0021 static QMap<QString, IBuddyDocumentFinder*> finders; 0022 return finders; 0023 } 0024 }; 0025 0026 // ---------------- "Registry" interface -------------------------------------------- 0027 void IBuddyDocumentFinder::addFinder(const QString& mimeType, IBuddyDocumentFinder *finder) 0028 { 0029 IBuddyDocumentFinderPrivate::finders()[mimeType] = finder; 0030 } 0031 0032 void IBuddyDocumentFinder::removeFinder(const QString& mimeType) 0033 { 0034 IBuddyDocumentFinderPrivate::finders().remove(mimeType); 0035 } 0036 0037 IBuddyDocumentFinder* IBuddyDocumentFinder::finderForMimeType(const QString& mimeType) 0038 { 0039 return IBuddyDocumentFinderPrivate::finders().value(mimeType, nullptr); 0040 } 0041 0042 }