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