Home | History | Annotate | Download | only in npapi
      1 // Copyright 2013 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 // Base interface used by NPChannelBase and implemented by NPObjectProxy and
      6 // NPObjectStub.
      7 
      8 #ifndef CONTENT_CHILD_NPAPI_NPOBJECT_BASE_H_
      9 #define CONTENT_CHILD_NPAPI_NPOBJECT_BASE_H_
     10 
     11 #include "ipc/ipc_listener.h"
     12 #include "third_party/npapi/bindings/npruntime.h"
     13 
     14 struct NPObject;
     15 
     16 namespace content {
     17 
     18 class NPObjectBase {
     19  public:
     20   virtual ~NPObjectBase() {}
     21 
     22   // Returns the underlying NPObject handled by this NPObjectBase instance.
     23   virtual NPObject* GetUnderlyingNPObject() = 0;
     24 
     25   // Returns the channel listener for this NPObjectBase instance.
     26   virtual IPC::Listener* GetChannelListener() = 0;
     27 };
     28 
     29 }  // namespace content
     30 
     31 #endif  // CONTENT_CHILD_NPAPI_NPOBJECT_BASE_H_
     32