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 17 class 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. 23 class AboutIPCBridge : public IPC::Logging::Consumer { 24 public: AboutIPCBridge(AboutIPCController * controller)25 AboutIPCBridge(AboutIPCController* controller) : controller_(controller) { } ~AboutIPCBridge()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