| // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_FRAME_CHROME_FRAME_REPORTING_H_ |
| #define CHROME_FRAME_CHROME_FRAME_REPORTING_H_ |
| |
| #include "chrome_frame/scoped_initialization_manager.h" |
| |
| namespace chrome_frame { |
| |
| // A Traits class for a ScopedInitializationManager that starts/stops crash |
| // reporting for npchrome_frame.dll. |
| class CrashReportingTraits { |
| public: |
| static void Initialize(); |
| static void Shutdown(); |
| }; |
| |
| // Manages crash reporting for the Chrome Frame dll. Crash reporting cannot be |
| // reliably started or stopped when the loader lock is held, so DllMain cannot |
| // be used to start/stop reporting. Rather, instances of this class are used in |
| // each entrypoint into the dll. |
| typedef ScopedInitializationManager<CrashReportingTraits> ScopedCrashReporting; |
| |
| } // namespace chrome_frame |
| |
| #endif // CHROME_FRAME_CHROME_FRAME_REPORTING_H_ |