summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/stringtable.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/stringtable.h')
-rw-r--r--src/plugins/cpptools/stringtable.h43
1 files changed, 11 insertions, 32 deletions
diff --git a/src/plugins/cpptools/stringtable.h b/src/plugins/cpptools/stringtable.h
index 3eed7a0ed0..fdac41f1b1 100644
--- a/src/plugins/cpptools/stringtable.h
+++ b/src/plugins/cpptools/stringtable.h
@@ -25,45 +25,24 @@
#pragma once
-#include <QAtomicInt>
-#include <QMutex>
-#include <QObject>
-#include <QRunnable>
-#include <QSet>
-#include <QTimer>
+#include <QString>
namespace CppTools {
namespace Internal {
-class StringTable: public QObject
-{
- Q_OBJECT
+class CppToolsPluginPrivate;
+class StringTable
+{
public:
- StringTable();
-
- QString insert(const QString &string);
- void scheduleGC();
-
-private:
- void startGC();
- void GC();
-
- class GCRunner: public QRunnable {
- StringTable &m_stringTable;
-
- public:
- GCRunner(StringTable &stringTable): m_stringTable(stringTable) {}
- virtual void run() { m_stringTable.GC(); }
- } m_gcRunner;
- friend class GCRunner;
+ static QString insert(const QString &string);
+ static void scheduleGC();
private:
- mutable QMutex m_lock;
- QAtomicInt m_stopGCRequested;
- QSet<QString> m_strings;
- QTimer m_gcCountDown;
+ friend class CppToolsPluginPrivate;
+ static void initialize();
+ static void destroy();
};
-} // Internal namespace
-} // CppTools namespace
+} // Internal
+} // CppTools