Code::Blocks  SVN r11506
systemheadersthread.h
Go to the documentation of this file.
1 /*
2  * This file is part of the Code::Blocks IDE and licensed under the GNU General Public License, version 3
3  * http://www.gnu.org/licenses/gpl-3.0.html
4  */
5 
6 #ifndef SYSTEMHEADERSTHREAD_H
7 #define SYSTEMHEADERSTHREAD_H
8 
9 #include <wx/arrstr.h>
10 #include <wx/string.h>
11 #include <wx/thread.h>
12 
13 #include <map>
14 
15 #include "parser/parser.h" // StringSet
16 
18 
24 typedef std::map<wxString, StringSet> SystemHeadersMap;
25 
27 extern long idSystemHeadersThreadFinish;
29 
34 {
35 public:
37  SystemHeadersMap& headersMap, const wxArrayString& incDirs);
38  virtual ~SystemHeadersThread();
39 
40  virtual void* Entry();
41 
42 private:
47 };
48 
49 #endif // SYSTEMHEADERSTHREAD_H
collect all the header files, so they can be used in auto suggestion after #include<| directive...
virtual void * Entry()
long idSystemHeadersThreadFinish
event ids used to notify parent objects
wxCriticalSection * m_SystemHeadersThreadCS
this is the target the thread will sent any event to
wxArrayString m_IncludeDirs
this takes the result data
SystemHeadersMap & m_SystemHeadersMap
protect multiply access to its data
SystemHeadersThread(wxEvtHandler *parent, wxCriticalSection *critSect, SystemHeadersMap &headersMap, const wxArrayString &incDirs)
long idSystemHeadersThreadMessage
std::map< wxString, StringSet > SystemHeadersMap
dir to files map, for example, you have two dirs c:/a and c:/b so the map looks like: c:/a —> {c:/a/...