diff options
Diffstat (limited to 'src/plugins/cpptools/stringtable.h')
-rw-r--r-- | src/plugins/cpptools/stringtable.h | 43 |
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 |