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 REMOTING_HOST_WORKER_PROCESS_IPC_DELEGATE_H_ 6#define REMOTING_HOST_WORKER_PROCESS_IPC_DELEGATE_H_ 7 8#include "base/basictypes.h" 9#include "base/compiler_specific.h" 10 11namespace IPC { 12class Message; 13} // namespace IPC 14 15namespace remoting { 16 17// An interface representing the object receiving IPC messages from a worker 18// process. 19class WorkerProcessIpcDelegate { 20 public: 21 virtual ~WorkerProcessIpcDelegate() {} 22 23 // Notifies that a client has been connected to the channel. 24 virtual void OnChannelConnected(int32 peer_pid) = 0; 25 26 // Processes messages sent by the client. 27 virtual bool OnMessageReceived(const IPC::Message& message) = 0; 28 29 // Notifies that a permanent error was encountered. 30 virtual void OnPermanentError(int exit_code) = 0; 31}; 32 33} // namespace remoting 34 35#endif // REMOTING_HOST_WORKER_PROCESS_IPC_DELEGATE_H_ 36