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 16 class 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. 22 class 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