1// Copyright (c) 2011 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
5#ifndef CHROME_BROWSER_UI_COCOA_ABOUT_IPC_DIALOG_H_
6#define CHROME_BROWSER_UI_COCOA_ABOUT_IPC_DIALOG_H_
7#pragma once
8
9#include "ipc/ipc_logging.h"
10#include "ipc/ipc_message_utils.h"
11
12#if defined(IPC_MESSAGE_LOG_ENABLED)
13
14#ifdef __OBJC__
15@class AboutIPCController;
16#else
17class AboutIPCController;
18#endif
19
20
21// On Windows, the AboutIPCDialog is a views::View.  On Mac we have a
22// Cocoa dialog.  This class bridges from C++ to ObjC.
23class AboutIPCBridge : public IPC::Logging::Consumer {
24 public:
25  AboutIPCBridge(AboutIPCController* controller) : controller_(controller) { }
26  virtual ~AboutIPCBridge() { }
27
28  // IPC::Logging::Consumer implementation.
29  virtual void Log(const IPC::LogData& data);
30
31 private:
32  AboutIPCController* controller_;  // weak; owns me
33  DISALLOW_COPY_AND_ASSIGN(AboutIPCBridge);
34};
35
36#endif  // IPC_MESSAGE_LOG_ENABLED
37
38#endif  // CHROME_BROWSER_UI_COCOA_ABOUT_IPC_DIALOG_H_
39