// Copyright 2013 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.

#include "ppapi/shared_impl/resource_var.h"

#include "ppapi/shared_impl/ppapi_globals.h"
#include "ppapi/shared_impl/var_tracker.h"

namespace ppapi {

int ResourceVar::GetPendingRendererHostId() const { return 0; }

int ResourceVar::GetPendingBrowserHostId() const { return 0; }

const IPC::Message* ResourceVar::GetCreationMessage() const { return NULL; }

ResourceVar* ResourceVar::AsResourceVar() { return this; }

PP_VarType ResourceVar::GetType() const { return PP_VARTYPE_RESOURCE; }

// static
ResourceVar* ResourceVar::FromPPVar(PP_Var var) {
  if (var.type != PP_VARTYPE_RESOURCE)
    return NULL;
  scoped_refptr<Var> var_object(
      PpapiGlobals::Get()->GetVarTracker()->GetVar(var));
  if (!var_object.get())
    return NULL;
  return var_object->AsResourceVar();
}

ResourceVar::ResourceVar() {}

ResourceVar::~ResourceVar() {}

}  // namespace ppapi