labfy-investigation/include/core/document_file_analysis.h
2026-07-28 07:15:49 +02:00

48 lines
1.3 KiB
C

/******************************************************************************
* @file document_file_analysis.h
* @brief Orchestration des analyses compatibles d'un fichier dérivé.
******************************************************************************/
#ifndef LABFY_INVESTIGATION_DOCUMENT_FILE_ANALYSIS_H
#define LABFY_INVESTIGATION_DOCUMENT_FILE_ANALYSIS_H
#include "core/exiftool_analysis.h"
#include "core/ocr_analysis.h"
#include "core/pdf_analysis.h"
G_BEGIN_DECLS
typedef struct
{
const char *exiftool;
const char *tesseract;
const char *pdfinfo;
const char *pdftotext;
const char *pdftoppm;
} DocumentAnalysisTools;
typedef struct
{
char *source_path;
char *declared_mime;
char *detected_mime;
ExiftoolAnalysisResult *metadata;
OcrAnalysisResult *ocr;
PdfAnalysisResult *pdf;
DocumentAnalysisState state;
GPtrArray *warnings;
} DocumentFileAnalysis;
DocumentFileAnalysis *document_file_analysis_run(
const DocumentAnalysisTools *tools,
const char *source_path,
const char *declared_mime,
const char *detected_mime,
gboolean request_image_ocr,
const char *ocr_languages,
GCancellable *cancellable,
GError **error
);
void document_file_analysis_free(DocumentFileAnalysis *analysis);
G_END_DECLS
#endif