OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_ENUMERATE_MODULES_MODEL_WIN_H_ | 5 #ifndef CHROME_BROWSER_ENUMERATE_MODULES_MODEL_WIN_H_ |
6 #define CHROME_BROWSER_ENUMERATE_MODULES_MODEL_WIN_H_ | 6 #define CHROME_BROWSER_ENUMERATE_MODULES_MODEL_WIN_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/gtest_prod_util.h" | 12 #include "base/gtest_prod_util.h" |
13 #include "base/memory/ref_counted.h" | 13 #include "base/memory/ref_counted.h" |
14 #include "base/memory/singleton.h" | 14 #include "base/memory/singleton.h" |
15 #include "base/string16.h" | 15 #include "base/string16.h" |
16 #include "base/timer.h" | 16 #include "base/timer.h" |
17 #include "content/browser/browser_thread.h" | 17 #include "content/browser/browser_thread.h" |
18 #include "googleurl/src/gurl.h" | 18 #include "googleurl/src/gurl.h" |
19 | 19 |
20 class EnumerateModulesModel; | 20 class EnumerateModulesModel; |
21 class FilePath; | 21 class FilePath; |
| 22 |
| 23 namespace base { |
22 class ListValue; | 24 class ListValue; |
| 25 } |
23 | 26 |
24 // A helper class that implements the enumerate module functionality on the File | 27 // A helper class that implements the enumerate module functionality on the File |
25 // thread. | 28 // thread. |
26 class ModuleEnumerator : public base::RefCountedThreadSafe<ModuleEnumerator> { | 29 class ModuleEnumerator : public base::RefCountedThreadSafe<ModuleEnumerator> { |
27 public: | 30 public: |
28 // What type of module we are dealing with. Loaded modules are modules we | 31 // What type of module we are dealing with. Loaded modules are modules we |
29 // detect as loaded in the process at the time of scanning. The others are | 32 // detect as loaded in the process at the time of scanning. The others are |
30 // modules of interest and may or may not be loaded in the process at the | 33 // modules of interest and may or may not be loaded in the process at the |
31 // time of scan. | 34 // time of scan. |
32 enum ModuleType { | 35 enum ModuleType { |
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 // services to exists. | 257 // services to exists. |
255 void set_limited_mode(bool limited_mode) { | 258 void set_limited_mode(bool limited_mode) { |
256 limited_mode_ = limited_mode; | 259 limited_mode_ = limited_mode; |
257 } | 260 } |
258 | 261 |
259 // Asynchronously start the scan for the loaded module list, except when in | 262 // Asynchronously start the scan for the loaded module list, except when in |
260 // limited_mode (in which case it blocks). | 263 // limited_mode (in which case it blocks). |
261 void ScanNow(); | 264 void ScanNow(); |
262 | 265 |
263 // Gets the whole module list as a ListValue. | 266 // Gets the whole module list as a ListValue. |
264 ListValue* GetModuleList() const; | 267 base::ListValue* GetModuleList() const; |
265 | 268 |
266 private: | 269 private: |
267 friend struct DefaultSingletonTraits<EnumerateModulesModel>; | 270 friend struct DefaultSingletonTraits<EnumerateModulesModel>; |
268 friend class ModuleEnumerator; | 271 friend class ModuleEnumerator; |
269 | 272 |
270 EnumerateModulesModel(); | 273 EnumerateModulesModel(); |
271 virtual ~EnumerateModulesModel(); | 274 virtual ~EnumerateModulesModel(); |
272 | 275 |
273 // Called on the UI thread when the helper class is done scanning. | 276 // Called on the UI thread when the helper class is done scanning. |
274 void DoneScanning(); | 277 void DoneScanning(); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
307 int confirmed_bad_modules_detected_; | 310 int confirmed_bad_modules_detected_; |
308 | 311 |
309 // The number of suspected bad modules (not including confirmed bad ones) | 312 // The number of suspected bad modules (not including confirmed bad ones) |
310 // found during last scan. | 313 // found during last scan. |
311 int suspected_bad_modules_detected_; | 314 int suspected_bad_modules_detected_; |
312 | 315 |
313 DISALLOW_COPY_AND_ASSIGN(EnumerateModulesModel); | 316 DISALLOW_COPY_AND_ASSIGN(EnumerateModulesModel); |
314 }; | 317 }; |
315 | 318 |
316 #endif // CHROME_BROWSER_ENUMERATE_MODULES_MODEL_WIN_H_ | 319 #endif // CHROME_BROWSER_ENUMERATE_MODULES_MODEL_WIN_H_ |
OLD | NEW |