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_PRINTING_RESOURCE_H_ 6 #define PPAPI_PROXY_PRINTING_RESOURCE_H_ 7 8 #include "ppapi/proxy/connection.h" 9 #include "ppapi/proxy/plugin_resource.h" 10 #include "ppapi/proxy/ppapi_proxy_export.h" 11 #include "ppapi/shared_impl/tracked_callback.h" 12 #include "ppapi/thunk/ppb_printing_api.h" 13 14 namespace ppapi { 15 namespace proxy { 16 17 class PPAPI_PROXY_EXPORT PrintingResource 18 : public PluginResource, 19 public NON_EXPORTED_BASE(thunk::PPB_Printing_API) { 20 public: 21 PrintingResource(Connection connection, 22 PP_Instance instance); 23 virtual ~PrintingResource(); 24 25 // Resource overrides. 26 virtual thunk::PPB_Printing_API* AsPPB_Printing_API() OVERRIDE; 27 28 // PPB_Printing_API. 29 virtual int32_t GetDefaultPrintSettings( 30 PP_PrintSettings_Dev* print_settings, 31 scoped_refptr<TrackedCallback> callback) OVERRIDE; 32 33 private: 34 void OnPluginMsgGetDefaultPrintSettingsReply( 35 PP_PrintSettings_Dev* settings_out, 36 scoped_refptr<TrackedCallback> callback, 37 const ResourceMessageReplyParams& params, 38 const PP_PrintSettings_Dev& settings); 39 40 DISALLOW_COPY_AND_ASSIGN(PrintingResource); 41 }; 42 43 } // namespace proxy 44 } // namespace ppapi 45 46 #endif // PPAPI_PROXY_PRINTING_RESOURCE_H_ 47