[go: nahoru, domu]

blob: de0702ec5f95e699a6d85985a17e03371069b3e7 [file] [log] [blame]
Avi Drissmandb497b32022-09-15 19:47:281// Copyright 2013 The Chromium Authors
mgiuca@chromium.orgc82b0142013-09-23 15:09:212// 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_PROXY_PLUGIN_RESOURCE_VAR_H_
6#define PPAPI_PROXY_PLUGIN_RESOURCE_VAR_H_
7
8#include "ppapi/c/pp_resource.h"
9#include "ppapi/proxy/ppapi_proxy_export.h"
10#include "ppapi/shared_impl/resource.h"
11#include "ppapi/shared_impl/resource_var.h"
12#include "ppapi/shared_impl/var.h"
13
14// Represents a resource Var, usable on the plugin side.
15class PPAPI_PROXY_EXPORT PluginResourceVar : public ppapi::ResourceVar {
16 public:
17 // Makes a null resource var.
18 PluginResourceVar();
19
20 // Makes a resource var with an existing resource.
21 // Takes one reference to the given resource.
22 explicit PluginResourceVar(ppapi::Resource* resource);
23
Peter Boström896f1372021-11-05 01:12:3024 PluginResourceVar(const PluginResourceVar&) = delete;
25 PluginResourceVar& operator=(const PluginResourceVar&) = delete;
26
mgiuca@chromium.orgc82b0142013-09-23 15:09:2127 // ResourceVar override.
nicke4784432015-04-23 14:01:4828 PP_Resource GetPPResource() const override;
29 bool IsPending() const override;
mgiuca@chromium.orgc82b0142013-09-23 15:09:2130
31 scoped_refptr<ppapi::Resource> resource() const { return resource_; }
32
33 protected:
nicke4784432015-04-23 14:01:4834 ~PluginResourceVar() override;
mgiuca@chromium.orgc82b0142013-09-23 15:09:2135
36 private:
mgiuca@chromium.org5288f732013-10-16 02:05:3437 // If NULL, this represents the PP_Resource 0.
mgiuca@chromium.orgc82b0142013-09-23 15:09:2138 scoped_refptr<ppapi::Resource> resource_;
mgiuca@chromium.orgc82b0142013-09-23 15:09:2139};
40
Sumaid Syed89da1622021-07-29 06:41:2241#endif // PPAPI_PROXY_PLUGIN_RESOURCE_VAR_H_