Roll src/third_party/WebKit 6c137a7:4aace46 (svn 202008:202009)
[chromium-blink-merge.git] / ppapi / proxy / flash_clipboard_resource.h
blobcd607d62abdfd19f1746aa79f4c184f8cbd8ac12
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.
5 #ifndef PPAPI_PROXY_FLASH_CLIPBOARD_RESOURCE_H_
6 #define PPAPI_PROXY_FLASH_CLIPBOARD_RESOURCE_H_
8 #include "ppapi/proxy/connection.h"
9 #include "ppapi/proxy/plugin_resource.h"
10 #include "ppapi/shared_impl/flash_clipboard_format_registry.h"
11 #include "ppapi/thunk/ppb_flash_clipboard_api.h"
13 namespace ppapi {
14 namespace proxy {
16 class FlashClipboardResource
17 : public PluginResource,
18 public NON_EXPORTED_BASE(thunk::PPB_Flash_Clipboard_API) {
19 public:
20 FlashClipboardResource(Connection connection, PP_Instance instance);
21 ~FlashClipboardResource() override;
23 // Resource implementation.
24 thunk::PPB_Flash_Clipboard_API* AsPPB_Flash_Clipboard_API() override;
26 // PPB_Flash_Clipboard_API implementation.
27 uint32_t RegisterCustomFormat(PP_Instance instance,
28 const char* format_name) override;
29 PP_Bool IsFormatAvailable(PP_Instance instance,
30 PP_Flash_Clipboard_Type clipboard_type,
31 uint32_t format) override;
32 PP_Var ReadData(PP_Instance instance,
33 PP_Flash_Clipboard_Type clipboard_type,
34 uint32_t format) override;
35 int32_t WriteData(PP_Instance instance,
36 PP_Flash_Clipboard_Type clipboard_type,
37 uint32_t data_item_count,
38 const uint32_t formats[],
39 const PP_Var data_items[]) override;
40 PP_Bool GetSequenceNumber(
41 PP_Instance instance,
42 PP_Flash_Clipboard_Type clipboard_type,
43 uint64_t* sequence_number) override;
45 private:
46 FlashClipboardFormatRegistry clipboard_formats_;
48 DISALLOW_COPY_AND_ASSIGN(FlashClipboardResource);
51 } // namespace proxy
52 } // namespace ppapi
54 #endif // PPAPI_PROXY_FLASH_CLIPBOARD_RESOURCE_H_