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#ifndef PPAPI_THUNK_PPB_FLASH_CLIPBOARD_API_H_
6#define PPAPI_THUNK_PPB_FLASH_CLIPBOARD_API_H_
7
8#include "ppapi/c/private/ppb_flash_clipboard.h"
9#include "ppapi/shared_impl/singleton_resource_id.h"
10
11namespace ppapi {
12namespace thunk {
13
14class PPB_Flash_Clipboard_API {
15 public:
16  virtual ~PPB_Flash_Clipboard_API() {}
17
18  // PPB_Flash_Clipboard.
19  virtual uint32_t RegisterCustomFormat(PP_Instance instance,
20                                        const char* format_name) = 0;
21  virtual PP_Bool IsFormatAvailable(PP_Instance instance,
22                                    PP_Flash_Clipboard_Type clipboard_type,
23                                    uint32_t format) = 0;
24  virtual PP_Var ReadData(PP_Instance instance,
25                          PP_Flash_Clipboard_Type clipboard_type,
26                          uint32_t format) = 0;
27  virtual int32_t WriteData(PP_Instance instance,
28                            PP_Flash_Clipboard_Type clipboard_type,
29                            uint32_t data_item_count,
30                            const uint32_t formats[],
31                            const PP_Var data_items[]) = 0;
32  virtual PP_Bool GetSequenceNumber(
33      PP_Instance instance,
34      PP_Flash_Clipboard_Type clipboard_type,
35      uint64_t* sequence_number) = 0;
36
37  static const SingletonResourceID kSingletonResourceID =
38      FLASH_CLIPBOARD_SINGLETON_ID;
39};
40
41}  // namespace thunk
42}  // namespace ppapi
43
44#endif // PPAPI_THUNK_PPB_FLASH_CLIPBOARD_API_H_
45