1 // Copyright 2013 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 CHROME_BROWSER_LOCAL_DISCOVERY_PWG_RASTER_CONVERTER_H_ 6 #define CHROME_BROWSER_LOCAL_DISCOVERY_PWG_RASTER_CONVERTER_H_ 7 8 #include "base/callback.h" 9 #include "base/memory/ref_counted_memory.h" 10 11 namespace base { 12 class FilePath; 13 } 14 15 namespace gfx { 16 class Size; 17 } 18 19 namespace printing { 20 class PdfRenderSettings; 21 struct PwgRasterSettings; 22 } 23 24 namespace local_discovery { 25 26 class PWGRasterConverter { 27 public: 28 // Callback for when the PDF is converted to a PWG raster. 29 // |success| denotes whether the conversion succeeded. 30 // |temp_file| is the path to the temp file (owned by the converter) that 31 // contains the PWG raster data. 32 typedef base::Callback<void(bool /*success*/, 33 const base::FilePath& /*temp_file*/)> 34 ResultCallback; ~PWGRasterConverter()35 virtual ~PWGRasterConverter() {} 36 37 static scoped_ptr<PWGRasterConverter> CreateDefault(); 38 39 virtual void Start(base::RefCountedMemory* data, 40 const printing::PdfRenderSettings& conversion_settings, 41 const printing::PwgRasterSettings& bitmap_settings, 42 const ResultCallback& callback) = 0; 43 }; 44 45 } // namespace local_discovery 46 47 #endif // CHROME_BROWSER_LOCAL_DISCOVERY_PWG_RASTER_CONVERTER_H_ 48