| Index: ppapi/proxy/host_resource.h
|
| ===================================================================
|
| --- ppapi/proxy/host_resource.h (revision 0)
|
| +++ ppapi/proxy/host_resource.h (revision 0)
|
| @@ -0,0 +1,60 @@
|
| +// 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.
|
| +
|
| +#ifndef PPAPI_PROXY_HOST_RESOURCE_H_
|
| +#define PPAPI_PROXY_HOST_RESOURCE_H_
|
| +
|
| +#include "ppapi/c/pp_instance.h"
|
| +#include "ppapi/c/pp_resource.h"
|
| +
|
| +namespace pp {
|
| +namespace proxy {
|
| +
|
| +// Represents a PP_Resource sent over the wire. This just wraps a PP_Resource.
|
| +// The point is to prevent mistakes where the wrong resource value is sent.
|
| +// Resource values are remapped in the plugin so that it can talk to multiple
|
| +// hosts. If all values were PP_Resource, it would be easy to forget to do
|
| +// this tranformation.
|
| +//
|
| +// All HostResources respresent IDs valid in the host.
|
| +class HostResource {
|
| + public:
|
| + HostResource() : instance_(0), host_resource_(0) {
|
| + }
|
| +
|
| + bool is_null() const {
|
| + return !host_resource_;
|
| + }
|
| +
|
| + // Sets and retrieves the internal PP_Resource which is valid for the host
|
| + // (a.k.a. renderer, as opposed to the plugin) process.
|
| + //
|
| + // DO NOT CALL THESE FUNCTIONS IN THE PLUGIN SIDE OF THE PROXY. The values
|
| + // will be invalid. See the class comment above.
|
| + void SetHostResource(PP_Instance instance, PP_Resource resource) {
|
| + instance_ = instance;
|
| + host_resource_ = resource;
|
| + }
|
| + PP_Resource host_resource() const {
|
| + return host_resource_;
|
| + }
|
| +
|
| + PP_Instance instance() const { return instance_; }
|
| +
|
| + // This object is used in maps so we need to provide this sorting operator.
|
| + bool operator<(const HostResource& other) const {
|
| + if (instance_ != other.instance_)
|
| + return instance_ < other.instance_;
|
| + return host_resource_ < other.host_resource_;
|
| + }
|
| +
|
| + private:
|
| + PP_Instance instance_;
|
| + PP_Resource host_resource_;
|
| +};
|
| +
|
| +} // namespace proxy
|
| +} // namespace pp
|
| +
|
| +#endif // PPAPI_PROXY_HOST_RESOURCE_H_
|
|
|
| Property changes on: ppapi/proxy/host_resource.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|