Pepper_37_C++_interfaces
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
module_impl.h
Go to the documentation of this file.
1
// Copyright (c) 2011 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
#ifndef PPAPI_CPP_MODULE_IMPL_H_
6
#define PPAPI_CPP_MODULE_IMPL_H_
7
8
/// @file
9
/// This file defines some simple function templates that help the C++ wrappers
10
/// (and are not for external developers to use).
11
12
#include "ppapi/cpp/module.h"
13
14
namespace
pp {
15
16
namespace
{
17
18
// Specialize this function to return the interface string corresponding to the
19
// PP?_XXX structure.
20
template
<
typename
T>
const
char
* interface_name() {
21
return
NULL;
22
}
23
24
template
<
typename
T>
inline
T
const
* get_interface() {
25
static
T
const
* funcs =
reinterpret_cast<
T
const*
>
(
26
pp::Module::Get
()->
GetBrowserInterface
(interface_name<T>()));
27
return
funcs;
28
}
29
30
template
<
typename
T>
inline
bool
has_interface() {
31
return
get_interface<T>() != NULL;
32
}
33
34
}
// namespace
35
36
}
// namespace pp
37
38
#endif // PPAPI_CPP_MODULE_IMPL_H_
39
pp::Module::Get
static Module * Get()
pp::Module::GetBrowserInterface
const void * GetBrowserInterface(const char *interface_name)
T
Generated on Wed May 4 2016 11:29:46 for Pepper_37_C++_interfaces by
1.8.6