blob: 94ee7f97bf2b20e5ac4646ebbd4b70c8e652f8dd [file] [log] [blame]
[email protected]53556e12009-10-15 21:49:221// Copyright (c) 2009 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
[email protected]53556e12009-10-15 21:49:225#ifndef CHROME_FRAME_CHROME_FRAME_REPORTING_H_
6#define CHROME_FRAME_CHROME_FRAME_REPORTING_H_
7
[email protected]ea8ab2a2013-03-14 21:52:378#include "chrome_frame/scoped_initialization_manager.h"
[email protected]53556e12009-10-15 21:49:229
[email protected]ea8ab2a2013-03-14 21:52:3710namespace chrome_frame {
[email protected]53556e12009-10-15 21:49:2211
[email protected]ea8ab2a2013-03-14 21:52:3712// A Traits class for a ScopedInitializationManager that starts/stops crash
13// reporting for npchrome_frame.dll.
14class CrashReportingTraits {
15 public:
16 static void Initialize();
17 static void Shutdown();
18};
[email protected]53556e12009-10-15 21:49:2219
[email protected]ea8ab2a2013-03-14 21:52:3720// Manages crash reporting for the Chrome Frame dll. Crash reporting cannot be
21// reliably started or stopped when the loader lock is held, so DllMain cannot
22// be used to start/stop reporting. Rather, instances of this class are used in
23// each entrypoint into the dll.
24typedef ScopedInitializationManager<CrashReportingTraits> ScopedCrashReporting;
25
26} // namespace chrome_frame
[email protected]53556e12009-10-15 21:49:2227
28#endif // CHROME_FRAME_CHROME_FRAME_REPORTING_H_