// This is a generated source file for Chilkat version 11.3.0
#ifndef _C_CkPdfWH
#define _C_CkPdfWH
#include "chilkatDefs.h"

#include "ck_inttypes.h"
#include "Chilkat_C.h"


CK_C_VISIBLE_PUBLIC void CkPdfW_setAbortCheck(HCkPdfW cHandle, BOOL (*fnAbortCheck)(void));
CK_C_VISIBLE_PUBLIC void CkPdfW_setPercentDone(HCkPdfW cHandle, BOOL (*fnPercentDone)(int pctDone));
CK_C_VISIBLE_PUBLIC void CkPdfW_setProgressInfo(HCkPdfW cHandle, void (*fnProgressInfo)(const wchar_t *name, const wchar_t *value));
CK_C_VISIBLE_PUBLIC void CkPdfW_setTaskCompleted(HCkPdfW cHandle, void (*fnTaskCompleted)(HCkTaskW hTask));

CK_C_VISIBLE_PUBLIC HCkPdfW CkPdfW_Create(void);
CK_C_VISIBLE_PUBLIC void CkPdfW_Dispose(HCkPdfW handle);
CK_C_VISIBLE_PUBLIC void CkPdfW_getDebugLogFilePath(HCkPdfW cHandle, HCkString retval);
CK_C_VISIBLE_PUBLIC void  CkPdfW_putDebugLogFilePath(HCkPdfW cHandle, const wchar_t *newVal);
CK_C_VISIBLE_PUBLIC const wchar_t *CkPdfW_debugLogFilePath(HCkPdfW cHandle);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_getHasCertificationSig(HCkPdfW cHandle);
CK_C_VISIBLE_PUBLIC void CkPdfW_getLastErrorHtml(HCkPdfW cHandle, HCkString retval);
CK_C_VISIBLE_PUBLIC const wchar_t *CkPdfW_lastErrorHtml(HCkPdfW cHandle);
CK_C_VISIBLE_PUBLIC void CkPdfW_getLastErrorText(HCkPdfW cHandle, HCkString retval);
CK_C_VISIBLE_PUBLIC const wchar_t *CkPdfW_lastErrorText(HCkPdfW cHandle);
CK_C_VISIBLE_PUBLIC void CkPdfW_getLastErrorXml(HCkPdfW cHandle, HCkString retval);
CK_C_VISIBLE_PUBLIC const wchar_t *CkPdfW_lastErrorXml(HCkPdfW cHandle);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_getLastMethodSuccess(HCkPdfW cHandle);
CK_C_VISIBLE_PUBLIC void  CkPdfW_putLastMethodSuccess(HCkPdfW cHandle, BOOL newVal);
CK_C_VISIBLE_PUBLIC int CkPdfW_getNumEmbeddedFiles(HCkPdfW cHandle);
CK_C_VISIBLE_PUBLIC int CkPdfW_getNumPages(HCkPdfW cHandle);
CK_C_VISIBLE_PUBLIC int CkPdfW_getNumSignatures(HCkPdfW cHandle);
CK_C_VISIBLE_PUBLIC void CkPdfW_getOwnerPassword(HCkPdfW cHandle, HCkString retval);
CK_C_VISIBLE_PUBLIC void  CkPdfW_putOwnerPassword(HCkPdfW cHandle, const wchar_t *newVal);
CK_C_VISIBLE_PUBLIC const wchar_t *CkPdfW_ownerPassword(HCkPdfW cHandle);
CK_C_VISIBLE_PUBLIC int CkPdfW_getSigAllocateSize(HCkPdfW cHandle);
CK_C_VISIBLE_PUBLIC void  CkPdfW_putSigAllocateSize(HCkPdfW cHandle, int newVal);
CK_C_VISIBLE_PUBLIC void CkPdfW_getUncommonOptions(HCkPdfW cHandle, HCkString retval);
CK_C_VISIBLE_PUBLIC void  CkPdfW_putUncommonOptions(HCkPdfW cHandle, const wchar_t *newVal);
CK_C_VISIBLE_PUBLIC const wchar_t *CkPdfW_uncommonOptions(HCkPdfW cHandle);
CK_C_VISIBLE_PUBLIC void CkPdfW_getUserPassword(HCkPdfW cHandle, HCkString retval);
CK_C_VISIBLE_PUBLIC void  CkPdfW_putUserPassword(HCkPdfW cHandle, const wchar_t *newVal);
CK_C_VISIBLE_PUBLIC const wchar_t *CkPdfW_userPassword(HCkPdfW cHandle);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_getVerboseLogging(HCkPdfW cHandle);
CK_C_VISIBLE_PUBLIC void  CkPdfW_putVerboseLogging(HCkPdfW cHandle, BOOL newVal);
CK_C_VISIBLE_PUBLIC void CkPdfW_getVersion(HCkPdfW cHandle, HCkString retval);
CK_C_VISIBLE_PUBLIC const wchar_t *CkPdfW_version(HCkPdfW cHandle);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_AddEmbeddedFiles(HCkPdfW cHandle, HCkJsonObjectW json, const wchar_t *outFilePath);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_AddEmbeddedFilesBd(HCkPdfW cHandle, HCkJsonObjectW json, HCkBinDataW bd);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_AddSigningCert(HCkPdfW cHandle, HCkCertW cert);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_AddVerificationInfo(HCkPdfW cHandle, HCkJsonObjectW jsonOptions, const wchar_t *outFilePath);
CK_C_VISIBLE_PUBLIC HCkTaskW CkPdfW_AddVerificationInfoAsync(HCkPdfW cHandle, HCkJsonObjectW jsonOptions, const wchar_t *outFilePath);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_GetDss(HCkPdfW cHandle, HCkJsonObjectW json);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_GetEmbeddedFileBd(HCkPdfW cHandle, int index, HCkBinDataW bd);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_GetEmbeddedFileInfo(HCkPdfW cHandle, int index, HCkJsonObjectW json);
CK_C_VISIBLE_PUBLIC void CkPdfW_GetLastJsonData(HCkPdfW cHandle, HCkJsonObjectW json);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_GetMetadata(HCkPdfW cHandle, HCkStringBuilderW sb);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_GetSignatureContent(HCkPdfW cHandle, int index, HCkBinDataW bd);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_GetSignerCert(HCkPdfW cHandle, int index, HCkCertW cert);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_GetUnsignedSigFields(HCkPdfW cHandle, HCkJsonObjectW json);
CK_C_VISIBLE_PUBLIC HCkJsonObjectW CkPdfW_LastJsonData(HCkPdfW cHandle);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_LoadBd(HCkPdfW cHandle, HCkBinDataW pdfData);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_LoadFile(HCkPdfW cHandle, const wchar_t *filePath);
CK_C_VISIBLE_PUBLIC void CkPdfW_SetHttpObj(HCkPdfW cHandle, HCkHttpW http);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_SetSignatureJpeg(HCkPdfW cHandle, HCkBinDataW jpgData);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_SetSigningCert(HCkPdfW cHandle, HCkCertW cert);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_SetSigningCert2(HCkPdfW cHandle, HCkCertW cert, HCkPrivateKeyW privateKey);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_SignPdf(HCkPdfW cHandle, HCkJsonObjectW jsonOptions, const wchar_t *outFilePath);
CK_C_VISIBLE_PUBLIC HCkTaskW CkPdfW_SignPdfAsync(HCkPdfW cHandle, HCkJsonObjectW jsonOptions, const wchar_t *outFilePath);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_SignPdfBd(HCkPdfW cHandle, HCkJsonObjectW jsonOptions, HCkBinDataW bd);
CK_C_VISIBLE_PUBLIC HCkTaskW CkPdfW_SignPdfBdAsync(HCkPdfW cHandle, HCkJsonObjectW jsonOptions, HCkBinDataW bd);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_UpdateMetadata(HCkPdfW cHandle, HCkStringBuilderW sb, const wchar_t *outFilePath);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_UpdateMetadataBd(HCkPdfW cHandle, HCkStringBuilderW sb, HCkBinDataW bd);
CK_C_VISIBLE_PUBLIC BOOL CkPdfW_VerifySignature(HCkPdfW cHandle, int index, HCkJsonObjectW sigInfo);
#endif
