diff options
Diffstat (limited to 'fpdfsdk/include/fpdf_dataavail.h')
-rw-r--r-- | fpdfsdk/include/fpdf_dataavail.h | 444 |
1 files changed, 222 insertions, 222 deletions
diff --git a/fpdfsdk/include/fpdf_dataavail.h b/fpdfsdk/include/fpdf_dataavail.h index 9d373fc959..971ab2505c 100644 --- a/fpdfsdk/include/fpdf_dataavail.h +++ b/fpdfsdk/include/fpdf_dataavail.h @@ -1,222 +1,222 @@ -// Copyright 2014 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#ifndef _FPDF_DATAAVAIL_H_
-#define _FPDF_DATAAVAIL_H_
-
-#ifndef _FPDFVIEW_H_
-#include "fpdfview.h"
-#endif
-
-
-/** The result of the process which check linearized PDF. */
-#define FSDK_IS_LINEARIZED 1
-#define FSDK_NOT_LINEARIZED 0
-#define FSDK_UNKNOW_LINEARIZED -1
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Interface: FX_FILEAVAIL
- * Interface for checking whether the section of the file is available.
- */
-typedef struct _FX_FILEAVAIL {
- /**
- * Version number of the interface. Currently must be 1.
- */
- int version;
-
- /**
- * Method: IsDataAvail
- * Report whether the specified data section is available. A section is available only if all bytes in the section is available.
- * Interface Version:
- * 1
- * Implementation Required:
- * Yes
- * Parameters:
- * pThis - Pointer to the interface structure itself.
- * offset - The offset of the data section in the file.
- * size - The size of the data section
- * Return Value:
- * true means the specified data section is available.
- * Comments:
- * Called by Foxit SDK to check whether the data section is ready.
- */
- bool (*IsDataAvail)(struct _FX_FILEAVAIL* pThis, size_t offset, size_t size);
-} FX_FILEAVAIL;
-
-typedef void* FPDF_AVAIL;
-
-/**
-* Function: FPDFAvail_Create
-* Create a document availability provider.
-*
-* Parameters:
-* file_avail - Pointer to file availability interface to check availability of file data.
-* file - Pointer to a file access interface for reading data from file.
-* Return value:
-* A handle to the document availability provider. NULL for error.
-* Comments:
-* Application must call FPDFAvail_Destroy when done with the availability provider.
-*/
-DLLEXPORT FPDF_AVAIL STDCALL FPDFAvail_Create(FX_FILEAVAIL* file_avail, FPDF_FILEACCESS* file);
-
-/**
-* Function: FPDFAvail_Destroy
-* Destroy a document availibity provider.
-*
-* Parameters:
-* avail - Handle to document availability provider returned by FPDFAvail_Create
-* Return Value:
-* None.
-*/
-DLLEXPORT void STDCALL FPDFAvail_Destroy(FPDF_AVAIL avail);
-
-/**
- * Interface: FX_DOWNLOADHINTS
- * Download hints interface. Used to receive hints for further downloading.
- */
-typedef struct _FX_DOWNLOADHINTS {
- /**
- * Version number of the interface. Currently must be 1.
- */
- int version;
-
- /**
- * Method: AddSegment
- * Add a section to be downloaded.
- * Interface Version:
- * 1
- * Implementation Required:
- * Yes
- * Parameters:
- * pThis - Pointer to the interface structure itself.
- * offset - The offset of the hint reported to be downloaded.
- * size - The size of the hint reported to be downloaded.
- * Return Value:
- * None.
- * Comments:
- * Called by Foxit SDK to report some downloading hints for download manager.
- * The position and size of section may be not accurate, part of the section might be already available.
- * The download manager must deal with that to maximize download efficiency.
- */
- void (*AddSegment)(struct _FX_DOWNLOADHINTS* pThis, size_t offset, size_t size);
-} FX_DOWNLOADHINTS;
-
-/**
-* Function: FPDFAvail_IsDocAvail
-* Check whether the document is ready for loading, if not, get download hints.
-*
-* Parameters:
-* avail - Handle to document availability provider returned by FPDFAvail_Create
-* hints - Pointer to a download hints interface, receiving generated hints
-* Return value:
-* Non-zero for page is fully available, 0 for page not yet available.
-* Comments:
-* The application should call this function whenever new data arrived, and process all the
-* generated download hints if any, until the function returns non-zero value. Then the
-* application can call FPDFAvail_GetDocument() to get a document handle.
-*/
-DLLEXPORT int STDCALL FPDFAvail_IsDocAvail(FPDF_AVAIL avail, FX_DOWNLOADHINTS* hints);
-
-/**
-* Function: FPDFAvail_GetDocument
-* Get document from the availability provider.
-*
-* Parameters:
-* avail - Handle to document availability provider returned by FPDFAvail_Create
-* password - Optional password for decrypting the PDF file.
-* Return value:
-* Handle to the document.
-* Comments:
-* After FPDFAvail_IsDocAvail() returns TRUE, the application should call this function to
-* get the document handle. To close the document, use FPDF_CloseDocument function.
-*/
-DLLEXPORT FPDF_DOCUMENT STDCALL FPDFAvail_GetDocument(FPDF_AVAIL avail,
- FPDF_BYTESTRING password);
-
-/**
-* Function: FPDFAvail_GetFirstPageNum
-* Get page number for the first available page in a linearized PDF
-*
-* Parameters:
-* doc - A document handle returned by FPDFAvail_GetDocument
-* Return Value:
-* Zero-based index for the first available page.
-* Comments:
-* For most linearized PDFs, the first available page would be just the first page, however,
-* some PDFs might make other page to be the first available page.
-* For non-linearized PDF, this function will always return zero.
-*/
-DLLEXPORT int STDCALL FPDFAvail_GetFirstPageNum(FPDF_DOCUMENT doc);
-
-/**
-* Function: FPDFAvail_IsPageAvail
-* Check whether a page is ready for loading, if not, get download hints.
-*
-* Parameters:
-* avail - Handle to document availability provider returned by FPDFAvail_Create
-* page_index - Index number of the page. 0 for the first page.
-* hints - Pointer to a download hints interface, receiving generated hints
-* Return value:
-* Non-zero for page is fully available, 0 for page not yet available.
-* Comments:
-* This function call be called only after FPDFAvail_GetDocument if called.
-* The application should call this function whenever new data arrived, and process all the
-* generated download hints if any, until the function returns non-zero value. Then the
-* application can perform page loading.
-*/
-DLLEXPORT int STDCALL FPDFAvail_IsPageAvail(FPDF_AVAIL avail, int page_index, FX_DOWNLOADHINTS* hints);
-
-/**
-* Function: FPDFAvail_ISFormAvail
-* Check whether Form data is ready for init, if not, get download hints.
-*
-* Parameters:
-* avail - Handle to document availability provider returned by FPDFAvail_Create
-* hints - Pointer to a download hints interface, receiving generated hints
-* Return value:
-* Non-zero for Form data is fully available, 0 for Form data not yet available.
-* Details: -1 - error, the input parameter not correct, such as hints is null.
-* 0 - data not available
-* 1 - data available
-* 2 - no form data.
-* Comments:
-* This function call be called only after FPDFAvail_GetDocument if called.
-* The application should call this function whenever new data arrived, and process all the
-* generated download hints if any, until the function returns non-zero value. Then the
-* application can perform page loading. Recommend to call FPDFDOC_InitFormFillEnviroument
-* after the function returns non-zero value.
-*/
-DLLEXPORT int STDCALL FPDFAvail_IsFormAvail(FPDF_AVAIL avail, FX_DOWNLOADHINTS* hints);
-
-/**
-* Function: FPDFAvail_IsLinearized
-* To check whether a document is Linearized PDF file.
-*
-* Parameters:
-* avail - Handle to document availability provider returned by FPDFAvail_Create
-* Return value:
-* return TRUE means the document is linearized PDF else not.
-* FSDK_IS_LINEARIZED is a linearize file.
-* FSDK_NOT_LINEARIZED is not a linearize file.
-* FSDK_UNKNOW_LINEARIZED don't know whether the file is a linearize file.
-* Comments:
-* It return TRUE/FALSE as soon as we have first 1K data. If the file's size less than
-* 1K,we don't known whether the PDF is a linearized file.
-*
-*/
-DLLEXPORT FPDF_BOOL STDCALL FPDFAvail_IsLinearized(FPDF_AVAIL avail);
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif
-
+// Copyright 2014 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef _FPDF_DATAAVAIL_H_ +#define _FPDF_DATAAVAIL_H_ + +#ifndef _FPDFVIEW_H_ +#include "fpdfview.h" +#endif + + +/** The result of the process which check linearized PDF. */ +#define FSDK_IS_LINEARIZED 1 +#define FSDK_NOT_LINEARIZED 0 +#define FSDK_UNKNOW_LINEARIZED -1 + + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Interface: FX_FILEAVAIL + * Interface for checking whether the section of the file is available. + */ +typedef struct _FX_FILEAVAIL { + /** + * Version number of the interface. Currently must be 1. + */ + int version; + + /** + * Method: IsDataAvail + * Report whether the specified data section is available. A section is available only if all bytes in the section is available. + * Interface Version: + * 1 + * Implementation Required: + * Yes + * Parameters: + * pThis - Pointer to the interface structure itself. + * offset - The offset of the data section in the file. + * size - The size of the data section + * Return Value: + * true means the specified data section is available. + * Comments: + * Called by Foxit SDK to check whether the data section is ready. + */ + bool (*IsDataAvail)(struct _FX_FILEAVAIL* pThis, size_t offset, size_t size); +} FX_FILEAVAIL; + +typedef void* FPDF_AVAIL; + +/** +* Function: FPDFAvail_Create +* Create a document availability provider. +* +* Parameters: +* file_avail - Pointer to file availability interface to check availability of file data. +* file - Pointer to a file access interface for reading data from file. +* Return value: +* A handle to the document availability provider. NULL for error. +* Comments: +* Application must call FPDFAvail_Destroy when done with the availability provider. +*/ +DLLEXPORT FPDF_AVAIL STDCALL FPDFAvail_Create(FX_FILEAVAIL* file_avail, FPDF_FILEACCESS* file); + +/** +* Function: FPDFAvail_Destroy +* Destroy a document availibity provider. +* +* Parameters: +* avail - Handle to document availability provider returned by FPDFAvail_Create +* Return Value: +* None. +*/ +DLLEXPORT void STDCALL FPDFAvail_Destroy(FPDF_AVAIL avail); + +/** + * Interface: FX_DOWNLOADHINTS + * Download hints interface. Used to receive hints for further downloading. + */ +typedef struct _FX_DOWNLOADHINTS { + /** + * Version number of the interface. Currently must be 1. + */ + int version; + + /** + * Method: AddSegment + * Add a section to be downloaded. + * Interface Version: + * 1 + * Implementation Required: + * Yes + * Parameters: + * pThis - Pointer to the interface structure itself. + * offset - The offset of the hint reported to be downloaded. + * size - The size of the hint reported to be downloaded. + * Return Value: + * None. + * Comments: + * Called by Foxit SDK to report some downloading hints for download manager. + * The position and size of section may be not accurate, part of the section might be already available. + * The download manager must deal with that to maximize download efficiency. + */ + void (*AddSegment)(struct _FX_DOWNLOADHINTS* pThis, size_t offset, size_t size); +} FX_DOWNLOADHINTS; + +/** +* Function: FPDFAvail_IsDocAvail +* Check whether the document is ready for loading, if not, get download hints. +* +* Parameters: +* avail - Handle to document availability provider returned by FPDFAvail_Create +* hints - Pointer to a download hints interface, receiving generated hints +* Return value: +* Non-zero for page is fully available, 0 for page not yet available. +* Comments: +* The application should call this function whenever new data arrived, and process all the +* generated download hints if any, until the function returns non-zero value. Then the +* application can call FPDFAvail_GetDocument() to get a document handle. +*/ +DLLEXPORT int STDCALL FPDFAvail_IsDocAvail(FPDF_AVAIL avail, FX_DOWNLOADHINTS* hints); + +/** +* Function: FPDFAvail_GetDocument +* Get document from the availability provider. +* +* Parameters: +* avail - Handle to document availability provider returned by FPDFAvail_Create +* password - Optional password for decrypting the PDF file. +* Return value: +* Handle to the document. +* Comments: +* After FPDFAvail_IsDocAvail() returns TRUE, the application should call this function to +* get the document handle. To close the document, use FPDF_CloseDocument function. +*/ +DLLEXPORT FPDF_DOCUMENT STDCALL FPDFAvail_GetDocument(FPDF_AVAIL avail, + FPDF_BYTESTRING password); + +/** +* Function: FPDFAvail_GetFirstPageNum +* Get page number for the first available page in a linearized PDF +* +* Parameters: +* doc - A document handle returned by FPDFAvail_GetDocument +* Return Value: +* Zero-based index for the first available page. +* Comments: +* For most linearized PDFs, the first available page would be just the first page, however, +* some PDFs might make other page to be the first available page. +* For non-linearized PDF, this function will always return zero. +*/ +DLLEXPORT int STDCALL FPDFAvail_GetFirstPageNum(FPDF_DOCUMENT doc); + +/** +* Function: FPDFAvail_IsPageAvail +* Check whether a page is ready for loading, if not, get download hints. +* +* Parameters: +* avail - Handle to document availability provider returned by FPDFAvail_Create +* page_index - Index number of the page. 0 for the first page. +* hints - Pointer to a download hints interface, receiving generated hints +* Return value: +* Non-zero for page is fully available, 0 for page not yet available. +* Comments: +* This function call be called only after FPDFAvail_GetDocument if called. +* The application should call this function whenever new data arrived, and process all the +* generated download hints if any, until the function returns non-zero value. Then the +* application can perform page loading. +*/ +DLLEXPORT int STDCALL FPDFAvail_IsPageAvail(FPDF_AVAIL avail, int page_index, FX_DOWNLOADHINTS* hints); + +/** +* Function: FPDFAvail_ISFormAvail +* Check whether Form data is ready for init, if not, get download hints. +* +* Parameters: +* avail - Handle to document availability provider returned by FPDFAvail_Create +* hints - Pointer to a download hints interface, receiving generated hints +* Return value: +* Non-zero for Form data is fully available, 0 for Form data not yet available. +* Details: -1 - error, the input parameter not correct, such as hints is null. +* 0 - data not available +* 1 - data available +* 2 - no form data. +* Comments: +* This function call be called only after FPDFAvail_GetDocument if called. +* The application should call this function whenever new data arrived, and process all the +* generated download hints if any, until the function returns non-zero value. Then the +* application can perform page loading. Recommend to call FPDFDOC_InitFormFillEnviroument +* after the function returns non-zero value. +*/ +DLLEXPORT int STDCALL FPDFAvail_IsFormAvail(FPDF_AVAIL avail, FX_DOWNLOADHINTS* hints); + +/** +* Function: FPDFAvail_IsLinearized +* To check whether a document is Linearized PDF file. +* +* Parameters: +* avail - Handle to document availability provider returned by FPDFAvail_Create +* Return value: +* return TRUE means the document is linearized PDF else not. +* FSDK_IS_LINEARIZED is a linearize file. +* FSDK_NOT_LINEARIZED is not a linearize file. +* FSDK_UNKNOW_LINEARIZED don't know whether the file is a linearize file. +* Comments: +* It return TRUE/FALSE as soon as we have first 1K data. If the file's size less than +* 1K,we don't known whether the PDF is a linearized file. +* +*/ +DLLEXPORT FPDF_BOOL STDCALL FPDFAvail_IsLinearized(FPDF_AVAIL avail); + +#ifdef __cplusplus +}; +#endif + +#endif + |