OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include <atlbase.h> | 5 #include <atlbase.h> |
6 #include <atlcom.h> | 6 #include <atlcom.h> |
7 #include <atlctl.h> | 7 #include <atlctl.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" |
11 #include "base/file_path.h" | 11 #include "base/file_path.h" |
12 #include "base/logging.h" | 12 #include "base/logging.h" |
13 #include "remoting/host/branding.h" | 13 #include "remoting/host/branding.h" |
| 14 #include "remoting/host/breakpad.h" |
14 | 15 |
15 // MIDL-generated declarations. | 16 // MIDL-generated declarations. |
16 #include "remoting/host/elevated_controller.h" | 17 #include "remoting/host/elevated_controller.h" |
17 | 18 |
18 namespace remoting { | 19 namespace remoting { |
19 | 20 |
20 class ElevatedControllerModuleWin | 21 class ElevatedControllerModuleWin |
21 : public ATL::CAtlExeModuleT<ElevatedControllerModuleWin> { | 22 : public ATL::CAtlExeModuleT<ElevatedControllerModuleWin> { |
22 public: | 23 public: |
23 DECLARE_LIBID(LIBID_ChromotingElevatedControllerLib) | 24 DECLARE_LIBID(LIBID_ChromotingElevatedControllerLib) |
24 }; | 25 }; |
25 | 26 |
26 } // namespace remoting | 27 } // namespace remoting |
27 | 28 |
28 | 29 |
29 remoting::ElevatedControllerModuleWin _AtlModule; | 30 remoting::ElevatedControllerModuleWin _AtlModule; |
30 | 31 |
31 int WINAPI WinMain(HINSTANCE instance, HINSTANCE, LPSTR, int command) { | 32 int WINAPI WinMain(HINSTANCE instance, HINSTANCE, LPSTR, int command) { |
| 33 // Initializes the crash dump reports. |
| 34 remoting::InitializeCrashReporting(); |
| 35 |
32 CommandLine::Init(0, NULL); | 36 CommandLine::Init(0, NULL); |
33 | 37 |
34 // Register and initialize common controls. | 38 // Register and initialize common controls. |
35 INITCOMMONCONTROLSEX info; | 39 INITCOMMONCONTROLSEX info; |
36 info.dwSize = sizeof(info); | 40 info.dwSize = sizeof(info); |
37 info.dwICC = ICC_STANDARD_CLASSES; | 41 info.dwICC = ICC_STANDARD_CLASSES; |
38 InitCommonControlsEx(&info); | 42 InitCommonControlsEx(&info); |
39 | 43 |
40 // This object instance is required by Chrome code (for example, | 44 // This object instance is required by Chrome code (for example, |
41 // FilePath, LazyInstance, MessageLoop). | 45 // FilePath, LazyInstance, MessageLoop). |
42 base::AtExitManager exit_manager; | 46 base::AtExitManager exit_manager; |
43 | 47 |
44 // Write logs to the application profile directory. | 48 // Write logs to the application profile directory. |
45 FilePath debug_log = remoting::GetConfigDir(). | 49 FilePath debug_log = remoting::GetConfigDir(). |
46 Append(FILE_PATH_LITERAL("debug.log")); | 50 Append(FILE_PATH_LITERAL("debug.log")); |
47 InitLogging(debug_log.value().c_str(), | 51 InitLogging(debug_log.value().c_str(), |
48 logging::LOG_ONLY_TO_FILE, | 52 logging::LOG_ONLY_TO_FILE, |
49 logging::DONT_LOCK_LOG_FILE, | 53 logging::DONT_LOCK_LOG_FILE, |
50 logging::APPEND_TO_OLD_LOG_FILE, | 54 logging::APPEND_TO_OLD_LOG_FILE, |
51 logging::DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS); | 55 logging::DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS); |
52 | 56 |
53 return _AtlModule.WinMain(command); | 57 return _AtlModule.WinMain(command); |
54 } | 58 } |
OLD | NEW |