OLD | NEW |
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 // Small DLL shim to register and unregister all CEEE components. | 5 // Small DLL shim to register and unregister all CEEE components. |
6 | 6 |
7 #include "ceee/installer_dll/installer_helper.h" | 7 #include "ceee/installer_dll/installer_helper.h" |
8 | 8 |
9 #include "base/at_exit.h" | 9 #include "base/at_exit.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 | 291 |
292 // Returns a class factory to create an object of the requested type. | 292 // Returns a class factory to create an object of the requested type. |
293 STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) { | 293 STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) { |
294 return _AtlModule.DllGetClassObject(rclsid, riid, ppv); | 294 return _AtlModule.DllGetClassObject(rclsid, riid, ppv); |
295 } | 295 } |
296 | 296 |
297 // Adds entries to the system registry. | 297 // Adds entries to the system registry. |
298 // | 298 // |
299 // This is not the actual entrypoint; see the macro right below this | 299 // This is not the actual entrypoint; see the macro right below this |
300 // function, which keeps us safe from ever forgetting to check for | 300 // function, which keeps us safe from ever forgetting to check for |
301 // the --enable-ceee flag. | 301 // the --ceee flag. |
302 STDAPI DllRegisterServerImpl(void) { | 302 STDAPI DllRegisterServerImpl(void) { |
303 HRESULT hr = _AtlModule.DllRegisterServer(FALSE); | 303 HRESULT hr = _AtlModule.DllRegisterServer(FALSE); |
304 | 304 |
305 // This function assumes the DLL is being registered with admin privileges. | 305 // This function assumes the DLL is being registered with admin privileges. |
306 | 306 |
307 // In case of error, we abort the rest of registration - we're in bad | 307 // In case of error, we abort the rest of registration - we're in bad |
308 // shape anyway. | 308 // shape anyway. |
309 if (SUCCEEDED(hr)) { | 309 if (SUCCEEDED(hr)) { |
310 hr = RegisterIeBroker(true); | 310 hr = RegisterIeBroker(true); |
311 DCHECK(SUCCEEDED(hr)) << "Could not register CEEE IE Broker" << | 311 DCHECK(SUCCEEDED(hr)) << "Could not register CEEE IE Broker" << |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
344 << com::LogHr(hr); | 344 << com::LogHr(hr); |
345 } | 345 } |
346 | 346 |
347 return hr; | 347 return hr; |
348 } | 348 } |
349 | 349 |
350 CEEE_DEFINE_DLL_REGISTER_SERVER() | 350 CEEE_DEFINE_DLL_REGISTER_SERVER() |
351 | 351 |
352 // Removes entries from the system registry. | 352 // Removes entries from the system registry. |
353 STDAPI DllUnregisterServer(void) { | 353 STDAPI DllUnregisterServer(void) { |
354 // We always allow unregistration, even if no --enable-ceee install flag. | 354 // We always allow unregistration, even if no --ceee install flag. |
355 // | 355 // |
356 // We also always unregister Firefox components, regardless of whether the | 356 // We also always unregister Firefox components, regardless of whether the |
357 // --enable-ff-ceee flag is set; unregistration is idempotent. | 357 // --enable-ff-ceee flag is set; unregistration is idempotent. |
358 | 358 |
359 HRESULT combined_result = S_OK; | 359 HRESULT combined_result = S_OK; |
360 HRESULT hr = _AtlModule.DllUnregisterServer(FALSE); | 360 HRESULT hr = _AtlModule.DllUnregisterServer(FALSE); |
361 AggregateComError(hr, &combined_result); | 361 AggregateComError(hr, &combined_result); |
362 | 362 |
363 // This function assumes the DLL is being unregistered with admin privileges. | 363 // This function assumes the DLL is being unregistered with admin privileges. |
364 | 364 |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
396 LOG(WARNING) << "Call to unimplemented DllRegisterUserServer."; | 396 LOG(WARNING) << "Call to unimplemented DllRegisterUserServer."; |
397 return S_OK; | 397 return S_OK; |
398 } | 398 } |
399 | 399 |
400 // No-op entry point to keep user-level unregistration happy. | 400 // No-op entry point to keep user-level unregistration happy. |
401 // TODO(robertshield): Remove this as part of registration re-org. | 401 // TODO(robertshield): Remove this as part of registration re-org. |
402 STDAPI DllUnregisterUserServer() { | 402 STDAPI DllUnregisterUserServer() { |
403 LOG(WARNING) << "Call to unimplemented DllUnregisterUserServer."; | 403 LOG(WARNING) << "Call to unimplemented DllUnregisterUserServer."; |
404 return S_OK; | 404 return S_OK; |
405 } | 405 } |
OLD | NEW |