From 87543118d5516dba3d1fc111206db5df8dcc5b37 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 7 Feb 2018 13:18:48 +0100 Subject: CppTools: Apply 'static' pattern to StringTable This also fixes a crash on loading (some?) projects introduced in 577bf7c08a. Change-Id: Ie35d466fa3b84b183118fe93f55393a4c59755de Reviewed-by: Nikolai Kosjar --- src/plugins/cpptools/stringtable.h | 43 ++++++++++---------------------------- 1 file changed, 11 insertions(+), 32 deletions(-) (limited to 'src/plugins/cpptools/stringtable.h') 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 -#include -#include -#include -#include -#include +#include 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 m_strings; - QTimer m_gcCountDown; + friend class CppToolsPluginPrivate; + static void initialize(); + static void destroy(); }; -} // Internal namespace -} // CppTools namespace +} // Internal +} // CppTools -- cgit v1.2.1