summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_frame_reporting.h
blob: 94ee7f97bf2b20e5ac4646ebbd4b70c8e652f8dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// 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_