Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(794)

Side by Side Diff: fpdfsdk/include/fpdf_dataavail.h

Issue 1135913002: Create top-level public/ header directory. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Comment fpdfview.h non-rename. Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7 #ifndef _FPDF_DATAAVAIL_H_
8 #define _FPDF_DATAAVAIL_H_
9
10 #include <stddef.h> // For size_t.
11
12 #include "fpdfview.h"
13
14 /** The result of the process which check linearized PDF. */
15 #define FSDK_IS_LINEARIZED 1
16 #define FSDK_NOT_LINEARIZED 0
17 #define FSDK_UNKNOW_LINEARIZED -1
18
19
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23
24 /**
25 * Interface: FX_FILEAVAIL
26 * Interface for checking whether the section of the file i s available.
27 */
28 typedef struct _FX_FILEAVAIL {
29 /**
30 * Version number of the interface. Currently must be 1.
31 */
32 int version;
33
34 /**
35 * Method: IsDataAvail
36 * Report whether the specified data section is available. A section is available only if all bytes in the section is available.
37 * Interface Version:
38 * 1
39 * Implementation Required:
40 * Yes
41 * Parameters:
42 * pThis - Pointer to the interface structu re itself.
43 * offset - The offset of the data section i n the file.
44 * size - The size of the data section
45 * Return Value:
46 * true means the specified data section is available.
47 * Comments:
48 * Called by Foxit SDK to check whether the data section is ready.
49 */
50 bool (*IsDataAvail)(struct _FX_FILEAVAIL* pThis, size_t offset, size_t s ize);
51 } FX_FILEAVAIL;
52
53 typedef void* FPDF_AVAIL;
54
55 /**
56 * Function: FPDFAvail_Create
57 * Create a document availability provider.
58 *
59 * Parameters:
60 * file_avail - Pointer to file availability int erface to check availability of file data.
61 * file - Pointer to a file access interfa ce for reading data from file.
62 * Return value:
63 * A handle to the document availability provider. NULL for error.
64 * Comments:
65 * Application must call FPDFAvail_Destroy when done with t he availability provider.
66 */
67 DLLEXPORT FPDF_AVAIL STDCALL FPDFAvail_Create(FX_FILEAVAIL* file_avail, FPDF_FIL EACCESS* file);
68
69 /**
70 * Function: FPDFAvail_Destroy
71 * Destroy a document availibity provider.
72 *
73 * Parameters:
74 * avail - Handle to document availability provider returned by FPDFAvail_Create
75 * Return Value:
76 * None.
77 */
78 DLLEXPORT void STDCALL FPDFAvail_Destroy(FPDF_AVAIL avail);
79
80 /**
81 * Interface: FX_DOWNLOADHINTS
82 * Download hints interface. Used to receive hints for furt her downloading.
83 */
84 typedef struct _FX_DOWNLOADHINTS {
85 /**
86 * Version number of the interface. Currently must be 1.
87 */
88 int version;
89
90 /**
91 * Method: AddSegment
92 * Add a section to be downloaded.
93 * Interface Version:
94 * 1
95 * Implementation Required:
96 * Yes
97 * Parameters:
98 * pThis - Pointer to the interface structu re itself.
99 * offset - The offset of the hint reported to be downloaded.
100 * size - The size of the hint reported to be downloaded.
101 * Return Value:
102 * None.
103 * Comments:
104 * Called by Foxit SDK to report some downloading hints for download manager.
105 * The position and size of section may be not accurate, pa rt of the section might be already available.
106 * The download manager must deal with that to maximize dow nload efficiency.
107 */
108 void (*AddSegment)(struct _FX_DOWNLOADHINTS* pThis, size_t offset, size_ t size);
109 } FX_DOWNLOADHINTS;
110
111 /**
112 * Function: FPDFAvail_IsDocAvail
113 * Check whether the document is ready for loading, if not, get download hints.
114 *
115 * Parameters:
116 * avail - Handle to document availability provider returned by FPDFAvail_Create
117 * hints - Pointer to a download hints inte rface, receiving generated hints
118 * Return value:
119 * Non-zero for page is fully available, 0 for page not yet available.
120 * Comments:
121 * The application should call this function whenever new d ata arrived, and process all the
122 * generated download hints if any, until the function retu rns non-zero value. Then the
123 * application can call FPDFAvail_GetDocument() to get a do cument handle.
124 */
125 DLLEXPORT int STDCALL FPDFAvail_IsDocAvail(FPDF_AVAIL avail, FX_DOWNLOADHINTS* h ints);
126
127 /**
128 * Function: FPDFAvail_GetDocument
129 * Get document from the availability provider.
130 *
131 * Parameters:
132 * avail - Handle to document availability provider returned by FPDFAvail_Create
133 * password - Optional password for decrypting the PDF file.
134 * Return value:
135 * Handle to the document.
136 * Comments:
137 * After FPDFAvail_IsDocAvail() returns TRUE, the applicati on should call this function to
138 * get the document handle. To close the document, use FPDF _CloseDocument function.
139 */
140 DLLEXPORT FPDF_DOCUMENT STDCALL FPDFAvail_GetDocument(FPDF_AVAIL avail,
141 FPDF_BYTESTRING password);
142
143 /**
144 * Function: FPDFAvail_GetFirstPageNum
145 * Get page number for the first available page in a linear ized PDF
146 *
147 * Parameters:
148 * doc - A document handle return ed by FPDFAvail_GetDocument
149 * Return Value:
150 * Zero-based index for the first available page.
151 * Comments:
152 * For most linearized PDFs, the first available page would be just the first page, however,
153 * some PDFs might make other page to be the first availabl e page.
154 * For non-linearized PDF, this function will always return zero.
155 */
156 DLLEXPORT int STDCALL FPDFAvail_GetFirstPageNum(FPDF_DOCUMENT doc);
157
158 /**
159 * Function: FPDFAvail_IsPageAvail
160 * Check whether a page is ready for loading, if not, get d ownload hints.
161 *
162 * Parameters:
163 * avail - Handle to document availability provider returned by FPDFAvail_Create
164 * page_index - Index number of the page. 0 for the first page.
165 * hints - Pointer to a download hints inte rface, receiving generated hints
166 * Return value:
167 * Non-zero for page is fully available, 0 for page not yet available.
168 * Comments:
169 * This function call be called only after FPDFAvail_GetDoc ument if called.
170 * The application should call this function whenever new d ata arrived, and process all the
171 * generated download hints if any, until the function retu rns non-zero value. Then the
172 * application can perform page loading.
173 */
174 DLLEXPORT int STDCALL FPDFAvail_IsPageAvail(FPDF_AVAIL avail, int page_index, FX _DOWNLOADHINTS* hints);
175
176 /**
177 * Function: FPDFAvail_ISFormAvail
178 * Check whether Form data is ready for init, if not, get d ownload hints.
179 *
180 * Parameters:
181 * avail - Handle to document availability provider returned by FPDFAvail_Create
182 * hints - Pointer to a download hints inte rface, receiving generated hints
183 * Return value:
184 * Non-zero for Form data is fully available, 0 for Form da ta not yet available.
185 * Details: -1 - error, the input parameter not correct, su ch as hints is null.
186 * 0 - data not available
187 * 1 - data available
188 * 2 - no form data.
189 * Comments:
190 * This function call be called only after FPDFAvail_GetDoc ument if called.
191 * The application should call this function whenever new d ata arrived, and process all the
192 * generated download hints if any, until the function retu rns non-zero value. Then the
193 * application can perform page loading. Recommend to call FPDFDOC_InitFormFillEnvironment
194 * after the function returns non-zero value.
195 */
196 DLLEXPORT int STDCALL FPDFAvail_IsFormAvail(FPDF_AVAIL avail, FX_DOWNLOADHINTS* hints);
197
198 /**
199 * Function: FPDFAvail_IsLinearized
200 * To check whether a document is Linearized PDF file.
201 *
202 * Parameters:
203 * avail - Handle to document availability provider returned by FPDFAvail_Create
204 * Return value:
205 * return TRUE means the document is linearized PDF else no t.
206 * FSDK_IS_LINEARIZED is a linearize file.
207 * FSDK_NOT_LINEARIZED is not a linearize file.
208 * FSDK_UNKNOW_LINEARIZED don't know whether the file is a linearize file.
209 * Comments:
210 * It return TRUE/FALSE as soon as we have first 1K data. If the file's size less than
211 * 1K,we don't known whether the PDF is a linearized file.
212 *
213 */
214 DLLEXPORT FPDF_BOOL STDCALL FPDFAvail_IsLinearized(FPDF_AVAIL avail);
215
216 #ifdef __cplusplus
217 };
218 #endif
219
220 #endif
221
OLDNEW
« no previous file with comments | « core/src/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp ('k') | fpdfsdk/include/fpdf_ext.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698