| // Copyright 2020 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef OCR_MOJO_ADAPTER_OCR_SERVICE_MOJO_ADAPTER_H_ |
| #define OCR_MOJO_ADAPTER_OCR_SERVICE_MOJO_ADAPTER_H_ |
| |
| #include <memory> |
| |
| #include <mojo/public/cpp/system/handle.h> |
| |
| #include "ocr/mojo/ocr_service.mojom.h" |
| |
| namespace ocr { |
| |
| // Provides a Mojo connection to the OCR service. See mojo/ocr_service.mojom for |
| // details on the Mojo interface. This should only be used by |
| // processes whose only Mojo connection is to the OCR service. |
| // This is a public interface of the class providing the functionality. |
| class OcrServiceMojoAdapter { |
| public: |
| virtual ~OcrServiceMojoAdapter() = default; |
| |
| // Instantiates an OcrServiceMojoAdapter. |
| static std::unique_ptr<OcrServiceMojoAdapter> Create(); |
| |
| // Requests the OCR service to generate a searchable PDF from an |
| // input image. |
| virtual chromeos::ocr::mojom::OpticalCharacterRecognitionServiceResponsePtr |
| GenerateSearchablePdfFromImage( |
| mojo::ScopedHandle input_fd_handle, |
| mojo::ScopedHandle output_fd_handle, |
| chromeos::ocr::mojom::OcrConfigPtr ocr_config, |
| chromeos::ocr::mojom::PdfRendererConfigPtr pdf_renderer_config) = 0; |
| }; |
| |
| } // namespace ocr |
| |
| #endif // OCR_MOJO_ADAPTER_OCR_SERVICE_MOJO_ADAPTER_H_ |