//---------------------------------------------------------------------------------------
// 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_CTemplateDocument
#define PDFTRON_H_CTemplateDocument

#ifdef __cplusplus
extern "C" {
#endif

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


struct TRN_TemplateDocument_tag;
typedef struct TRN_TemplateDocument_tag* TRN_TemplateDocument;

enum TRN_TemplateDocument_Result
{
    e_TemplateDocument_Success = 0, 
    e_TemplateDocument_Incomplete = 1, 
    e_TemplateDocument_Failure = 2 
};
TRN_API TRN_TemplateDocumentFillTemplateJson(TRN_TemplateDocument self, TRN_UString json, TRN_PDFDoc* result);
TRN_API TRN_TemplateDocumentFillTemplateJsonToOffice(TRN_TemplateDocument self, TRN_UString json, TRN_UString output_path);
TRN_API TRN_TemplateDocumentFillTemplateJsonToOfficeWithFilter(TRN_TemplateDocument self, TRN_UString json, TRN_Filter output_stream);
TRN_API TRN_TemplateDocumentGetTemplateKeysJson(TRN_TemplateDocument self, TRN_UString* result);
TRN_API TRN_TemplateDocumentGetErrorString(TRN_TemplateDocument self, TRN_UString* result);
TRN_API TRN_TemplateDocumentGetConversionStatus(TRN_TemplateDocument self, enum TRN_TemplateDocument_Result* result);
TRN_API TRN_TemplateDocumentCancelConversion(TRN_TemplateDocument self);
TRN_API TRN_TemplateDocumentIsCancelled(TRN_TemplateDocument self, TRN_Bool* result);
TRN_API TRN_TemplateDocumentGetNumWarnings(TRN_TemplateDocument self, TRN_UInt32* result);
TRN_API TRN_TemplateDocumentGetWarningString(TRN_TemplateDocument self, TRN_UInt32 index, TRN_UString* result);

TRN_API TRN_TemplateDocumentDestroy(TRN_TemplateDocument self);
TRN_API TRN_TemplateDocumentCopyCtor(TRN_TemplateDocument source, TRN_TemplateDocument* result);
TRN_API TRN_TemplateDocumentAssign(TRN_TemplateDocument source, TRN_TemplateDocument* result);


#ifdef __cplusplus
} // extern C
#endif

#endif /* PDFTRON_H_CTemplateDocument */
