// pdfengine::parser — the PDFium boundary. // // Rule R2: this directory (engine/src/parser/) is the ONLY place in the entire // codebase permitted to include PDFium headers or call raw FPDF_* APIs. CI // enforces this with scripts/check_pdfium_boundary.* — keep it that way. #pragma once namespace pdfengine::parser { // True if the engine was compiled with PDFENGINE_WITH_PDFIUM, i.e. linked // against the PDFium static library. False in Phase 0 default builds. [[nodiscard]] bool pdfiumAvailable() noexcept; // Global one-time initialisation / teardown of the PDFium library. // No-ops when built without PDFium. Init must be called before, and destroy // after, any document parsing. void pdfiumInitLibrary(); void pdfiumDestroyLibrary(); } // namespace pdfengine::parser