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