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#include "ppapi/cpp/dev/device_ref_dev.h"
6
7#include "ppapi/cpp/module_impl.h"
8
9namespace pp {
10
11namespace {
12
13template <> const char* interface_name<PPB_DeviceRef_Dev>() {
14  return PPB_DEVICEREF_DEV_INTERFACE;
15}
16
17}  // namespace
18
19DeviceRef_Dev::DeviceRef_Dev() {
20}
21
22DeviceRef_Dev::DeviceRef_Dev(PP_Resource resource) : Resource(resource) {
23}
24
25DeviceRef_Dev::DeviceRef_Dev(PassRef, PP_Resource resource)
26    : Resource(PASS_REF, resource) {
27}
28
29DeviceRef_Dev::DeviceRef_Dev(const DeviceRef_Dev& other) : Resource(other) {
30}
31
32DeviceRef_Dev::~DeviceRef_Dev() {
33}
34
35PP_DeviceType_Dev DeviceRef_Dev::GetType() const {
36  if (!has_interface<PPB_DeviceRef_Dev>())
37    return PP_DEVICETYPE_DEV_INVALID;
38  return get_interface<PPB_DeviceRef_Dev>()->GetType(pp_resource());
39}
40
41Var DeviceRef_Dev::GetName() const {
42  if (!has_interface<PPB_DeviceRef_Dev>())
43    return Var();
44  return Var(PASS_REF,
45             get_interface<PPB_DeviceRef_Dev>()->GetName(pp_resource()));
46}
47
48}  // namespace pp
49