dRonin  adbada4
dRonin GCS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Groups Pages
uniqueidmanager.h
Go to the documentation of this file.
1 
13 /*
14  * This program is free software; you can redistribute it and/or modify
15  * it under the terms of the GNU General Public License as published by
16  * the Free Software Foundation; either version 3 of the License, or
17  * (at your option) any later version.
18  *
19  * This program is distributed in the hope that it will be useful, but
20  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  * for more details.
23  *
24  * You should have received a copy of the GNU General Public License along
25  * with this program; if not, see <http://www.gnu.org/licenses/>
26  */
27 
28 #ifndef UNIQUEIDMANAGER_H
29 #define UNIQUEIDMANAGER_H
30 
31 #include "core_global.h"
32 
33 #include <QtCore/QString>
34 #include <QtCore/QHash>
35 
36 namespace Core {
37 
38 class CORE_EXPORT UniqueIDManager
39 {
40 public:
42  ~UniqueIDManager();
43 
44  static UniqueIDManager *instance() { return m_instance; }
45 
46  bool hasUniqueIdentifier(const QString &id) const;
47  int uniqueIdentifier(const QString &id);
48  QString stringForUniqueIdentifier(int uid);
49 
50 private:
51  QHash<QString, int> m_uniqueIdentifiers;
52  static UniqueIDManager *m_instance;
53 };
54 
55 } // namespace Core
56 
57 #endif // UNIQUEIDMANAGER_H
static UniqueIDManager * instance()