diff options
Diffstat (limited to 'ppapi/proxy/plugin_resource.h')
-rw-r--r-- | ppapi/proxy/plugin_resource.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/ppapi/proxy/plugin_resource.h b/ppapi/proxy/plugin_resource.h index 780a2bd..8eee931 100644 --- a/ppapi/proxy/plugin_resource.h +++ b/ppapi/proxy/plugin_resource.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -6,6 +6,7 @@ #define PPAPI_PROXY_PLUGIN_RESOURCE_H_ #include "base/basictypes.h" +#include "ppapi/c/pp_instance.h" #include "ppapi/proxy/plugin_dispatcher.h" #include "ppapi/proxy/plugin_resource_tracker.h" @@ -32,19 +33,20 @@ FOR_ALL_PLUGIN_RESOURCES(DECLARE_RESOURCE_CLASS) class PluginResource { public: - PluginResource(); + PluginResource(PP_Instance instance); virtual ~PluginResource(); // Returns NULL if the resource is invalid or is a different type. template<typename T> static T* GetAs(PP_Resource res) { PluginResource* resource = - PluginDispatcher::Get()->plugin_resource_tracker()->GetResourceObject( - res); + PluginResourceTracker::GetInstance()->GetResourceObject(res); return resource ? resource->Cast<T>() : NULL; } template <typename T> T* Cast() { return NULL; } + PP_Instance instance() const { return instance_; } + private: // Type-specific getters for individual resource types. These will return // NULL if the resource does not match the specified type. Used by the Cast() @@ -54,6 +56,9 @@ class PluginResource { FOR_ALL_PLUGIN_RESOURCES(DEFINE_TYPE_GETTER) #undef DEFINE_TYPE_GETTER + // Instance this resource is associated with. + PP_Instance instance_; + DISALLOW_COPY_AND_ASSIGN(PluginResource); }; |