#ifndef _FS_FDFDOC_C_H_
#define _FS_FDFDOC_C_H_

#ifdef __cplusplus
extern "C" {
#endif



typedef enum _FSFDFType {
e_FSFDF  =  0,
e_FSXFDF  =  1,
}FSFDFType;


FSErrorCode FSDK_FDFDoc_Create( FSReaderCallback* file_read, FS_FDFDOC_HANDLE* fdfdoc_return_value);
FSErrorCode FSDK_FDFDoc_Create0(FSFDFType type, FS_FDFDOC_HANDLE* fdfdoc_return_value);
FSErrorCode FSDK_FDFDoc_Create1(const wchar_t* path, FS_FDFDOC_HANDLE* fdfdoc_return_value);
FSErrorCode FSDK_FDFDoc_Create2(const void* buffer, size_t length, FS_FDFDOC_HANDLE* fdfdoc_return_value);
FSErrorCode FSDK_FDFDoc_Release(FS_FDFDOC_HANDLE fdfdoc_handle);
FSErrorCode FSDK_FDFDoc_IsEmpty(FS_FDFDOC_HANDLE fdfdoc_handle, FS_BOOL* return_value);
FSErrorCode FSDK_FDFDoc_GetType(FS_FDFDOC_HANDLE fdfdoc_handle, FSFDFType* return_value);
FSErrorCode FSDK_FDFDoc_GetPDFPath(FS_FDFDOC_HANDLE fdfdoc_handle, FS_WSTR* return_value);
FSErrorCode FSDK_FDFDoc_SetPDFPath(FS_FDFDOC_HANDLE fdfdoc_handle, const wchar_t* pdf_path, FS_BOOL* return_value);
FSErrorCode FSDK_FDFDoc_SaveAs(FS_FDFDOC_HANDLE fdfdoc_handle, const wchar_t* file_path, FS_BOOL* return_value);
FSErrorCode FSDK_FDFDoc_SaveAs0(FS_FDFDOC_HANDLE fdfdoc_handle,  FSWriterCallback* file, FS_BOOL* return_value);
FSErrorCode FSDK_FDFDoc_GetCatalog(FS_FDFDOC_HANDLE fdfdoc_handle, FS_PDFDICTIONARY_HANDLE* return_value);
FSErrorCode FSDK_FDFDoc_GetFDFDict(FS_FDFDOC_HANDLE fdfdoc_handle, FS_PDFDICTIONARY_HANDLE* return_value);
#ifdef __cplusplus
}
#endif
#endif
