1// Copyright (c) 2012 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_EXTENSIONS_API_MESSAGING_NATIVE_MESSAGE_PORT_H_ 6#define CHROME_BROWSER_EXTENSIONS_API_MESSAGING_NATIVE_MESSAGE_PORT_H_ 7 8#include "chrome/browser/extensions/api/messaging/message_service.h" 9 10namespace extensions { 11class NativeMessageProcessHost; 12 13// A port that manages communication with a native application. 14class NativeMessagePort : public MessageService::MessagePort { 15 public: 16 // Takes ownership of |native_process|. 17 explicit NativeMessagePort(NativeMessageProcessHost* native_process); 18 virtual ~NativeMessagePort(); 19 virtual void DispatchOnMessage(const Message& message, 20 int target_port_id) OVERRIDE; 21 22 private: 23 NativeMessageProcessHost* native_process_; 24}; 25 26} // namespace extensions 27 28#endif // CHROME_BROWSER_EXTENSIONS_API_MESSAGING_NATIVE_MESSAGE_PORT_H_ 29