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_PROXY_FLASH_CLIPBOARD_RESOURCE_H_ 6 #define PPAPI_PROXY_FLASH_CLIPBOARD_RESOURCE_H_ 7 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" 12 13 namespace ppapi { 14 namespace proxy { 15 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 virtual ~FlashClipboardResource(); 22 23 // Resource implementation. 24 virtual thunk::PPB_Flash_Clipboard_API* AsPPB_Flash_Clipboard_API() OVERRIDE; 25 26 // PPB_Flash_Clipboard_API implementation. 27 virtual uint32_t RegisterCustomFormat(PP_Instance instance, 28 const char* format_name) OVERRIDE; 29 virtual PP_Bool IsFormatAvailable(PP_Instance instance, 30 PP_Flash_Clipboard_Type clipboard_type, 31 uint32_t format) OVERRIDE; 32 virtual PP_Var ReadData(PP_Instance instance, 33 PP_Flash_Clipboard_Type clipboard_type, 34 uint32_t format) OVERRIDE; 35 virtual 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 41 private: 42 FlashClipboardFormatRegistry clipboard_formats_; 43 44 DISALLOW_COPY_AND_ASSIGN(FlashClipboardResource); 45 }; 46 47 } // namespace proxy 48 } // namespace ppapi 49 50 #endif // PPAPI_PROXY_FLASH_CLIPBOARD_RESOURCE_H_ 51