Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1287)

Side by Side Diff: ceee/common/process_utils_win.cc

Issue 5685007: Rename all methods accessing Singleton<T> as GetInstance(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ceee/common/process_utils_win.h ('k') | ceee/ie/broker/executors_manager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 // Utilities for windows process and threads stuff. 5 // Utilities for windows process and threads stuff.
6 6
7 #include "ceee/common/process_utils_win.h" 7 #include "ceee/common/process_utils_win.h"
8 8
9 #include <sddl.h> 9 #include <sddl.h>
10 10
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 123
124 ProcessCompatibilityCheck::ProcessCompatibilityCheck() 124 ProcessCompatibilityCheck::ProcessCompatibilityCheck()
125 : initialization_result_(E_FAIL), 125 : initialization_result_(E_FAIL),
126 running_on_amd64_platform_(false), 126 running_on_amd64_platform_(false),
127 running_as_wow_64_(false), 127 running_as_wow_64_(false),
128 integrity_checks_on_(false), 128 integrity_checks_on_(false),
129 running_integrity_(base::INTEGRITY_UNKNOWN) { 129 running_integrity_(base::INTEGRITY_UNKNOWN) {
130 StandardInitialize(); 130 StandardInitialize();
131 } 131 }
132 132
133 // static
134 ProcessCompatibilityCheck* ProcessCompatibilityCheck::GetInstance() {
135 return Singleton<ProcessCompatibilityCheck>::get();
136 }
137
133 void ProcessCompatibilityCheck::StandardInitialize() { 138 void ProcessCompatibilityCheck::StandardInitialize() {
134 HRESULT hr = S_OK; 139 HRESULT hr = S_OK;
135 140
136 SYSTEM_INFO system_info; 141 SYSTEM_INFO system_info;
137 ::GetNativeSystemInfo(&system_info); 142 ::GetNativeSystemInfo(&system_info);
138 143
139 bool system_with_integrity_checks = 144 bool system_with_integrity_checks =
140 base::win::GetVersion() >= base::win::VERSION_VISTA; 145 base::win::GetVersion() >= base::win::VERSION_VISTA;
141 146
142 base::IntegrityLevel integrity_level = base::INTEGRITY_UNKNOWN; 147 base::IntegrityLevel integrity_level = base::INTEGRITY_UNKNOWN;
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 DWORD process_id = 0; 197 DWORD process_id = 0;
193 if (::GetWindowThreadProcessId(process_window, &process_id) != 0) { 198 if (::GetWindowThreadProcessId(process_window, &process_id) != 0) {
194 return IsCompatible(process_id, is_compatible); 199 return IsCompatible(process_id, is_compatible);
195 } 200 }
196 201
197 return E_FAIL; 202 return E_FAIL;
198 } 203 }
199 204
200 HRESULT ProcessCompatibilityCheck::IsCompatible(DWORD process_id, 205 HRESULT ProcessCompatibilityCheck::IsCompatible(DWORD process_id,
201 bool* is_compatible) { 206 bool* is_compatible) {
202 ProcessCompatibilityCheck* instance 207 ProcessCompatibilityCheck* instance = GetInstance();
203 = Singleton<ProcessCompatibilityCheck>::get();
204 208
205 DCHECK(instance != NULL); 209 DCHECK(instance != NULL);
206 DCHECK(is_compatible != NULL); 210 DCHECK(is_compatible != NULL);
207 211
208 if (instance != NULL && SUCCEEDED(instance->initialization_result_)) { 212 if (instance != NULL && SUCCEEDED(instance->initialization_result_)) {
209 return instance->IsProcessCompatible(process_id, is_compatible); 213 return instance->IsProcessCompatible(process_id, is_compatible);
210 } 214 }
211 215
212 return instance != NULL ? instance->initialization_result_ : E_FAIL; 216 return instance != NULL ? instance->initialization_result_ : E_FAIL;
213 } 217 }
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 // Patching affects both static pointers and the state of the sigleton. 303 // Patching affects both static pointers and the state of the sigleton.
300 // To update the later, required variables are forwarded to its 304 // To update the later, required variables are forwarded to its
301 // KnownStateInitialize. 305 // KnownStateInitialize.
302 void ProcessCompatibilityCheck::PatchState( 306 void ProcessCompatibilityCheck::PatchState(
303 WORD system_type, bool current_process_wow64, 307 WORD system_type, bool current_process_wow64,
304 bool check_integrity, base::IntegrityLevel current_process_integrity, 308 bool check_integrity, base::IntegrityLevel current_process_integrity,
305 OpenProcessFuncType open_process_func, 309 OpenProcessFuncType open_process_func,
306 CloseHandleFuncType close_handle_func, 310 CloseHandleFuncType close_handle_func,
307 IsWOW64ProcessFuncType is_wow64_process_func) { 311 IsWOW64ProcessFuncType is_wow64_process_func) {
308 PatchState(open_process_func, close_handle_func, is_wow64_process_func); 312 PatchState(open_process_func, close_handle_func, is_wow64_process_func);
309 Singleton<ProcessCompatibilityCheck>::get()->KnownStateInitialize( 313 GetInstance()->KnownStateInitialize(
310 system_type, current_process_wow64, 314 system_type, current_process_wow64,
311 check_integrity, current_process_integrity); 315 check_integrity, current_process_integrity);
312 } 316 }
313 317
314 void ProcessCompatibilityCheck::PatchState( 318 void ProcessCompatibilityCheck::PatchState(
315 OpenProcessFuncType open_process_func, 319 OpenProcessFuncType open_process_func,
316 CloseHandleFuncType close_handle_func, 320 CloseHandleFuncType close_handle_func,
317 IsWOW64ProcessFuncType is_wow64_process_func) { 321 IsWOW64ProcessFuncType is_wow64_process_func) {
318 open_process_func_ = open_process_func; 322 open_process_func_ = open_process_func;
319 close_handle_func_ = close_handle_func; 323 close_handle_func_ = close_handle_func;
320 is_wow64_process_func_ = is_wow64_process_func; 324 is_wow64_process_func_ = is_wow64_process_func;
321 DCHECK(open_process_func_ != NULL && close_handle_func_ != NULL && 325 DCHECK(open_process_func_ != NULL && close_handle_func_ != NULL &&
322 is_wow64_process_func_ != NULL); 326 is_wow64_process_func_ != NULL);
323 } 327 }
324 328
325 void ProcessCompatibilityCheck::ResetState() { 329 void ProcessCompatibilityCheck::ResetState() {
326 PatchState(OpenProcess, CloseHandle, IsWow64Process); 330 PatchState(OpenProcess, CloseHandle, IsWow64Process);
327 Singleton<ProcessCompatibilityCheck>::get()->StandardInitialize(); 331 GetInstance()->StandardInitialize();
328 } 332 }
329 333
330 } // namespace com 334 } // namespace com
OLDNEW
« no previous file with comments | « ceee/common/process_utils_win.h ('k') | ceee/ie/broker/executors_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698