| 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 |