// Copyright (c) 2011 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.

#import "components/breakpad/breakpad_mac.h"

#import <Foundation/Foundation.h>

// Stubbed out versions of breakpad integration functions so we can compile
// without linking in Breakpad.

namespace breakpad {

bool IsCrashReporterEnabled() {
  return false;
}

void InitCrashProcessInfo() {
}

void InitCrashReporter() {
}

}  // namespace breakpad
