Made symbol searching plug-able through indexing support.

The indexing support for the built-in code model is moved to its own
file. Symbol searching will now call for a searcher through that support
interface, which will create a fully configured and ready-to-go searcher
that can be started in the/a future.

Change-Id: Idc3ee1c7c789a69fa05ee1d42415313dcea94cf8
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
Erik Verbruggen
2012-11-23 11:47:39 +01:00
parent 65942d2d8d
commit 271fb797cb
15 changed files with 372 additions and 270 deletions

View File

@@ -0,0 +1,33 @@
#ifndef BUILTININDEXINGSUPPORT_H
#define BUILTININDEXINGSUPPORT_H
#include "cppindexingsupport.h"
#include "ModelManagerInterface.h"
#include <QFutureSynchronizer>
namespace CppTools {
namespace Internal {
class BuiltinIndexingSupport: public CppIndexingSupport {
public:
typedef CPlusPlus::CppModelManagerInterface::WorkingCopy WorkingCopy;
public:
BuiltinIndexingSupport(const char *m_pp_configuration_file);
~BuiltinIndexingSupport();
virtual QFuture<void> refreshSourceFiles(const QStringList &sourceFiles);
virtual SymbolSearcher *createSymbolSearcher(SymbolSearcher::Parameters parameters, QSet<QString> fileNames);
private:
const char *m_pp_configuration_file;
QFutureSynchronizer<void> m_synchronizer;
unsigned m_revision;
bool m_dumpFileNameWhileParsing;
};
} // namespace Internal
} // namespace CppTools
#endif // BUILTININDEXINGSUPPORT_H