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 PPAPI_HOST_INSTANCE_MESSAGE_FILTER_H_ 6#define PPAPI_HOST_INSTANCE_MESSAGE_FILTER_H_ 7 8#include "base/basictypes.h" 9#include "ppapi/host/ppapi_host_export.h" 10 11namespace IPC { 12class Message; 13} 14 15namespace ppapi { 16namespace host { 17 18class PpapiHost; 19 20class PPAPI_HOST_EXPORT InstanceMessageFilter { 21 public: 22 explicit InstanceMessageFilter(PpapiHost* host); 23 virtual ~InstanceMessageFilter(); 24 25 // Processes an instance message from the plugin process. Returns true if the 26 // message was handled. On false, the PpapiHost will forward the message to 27 // the next filter. 28 virtual bool OnInstanceMessageReceived(const IPC::Message& msg) = 0; 29 30 PpapiHost* host() { return host_; } 31 32 private: 33 PpapiHost* host_; 34 35 DISALLOW_COPY_AND_ASSIGN(InstanceMessageFilter); 36}; 37 38} // namespace host 39} // namespace ppapi 40 41#endif // PPAPI_HOST_INSTANCE_MESSAGE_FILTER_H_ 42