Home | History | Annotate | Download | only in host
      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 
     11 namespace IPC {
     12 class Message;
     13 }
     14 
     15 namespace ppapi {
     16 namespace host {
     17 
     18 class PpapiHost;
     19 
     20 class 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