//---------------------------------------------------------------------------------------
// Copyright (c) 2001-2025 by Apryse Software Inc. All Rights Reserved.
// Consult legal.txt regarding legal and license information.
//---------------------------------------------------------------------------------------
// !Warning! This file is autogenerated, modify the .codegen file, not this one
// (any changes here will be wiped out during the autogen process)

#ifndef PDFTRON_H_CPDFNetInternalTools
#define PDFTRON_H_CPDFNetInternalTools

#ifdef __cplusplus
extern "C" {
#endif

#include <C/Common/TRN_Types.h>
#include <C/Common/TRN_Exception.h>


struct TRN_PDFNetInternalTools_tag;
typedef struct TRN_PDFNetInternalTools_tag* TRN_PDFNetInternalTools;

/* enums:  */
enum TRN_PDFNetInternalTools_LogBackend {
	e_PDFNetInternalTools_Debugger = 0,
	e_PDFNetInternalTools_Disk = 1,
	e_PDFNetInternalTools_Callback = 2,
	e_PDFNetInternalTools_Console = 3
};
enum TRN_PDFNetInternalTools_LogLevel {
	e_PDFNetInternalTools_Trace = 0,
	e_PDFNetInternalTools_Debug = 1,
	e_PDFNetInternalTools_Info = 2,
	e_PDFNetInternalTools_Warning = 3,
	e_PDFNetInternalTools_Error = 4,
	e_PDFNetInternalTools_Fatal = 5,
	e_PDFNetInternalTools_Disabled = 6
};

/* methods: */
TRN_API TRN_PDFNetInternalToolsIsLogSystemAvailable(TRN_Bool* result);
TRN_API TRN_PDFNetInternalToolsConfigureLogFromJsonString(TRN_UString config_string, TRN_Bool* result);
TRN_API TRN_PDFNetInternalToolsGetDefaultConfigFile(TRN_UString* result);
TRN_API TRN_PDFNetInternalToolsRunUniversalConversionTests(TRN_UString path_with_docs, TRN_UString* result);
TRN_API TRN_PDFNetInternalToolsLogMessage(enum TRN_PDFNetInternalTools_LogLevel threshold, TRN_UString message, TRN_UString filename, TRN_UInt32 line_number);
TRN_API TRN_PDFNetInternalToolsLogStreamMessage(enum TRN_PDFNetInternalTools_LogLevel threshold, TRN_UString stream, TRN_UString message, TRN_UString filename, TRN_UInt32 line_number);
TRN_API TRN_PDFNetInternalToolsSetLogLocation(TRN_UString log_directory, TRN_UString log_filename, TRN_Bool* result);
TRN_API TRN_PDFNetInternalToolsSetLogFileName(TRN_UString log_filename, TRN_Bool* result);
TRN_API TRN_PDFNetInternalToolsSetThresholdForLogStream(TRN_UString stream_name, enum TRN_PDFNetInternalTools_LogLevel stream_threshold);
TRN_API TRN_PDFNetInternalToolsSetDefaultLogThreshold(enum TRN_PDFNetInternalTools_LogLevel threshold);
TRN_API TRN_PDFNetInternalToolsSetCutoffLogThreshold(enum TRN_PDFNetInternalTools_LogLevel threshold);
TRN_API TRN_PDFNetInternalToolsEnableLogBackend(enum TRN_PDFNetInternalTools_LogBackend backend, TRN_Bool* result);
TRN_API TRN_PDFNetInternalToolsDisableLogBackend(enum TRN_PDFNetInternalTools_LogBackend backend);
TRN_API TRN_PDFNetInternalToolsGetPDFViewTileSummary(TRN_UString* result);



#ifdef __cplusplus
} // extern C
#endif

#endif /* PDFTRON_H_CPDFNetInternalTools */
