19682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall// Copyright (c) 2012 The Chromium Authors. All rights reserved.
29682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall// Use of this source code is governed by a BSD-style license that can be
39682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall// found in the LICENSE file.
49682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
59682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "ppapi/c/private/ppb_flash_font_file.h"
69682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "ppapi/thunk/enter.h"
79682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "ppapi/thunk/ppb_flash_font_file_api.h"
89682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "ppapi/thunk/resource_creation_api.h"
99682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "ppapi/thunk/thunk.h"
109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallnamespace ppapi {
129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallnamespace thunk {
139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallnamespace {
159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallPP_Resource Create(PP_Instance instance,
179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall                   const PP_BrowserFont_Trusted_Description* description,
189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall                   PP_PrivateFontCharset charset) {
199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall  EnterResourceCreation enter(instance);
20  if (enter.failed())
21    return 0;
22  return enter.functions()->CreateFlashFontFile(instance, description, charset);
23}
24
25PP_Bool IsFlashFontFile(PP_Resource resource) {
26  EnterResource<PPB_Flash_FontFile_API> enter(resource, false);
27  return PP_FromBool(enter.succeeded());
28}
29
30PP_Bool GetFontTable(PP_Resource font_file,
31                     uint32_t table,
32                     void* output,
33                     uint32_t* output_length) {
34  EnterResource<PPB_Flash_FontFile_API> enter(font_file, true);
35  if (enter.failed())
36    return PP_FALSE;
37  return enter.object()->GetFontTable(table, output, output_length);
38}
39
40const PPB_Flash_FontFile g_ppb_flash_fontfile_thunk = {
41  &Create,
42  &IsFlashFontFile,
43  &GetFontTable
44};
45
46}  // namespace
47
48const PPB_Flash_FontFile_0_1* GetPPB_Flash_FontFile_0_1_Thunk() {
49  return &g_ppb_flash_fontfile_thunk;
50}
51
52}  // namespace thunk
53}  // namespace ppapi
54