Home | History | Annotate | Download | only in private
      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