Upstream version 7.36.151.0
[platform/framework/web/crosswalk.git] / src / ppapi / host / message_filter_host.h
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_MESSAGE_FILTER_HOST_H_
6 #define PPAPI_HOST_MESSAGE_FILTER_HOST_H_
7
8 #include "base/compiler_specific.h"
9 #include "base/memory/ref_counted.h"
10 #include "ppapi/host/ppapi_host_export.h"
11 #include "ppapi/host/resource_host.h"
12
13 namespace ppapi {
14 namespace host {
15
16 class PpapiHost;
17 class ResourceMessageFilter;
18
19 // This class is a generic ResourceHost that is composed of a single
20 // ResourceMessageFilter. There are cases where ResourceHosts only serve the
21 // purpose of passing messages onto a message filter to be handled on another
22 // thread. This class can be used as the host in those cases.
23 class PPAPI_HOST_EXPORT MessageFilterHost : public ResourceHost {
24  public:
25   MessageFilterHost(PpapiHost* host,
26                     PP_Instance instance,
27                     PP_Resource resource,
28                     const scoped_refptr<ResourceMessageFilter>& message_filter);
29   virtual ~MessageFilterHost();
30
31  private:
32   DISALLOW_COPY_AND_ASSIGN(MessageFilterHost);
33 };
34
35 }  // namespace host
36 }  // namespace ppapi
37
38 #endif  // PPAPI_HOST_MESSAGE_FILTER_HOST_H_