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_CPP_PRIVATE_INSTANCE_PRIVATE_H_ 6 #define PPAPI_CPP_PRIVATE_INSTANCE_PRIVATE_H_ 7 8 /** 9 * @file 10 * Defines the API ... 11 * 12 * @addtogroup CPP 13 * @{ 14 */ 15 16 #include "ppapi/c/ppb_console.h" 17 #include "ppapi/cpp/instance.h" 18 19 /** The C++ interface to the Pepper API. */ 20 namespace pp { 21 22 class Var; 23 class VarPrivate; 24 25 class InstancePrivate : public Instance { 26 public: 27 explicit InstancePrivate(PP_Instance instance); 28 virtual ~InstancePrivate(); 29 30 // @{ 31 /// @name PPP_Instance_Private methods for the plugin to override: 32 33 /// See PPP_Instance_Private.GetInstanceObject. 34 virtual Var GetInstanceObject(); 35 36 // @} 37 38 // @{ 39 /// @name PPB_Instance_Private methods for querying the browser: 40 41 /// See PPB_Instance_Private.GetWindowObject. 42 VarPrivate GetWindowObject(); 43 44 /// See PPB_Instance_Private.GetOwnerElementObject. 45 VarPrivate GetOwnerElementObject(); 46 47 /// See PPB_Instance.ExecuteScript. 48 VarPrivate ExecuteScript(const Var& script, Var* exception = NULL); 49 50 // @} 51 }; 52 53 } // namespace pp 54 55 /** 56 * @} 57 * End addtogroup CPP 58 */ 59 #endif // PPAPI_CPP_PRIVATE_INSTANCE_PRIVATE_H_ 60