00001 00002 00003 #ifdef __cplusplus 00004 extern "C" 00005 { // only need to export C interface if used by C++ source code 00006 #endif 00007 00008 /// 00009 /// Base element type, all specific element structures will being with this common structure. 00010 /// @ingroup handler 00011 /// 00012 typedef struct _BFElement 00013 { 00014 int uid; 00015 } BFElement; 00016 00017 /// Function that receives the text of the document. 00018 /// @param handler Pointer to the handler used to call this function. 00019 /// @param buffer Buffer containing 2 byte UNICODE characters. Please note that 00020 /// these characters are always 2 bytes even on systems where 00021 /// wchar_t is 4 bytes long. 00022 /// @param count The count of characters (not bytes) in the buffer. 00023 /// @ingroup handler 00024 typedef void (*BFHandlerText) (void *handler, void *buffer, BFINT32 count); 00025 00026 /// Function called when the current document is finished 00027 /// @param handler Pointer to the handler used to call this function. 00028 /// @ingroup handler 00029 typedef void (*BFHandlerClose) (void *handler); 00030 00031 /** 00032 Structure recieved by the BFHandlerStartRoot() function. 00033 Root element for all extracted content. 00034 @ingroup handler 00035 */ 00036 typedef struct _BFRootElement 00037 { 00038 int uid; 00039 } BFRootElement; 00040 00041 /// Function called at the start of a Root element. 00042 /// @param handler Pointer to the handler used to call this function. 00043 /// @param element The element's data 00044 /// @ingroup handler 00045 typedef void (*BFHandlerStartRoot) (void *handler, BFRootElement *element); 00046 00047 /// Function called at the end of an Root element 00048 /// @param handler Pointer to the handler used to call this function. 00049 /// @ingroup handler 00050 typedef void (*BFHandlerEndRoot) (void *handler, BFElement *element); 00051 00052 /** 00053 Structure recieved by the BFHandlerStartDocumentCollection() function. 00054 A set of loosely coupled documents that are related only in that they exist in the same 00055 container such as a ZIP file, TAR file, etc. 00056 00057 @ingroup handler 00058 */ 00059 typedef struct _BFDocumentCollectionElement 00060 { 00061 int uid; 00062 } BFDocumentCollectionElement; 00063 00064 /// Function called at the start of a DocumentCollection element. 00065 /// @param handler Pointer to the handler used to call this function. 00066 /// @param element The element's data 00067 /// @ingroup handler 00068 typedef void (*BFHandlerStartDocumentCollection) (void *handler, BFDocumentCollectionElement *element); 00069 00070 /// Function called at the end of an DocumentCollection element 00071 /// @param handler Pointer to the handler used to call this function. 00072 /// @ingroup handler 00073 typedef void (*BFHandlerEndDocumentCollection) (void *handler, BFElement *element); 00074 00075 /** 00076 Structure recieved by the BFHandlerStartProcessingInfo() function. 00077 Meta information about the process that generated the extracted content. 00078 @ingroup handler 00079 */ 00080 typedef struct _BFProcessingInfoElement 00081 { 00082 int uid; 00083 const wchar_t *file; /* Base name of the file being processed if it exists in the normal file system */ 00084 const wchar_t *path; /* Complete path to the file being processed if it exists in the normal file system */ 00085 BFINT64 date; /* Date and time the file was processed */ 00086 const wchar_t *user; /* User that processed the file */ 00087 const wchar_t *os; /* Operating system on which the file was processed */ 00088 const wchar_t *vm; /* Java VM on which the file was processed */ 00089 } BFProcessingInfoElement; 00090 00091 /// Function called at the start of a ProcessingInfo element. 00092 /// @param handler Pointer to the handler used to call this function. 00093 /// @param element The element's data 00094 /// @ingroup handler 00095 typedef void (*BFHandlerStartProcessingInfo) (void *handler, BFProcessingInfoElement *element); 00096 00097 /// Function called at the end of an ProcessingInfo element 00098 /// @param handler Pointer to the handler used to call this function. 00099 /// @ingroup handler 00100 typedef void (*BFHandlerEndProcessingInfo) (void *handler, BFElement *element); 00101 00102 /** 00103 Structure recieved by the BFHandlerStartContent() function. 00104 A self-contained document, spreadsheet, presentation, image, database, archive, drawing or archive. 00105 @ingroup handler 00106 */ 00107 typedef struct _BFContentElement 00108 { 00109 int uid; 00110 int type; /* One of the following: BFContentElementType_Document, BFContentElementType_Spreadsheet, BFContentElementType_Presentation, BFContentElementType_Image, BFContentElementType_Drawing, BFContentElementType_Container, BFContentElementType_Database, BFContentElementType_Archive, BFContentElementType_Metadata, BFContentElementType_ExecutableCode */ 00111 int format; /* Specific file format of this content, see the FileFormats enumeration */ 00112 } BFContentElement; 00113 00114 /// 00115 /// Possible value for the type field in the BFContentElement strcuture 00116 /// @ingroup handler 00117 /// 00118 #define BFContentElementType_Document 1 00119 00120 /// 00121 /// Possible value for the type field in the BFContentElement strcuture 00122 /// @ingroup handler 00123 /// 00124 #define BFContentElementType_Spreadsheet 2 00125 00126 /// 00127 /// Possible value for the type field in the BFContentElement strcuture 00128 /// @ingroup handler 00129 /// 00130 #define BFContentElementType_Presentation 3 00131 00132 /// 00133 /// Possible value for the type field in the BFContentElement strcuture 00134 /// @ingroup handler 00135 /// 00136 #define BFContentElementType_Image 4 00137 00138 /// 00139 /// Possible value for the type field in the BFContentElement strcuture 00140 /// @ingroup handler 00141 /// 00142 #define BFContentElementType_Drawing 5 00143 00144 /// 00145 /// Possible value for the type field in the BFContentElement strcuture 00146 /// @ingroup handler 00147 /// 00148 #define BFContentElementType_Container 6 00149 00150 /// 00151 /// Possible value for the type field in the BFContentElement strcuture 00152 /// @ingroup handler 00153 /// 00154 #define BFContentElementType_Database 7 00155 00156 /// 00157 /// Possible value for the type field in the BFContentElement strcuture 00158 /// @ingroup handler 00159 /// 00160 #define BFContentElementType_Archive 8 00161 00162 /// 00163 /// Possible value for the type field in the BFContentElement strcuture 00164 /// @ingroup handler 00165 /// 00166 #define BFContentElementType_Metadata 9 00167 00168 /// 00169 /// Possible value for the type field in the BFContentElement strcuture 00170 /// @ingroup handler 00171 /// 00172 #define BFContentElementType_ExecutableCode 10 00173 00174 /// Function called at the start of a Content element. 00175 /// @param handler Pointer to the handler used to call this function. 00176 /// @param element The element's data 00177 /// @ingroup handler 00178 typedef void (*BFHandlerStartContent) (void *handler, BFContentElement *element); 00179 00180 /// Function called at the end of an Content element 00181 /// @param handler Pointer to the handler used to call this function. 00182 /// @ingroup handler 00183 typedef void (*BFHandlerEndContent) (void *handler, BFElement *element); 00184 00185 /** 00186 Structure recieved by the BFHandlerStartCollection() function. 00187 Containing element for a set of items of a certain type that may also be referenced 00188 from another location. 00189 00190 @ingroup handler 00191 */ 00192 typedef struct _BFCollectionElement 00193 { 00194 int uid; 00195 int type; /* One of the following: BFCollectionElementType_Property, BFCollectionElementType_SharedText, BFCollectionElementType_Note, BFCollectionElementType_OfficeArt, BFCollectionElementType_Graphic, BFCollectionElementType_Object, BFCollectionElementType_InternalProperty, BFCollectionElementType_SecureResults, BFCollectionElementType_Revisions, BFCollectionElementType_Hyperlink, BFCollectionElementType_Outline, BFCollectionElementType_ArticleThreads, BFCollectionElementType_FormFields, BFCollectionElementType_OfficeXMLPartDisclosureRisks, BFCollectionElementType_WebCaptureContentSets, BFCollectionElementType_CommentingAuthors */ 00196 } BFCollectionElement; 00197 00198 /// 00199 /// Possible value for the type field in the BFCollectionElement strcuture 00200 /// @ingroup handler 00201 /// 00202 #define BFCollectionElementType_Property 1 00203 00204 /// 00205 /// Possible value for the type field in the BFCollectionElement strcuture 00206 /// @ingroup handler 00207 /// 00208 #define BFCollectionElementType_SharedText 2 00209 00210 /// 00211 /// Possible value for the type field in the BFCollectionElement strcuture 00212 /// @ingroup handler 00213 /// 00214 #define BFCollectionElementType_Note 3 00215 00216 /// 00217 /// Possible value for the type field in the BFCollectionElement strcuture 00218 /// @ingroup handler 00219 /// 00220 #define BFCollectionElementType_OfficeArt 4 00221 00222 /// 00223 /// Possible value for the type field in the BFCollectionElement strcuture 00224 /// @ingroup handler 00225 /// 00226 #define BFCollectionElementType_Graphic 5 00227 00228 /// 00229 /// Possible value for the type field in the BFCollectionElement strcuture 00230 /// @ingroup handler 00231 /// 00232 #define BFCollectionElementType_Object 6 00233 00234 /// 00235 /// Possible value for the type field in the BFCollectionElement strcuture 00236 /// @ingroup handler 00237 /// 00238 #define BFCollectionElementType_InternalProperty 7 00239 00240 /// 00241 /// Possible value for the type field in the BFCollectionElement strcuture 00242 /// @ingroup handler 00243 /// 00244 #define BFCollectionElementType_SecureResults 8 00245 00246 /// 00247 /// Possible value for the type field in the BFCollectionElement strcuture 00248 /// @ingroup handler 00249 /// 00250 #define BFCollectionElementType_Revisions 9 00251 00252 /// 00253 /// Possible value for the type field in the BFCollectionElement strcuture 00254 /// @ingroup handler 00255 /// 00256 #define BFCollectionElementType_Hyperlink 10 00257 00258 /// 00259 /// Possible value for the type field in the BFCollectionElement strcuture 00260 /// @ingroup handler 00261 /// 00262 #define BFCollectionElementType_Outline 11 00263 00264 /// 00265 /// Possible value for the type field in the BFCollectionElement strcuture 00266 /// @ingroup handler 00267 /// 00268 #define BFCollectionElementType_ArticleThreads 12 00269 00270 /// 00271 /// Possible value for the type field in the BFCollectionElement strcuture 00272 /// @ingroup handler 00273 /// 00274 #define BFCollectionElementType_FormFields 13 00275 00276 /// 00277 /// Possible value for the type field in the BFCollectionElement strcuture 00278 /// @ingroup handler 00279 /// 00280 #define BFCollectionElementType_OfficeXMLPartDisclosureRisks 14 00281 00282 /// 00283 /// Possible value for the type field in the BFCollectionElement strcuture 00284 /// @ingroup handler 00285 /// 00286 #define BFCollectionElementType_WebCaptureContentSets 15 00287 00288 /// 00289 /// Possible value for the type field in the BFCollectionElement strcuture 00290 /// @ingroup handler 00291 /// 00292 #define BFCollectionElementType_CommentingAuthors 16 00293 00294 /// Function called at the start of a Collection element. 00295 /// @param handler Pointer to the handler used to call this function. 00296 /// @param element The element's data 00297 /// @ingroup handler 00298 typedef void (*BFHandlerStartCollection) (void *handler, BFCollectionElement *element); 00299 00300 /// Function called at the end of an Collection element 00301 /// @param handler Pointer to the handler used to call this function. 00302 /// @ingroup handler 00303 typedef void (*BFHandlerEndCollection) (void *handler, BFElement *element); 00304 00305 /** 00306 Structure recieved by the BFHandlerStartEmbeddedContent() function. 00307 A distinct area of embedded content where the data is in another application's format. 00308 Examples are graphics, OLE objects, embedded files, and XML metadata streams. 00309 00310 @ingroup handler 00311 */ 00312 typedef struct _BFEmbeddedContentElement 00313 { 00314 int uid; 00315 int type; /* One of the following: BFEmbeddedContentElementType_OLE, BFEmbeddedContentElementType_Graphic, BFEmbeddedContentElementType_EmbeddedFile, BFEmbeddedContentElementType_XMLMetadata, BFEmbeddedContentElementType_FastSaveData, BFEmbeddedContentElementType_Audio, BFEmbeddedContentElementType_Video, BFEmbeddedContentElementType_OfficePart, BFEmbeddedContentElementType_ExecutableCode, BFEmbeddedContentElementType_Media */ 00316 const wchar_t *description; /* A text description or other textual information about the embedded content */ 00317 int format; /* File format of this content, see the FileFormats enumeration */ 00318 BFINT64 key; /* Key that may be used to reference this content using the ContentRef element */ 00319 int isReplaceable; /* If set to true this content is replaceable. See the Extract options that begin with the word Export for details. */ 00320 BFHANDLE exportOptions; /* */ 00321 } BFEmbeddedContentElement; 00322 00323 /// 00324 /// Possible value for the type field in the BFEmbeddedContentElement strcuture 00325 /// @ingroup handler 00326 /// 00327 #define BFEmbeddedContentElementType_OLE 1 00328 00329 /// 00330 /// Possible value for the type field in the BFEmbeddedContentElement strcuture 00331 /// @ingroup handler 00332 /// 00333 #define BFEmbeddedContentElementType_Graphic 2 00334 00335 /// 00336 /// Possible value for the type field in the BFEmbeddedContentElement strcuture 00337 /// @ingroup handler 00338 /// 00339 #define BFEmbeddedContentElementType_EmbeddedFile 3 00340 00341 /// 00342 /// Possible value for the type field in the BFEmbeddedContentElement strcuture 00343 /// @ingroup handler 00344 /// 00345 #define BFEmbeddedContentElementType_XMLMetadata 4 00346 00347 /// 00348 /// Possible value for the type field in the BFEmbeddedContentElement strcuture 00349 /// @ingroup handler 00350 /// 00351 #define BFEmbeddedContentElementType_FastSaveData 5 00352 00353 /// 00354 /// Possible value for the type field in the BFEmbeddedContentElement strcuture 00355 /// @ingroup handler 00356 /// 00357 #define BFEmbeddedContentElementType_Audio 6 00358 00359 /// 00360 /// Possible value for the type field in the BFEmbeddedContentElement strcuture 00361 /// @ingroup handler 00362 /// 00363 #define BFEmbeddedContentElementType_Video 7 00364 00365 /// 00366 /// Possible value for the type field in the BFEmbeddedContentElement strcuture 00367 /// @ingroup handler 00368 /// 00369 #define BFEmbeddedContentElementType_OfficePart 8 00370 00371 /// 00372 /// Possible value for the type field in the BFEmbeddedContentElement strcuture 00373 /// @ingroup handler 00374 /// 00375 #define BFEmbeddedContentElementType_ExecutableCode 9 00376 00377 /// 00378 /// Possible value for the type field in the BFEmbeddedContentElement strcuture 00379 /// @ingroup handler 00380 /// 00381 #define BFEmbeddedContentElementType_Media 10 00382 00383 /// Function called at the start of a EmbeddedContent element. 00384 /// @param handler Pointer to the handler used to call this function. 00385 /// @param element The element's data 00386 /// @ingroup handler 00387 typedef void (*BFHandlerStartEmbeddedContent) (void *handler, BFEmbeddedContentElement *element); 00388 00389 /// Function called after the start but before the end of an EmbeddedContent element. This funtion 00390 /// exists to give the developer the opportunity to replace content. 00391 /// @param handler Pointer to the handler used to call this function. 00392 /// @param element The element's data 00393 /// @ingroup handler 00394 typedef void (*BFHandlerProcessEmbeddedContent) (void *handler, BFEmbeddedContentElement *element); 00395 00396 /// Function called at the end of an EmbeddedContent element 00397 /// @param handler Pointer to the handler used to call this function. 00398 /// @ingroup handler 00399 typedef void (*BFHandlerEndEmbeddedContent) (void *handler, BFElement *element); 00400 00401 /** 00402 Structure recieved by the BFHandlerStartLinkedContent() function. 00403 A link to an external piece of content. The contents of this element will be a cached version of the content stored locally in the document. 00404 @ingroup handler 00405 */ 00406 typedef struct _BFLinkedContentElement 00407 { 00408 int uid; 00409 int type; /* One of the following: BFLinkedContentElementType_OLE, BFLinkedContentElementType_Include, BFLinkedContentElementType_Multimedia, BFLinkedContentElementType_Graphic, BFLinkedContentElementType_URL, BFLinkedContentElementType_Audio, BFLinkedContentElementType_Video, BFLinkedContentElementType_DataSource, BFLinkedContentElementType_Media, BFLinkedContentElementType_LaunchTarget, BFLinkedContentElementType_DDE */ 00410 const wchar_t *link; /* Provides the location of the linked content as a path or URL. */ 00411 int sensitive; /* Indicates whether the link is considered sensitive. */ 00412 BFINT64 key; /* A key that may be used to reference this content using the ContentRef element. */ 00413 } BFLinkedContentElement; 00414 00415 /// 00416 /// Possible value for the type field in the BFLinkedContentElement strcuture 00417 /// @ingroup handler 00418 /// 00419 #define BFLinkedContentElementType_OLE 1 00420 00421 /// 00422 /// Possible value for the type field in the BFLinkedContentElement strcuture 00423 /// @ingroup handler 00424 /// 00425 #define BFLinkedContentElementType_Include 2 00426 00427 /// 00428 /// Possible value for the type field in the BFLinkedContentElement strcuture 00429 /// @ingroup handler 00430 /// 00431 #define BFLinkedContentElementType_Multimedia 3 00432 00433 /// 00434 /// Possible value for the type field in the BFLinkedContentElement strcuture 00435 /// @ingroup handler 00436 /// 00437 #define BFLinkedContentElementType_Graphic 4 00438 00439 /// 00440 /// Possible value for the type field in the BFLinkedContentElement strcuture 00441 /// @ingroup handler 00442 /// 00443 #define BFLinkedContentElementType_URL 5 00444 00445 /// 00446 /// Possible value for the type field in the BFLinkedContentElement strcuture 00447 /// @ingroup handler 00448 /// 00449 #define BFLinkedContentElementType_Audio 6 00450 00451 /// 00452 /// Possible value for the type field in the BFLinkedContentElement strcuture 00453 /// @ingroup handler 00454 /// 00455 #define BFLinkedContentElementType_Video 7 00456 00457 /// 00458 /// Possible value for the type field in the BFLinkedContentElement strcuture 00459 /// @ingroup handler 00460 /// 00461 #define BFLinkedContentElementType_DataSource 8 00462 00463 /// 00464 /// Possible value for the type field in the BFLinkedContentElement strcuture 00465 /// @ingroup handler 00466 /// 00467 #define BFLinkedContentElementType_Media 9 00468 00469 /// 00470 /// Possible value for the type field in the BFLinkedContentElement strcuture 00471 /// @ingroup handler 00472 /// 00473 #define BFLinkedContentElementType_LaunchTarget 10 00474 00475 /// 00476 /// Possible value for the type field in the BFLinkedContentElement strcuture 00477 /// @ingroup handler 00478 /// 00479 #define BFLinkedContentElementType_DDE 11 00480 00481 /// Function called at the start of a LinkedContent element. 00482 /// @param handler Pointer to the handler used to call this function. 00483 /// @param element The element's data 00484 /// @ingroup handler 00485 typedef void (*BFHandlerStartLinkedContent) (void *handler, BFLinkedContentElement *element); 00486 00487 /// Function called at the end of an LinkedContent element 00488 /// @param handler Pointer to the handler used to call this function. 00489 /// @ingroup handler 00490 typedef void (*BFHandlerEndLinkedContent) (void *handler, BFElement *element); 00491 00492 /** 00493 Structure recieved by the BFHandlerStartSubContent() function. 00494 A container for a piece of content that may be referenced from another place in the document. 00495 @ingroup handler 00496 */ 00497 typedef struct _BFSubContentElement 00498 { 00499 int uid; 00500 int type; /* One of the following: BFSubContentElementType_SHAPE */ 00501 BFINT64 key; /* A key that may be used to reference this content using the ContentRef element. */ 00502 } BFSubContentElement; 00503 00504 /// 00505 /// Possible value for the type field in the BFSubContentElement strcuture 00506 /// @ingroup handler 00507 /// 00508 #define BFSubContentElementType_SHAPE 1 00509 00510 /// Function called at the start of a SubContent element. 00511 /// @param handler Pointer to the handler used to call this function. 00512 /// @param element The element's data 00513 /// @ingroup handler 00514 typedef void (*BFHandlerStartSubContent) (void *handler, BFSubContentElement *element); 00515 00516 /// Function called at the end of an SubContent element 00517 /// @param handler Pointer to the handler used to call this function. 00518 /// @ingroup handler 00519 typedef void (*BFHandlerEndSubContent) (void *handler, BFElement *element); 00520 00521 /** 00522 Structure recieved by the BFHandlerStartContentRef() function. 00523 Indicates that the referenced content is used at this location in the document. 00524 Contains an attribute named 'reference' that provides a reference to embedded, linked, or sub content. The 00525 referenced content includes an attribute named 'key' that matches this 'reference' and also contains a 00526 matching 'type' attribute. 00527 00528 @ingroup handler 00529 */ 00530 typedef struct _BFContentRefElement 00531 { 00532 int uid; 00533 int type; /* One of the following: BFContentRefElementType_OLE, BFContentRefElementType_Graphic, BFContentRefElementType_EmbeddedFile, BFContentRefElementType_URL, BFContentRefElementType_Shape, BFContentRefElementType_Audio, BFContentRefElementType_Video, BFContentRefElementType_DataSource, BFContentRefElementType_Media */ 00534 BFINT64 reference; /* A reference to an EmbeddedContent, LinkedContent, or SubContent element with a matching type attribute and key attribute. */ 00535 } BFContentRefElement; 00536 00537 /// 00538 /// Possible value for the type field in the BFContentRefElement strcuture 00539 /// @ingroup handler 00540 /// 00541 #define BFContentRefElementType_OLE 1 00542 00543 /// 00544 /// Possible value for the type field in the BFContentRefElement strcuture 00545 /// @ingroup handler 00546 /// 00547 #define BFContentRefElementType_Graphic 2 00548 00549 /// 00550 /// Possible value for the type field in the BFContentRefElement strcuture 00551 /// @ingroup handler 00552 /// 00553 #define BFContentRefElementType_EmbeddedFile 3 00554 00555 /// 00556 /// Possible value for the type field in the BFContentRefElement strcuture 00557 /// @ingroup handler 00558 /// 00559 #define BFContentRefElementType_URL 4 00560 00561 /// 00562 /// Possible value for the type field in the BFContentRefElement strcuture 00563 /// @ingroup handler 00564 /// 00565 #define BFContentRefElementType_Shape 5 00566 00567 /// 00568 /// Possible value for the type field in the BFContentRefElement strcuture 00569 /// @ingroup handler 00570 /// 00571 #define BFContentRefElementType_Audio 6 00572 00573 /// 00574 /// Possible value for the type field in the BFContentRefElement strcuture 00575 /// @ingroup handler 00576 /// 00577 #define BFContentRefElementType_Video 7 00578 00579 /// 00580 /// Possible value for the type field in the BFContentRefElement strcuture 00581 /// @ingroup handler 00582 /// 00583 #define BFContentRefElementType_DataSource 8 00584 00585 /// 00586 /// Possible value for the type field in the BFContentRefElement strcuture 00587 /// @ingroup handler 00588 /// 00589 #define BFContentRefElementType_Media 9 00590 00591 /// Function called at the start of a ContentRef element. 00592 /// @param handler Pointer to the handler used to call this function. 00593 /// @param element The element's data 00594 /// @ingroup handler 00595 typedef void (*BFHandlerStartContentRef) (void *handler, BFContentRefElement *element); 00596 00597 /// Function called at the end of an ContentRef element 00598 /// @param handler Pointer to the handler used to call this function. 00599 /// @ingroup handler 00600 typedef void (*BFHandlerEndContentRef) (void *handler, BFElement *element); 00601 00602 /** 00603 Structure recieved by the BFHandlerStartRevisions() function. 00604 A container for content that has been added or deleted during a specific document editing session. 00605 @ingroup handler 00606 */ 00607 typedef struct _BFRevisionsElement 00608 { 00609 int uid; 00610 const wchar_t *Author; /* The name of the author that created this revision. */ 00611 BFINT64 Date; /* The date this content was revised */ 00612 } BFRevisionsElement; 00613 00614 /// Function called at the start of a Revisions element. 00615 /// @param handler Pointer to the handler used to call this function. 00616 /// @param element The element's data 00617 /// @ingroup handler 00618 typedef void (*BFHandlerStartRevisions) (void *handler, BFRevisionsElement *element); 00619 00620 /// Function called at the end of an Revisions element 00621 /// @param handler Pointer to the handler used to call this function. 00622 /// @ingroup handler 00623 typedef void (*BFHandlerEndRevisions) (void *handler, BFElement *element); 00624 00625 /** 00626 Structure recieved by the BFHandlerStartExportDocument() function. 00627 Identifies an exported document 00628 @ingroup handler 00629 */ 00630 typedef struct _BFExportDocumentElement 00631 { 00632 int uid; 00633 int format; /* File format of the slide when exported, see the FileFormats enumeration */ 00634 BFHANDLE exportOptions; /* */ 00635 } BFExportDocumentElement; 00636 00637 /// Function called at the start of a ExportDocument element. 00638 /// @param handler Pointer to the handler used to call this function. 00639 /// @param element The element's data 00640 /// @ingroup handler 00641 typedef void (*BFHandlerStartExportDocument) (void *handler, BFExportDocumentElement *element); 00642 00643 /// Function called after the start but before the end of an ExportDocument element. This funtion 00644 /// exists to give the developer the opportunity to replace content. 00645 /// @param handler Pointer to the handler used to call this function. 00646 /// @param element The element's data 00647 /// @ingroup handler 00648 typedef void (*BFHandlerProcessExportDocument) (void *handler, BFExportDocumentElement *element); 00649 00650 /// Function called at the end of an ExportDocument element 00651 /// @param handler Pointer to the handler used to call this function. 00652 /// @ingroup handler 00653 typedef void (*BFHandlerEndExportDocument) (void *handler, BFElement *element); 00654 00655 /** 00656 Structure recieved by the BFHandlerStartFrame() function. 00657 Contains the contents of a frame. 00658 @ingroup handler 00659 */ 00660 typedef struct _BFFrameElement 00661 { 00662 int uid; 00663 } BFFrameElement; 00664 00665 /// Function called at the start of a Frame element. 00666 /// @param handler Pointer to the handler used to call this function. 00667 /// @param element The element's data 00668 /// @ingroup handler 00669 typedef void (*BFHandlerStartFrame) (void *handler, BFFrameElement *element); 00670 00671 /// Function called at the end of an Frame element 00672 /// @param handler Pointer to the handler used to call this function. 00673 /// @ingroup handler 00674 typedef void (*BFHandlerEndFrame) (void *handler, BFElement *element); 00675 00676 /** 00677 Structure recieved by the BFHandlerStartTextProperty() function. 00678 A property containing text that is likely to be document content. 00679 @ingroup handler 00680 */ 00681 typedef struct _BFTextPropertyElement 00682 { 00683 int uid; 00684 BFINT32 id; /* A numeric value that can be used to identify the property type as an alternative to the name. */ 00685 const wchar_t *name; /* A text description of property type. This value may be localized if the local name is provided in the document. */ 00686 int target; /* A generated attribute that indicates the class of this property within the Secure Target options. */ 00687 const wchar_t *qname; /* A qualified name to distinguish properties whose names collide. */ 00688 } BFTextPropertyElement; 00689 00690 /// Function called at the start of a TextProperty element. 00691 /// @param handler Pointer to the handler used to call this function. 00692 /// @param element The element's data 00693 /// @ingroup handler 00694 typedef void (*BFHandlerStartTextProperty) (void *handler, BFTextPropertyElement *element); 00695 00696 /// Function called at the end of an TextProperty element 00697 /// @param handler Pointer to the handler used to call this function. 00698 /// @ingroup handler 00699 typedef void (*BFHandlerEndTextProperty) (void *handler, BFElement *element); 00700 00701 /** 00702 Structure recieved by the BFHandlerStartPageInfo() function. 00703 Page size and margin information in twips 00704 00705 @ingroup handler 00706 */ 00707 typedef struct _BFPageInfoElement 00708 { 00709 int uid; 00710 BFINT32 width; /* Width of the physical page */ 00711 BFINT32 height; /* Height of the physical page */ 00712 BFINT32 right; /* Right margin */ 00713 BFINT32 left; /* Left margin */ 00714 BFINT32 top; /* Top margin */ 00715 BFINT32 bottom; /* Bottom margin */ 00716 BFINT32 gutter; /* Gutter width */ 00717 } BFPageInfoElement; 00718 00719 /// Function called at the start of a PageInfo element. 00720 /// @param handler Pointer to the handler used to call this function. 00721 /// @param element The element's data 00722 /// @ingroup handler 00723 typedef void (*BFHandlerStartPageInfo) (void *handler, BFPageInfoElement *element); 00724 00725 /// Function called at the end of an PageInfo element 00726 /// @param handler Pointer to the handler used to call this function. 00727 /// @ingroup handler 00728 typedef void (*BFHandlerEndPageInfo) (void *handler, BFElement *element); 00729 00730 /** 00731 Structure recieved by the BFHandlerStartStringProperty() function. 00732 A property with a text attribute that is not likely to be document content. 00733 00734 @ingroup handler 00735 */ 00736 typedef struct _BFStringPropertyElement 00737 { 00738 int uid; 00739 BFINT32 id; /* A numeric value that can be used to identify the property type as an alternative to the name. */ 00740 const wchar_t *name; /* A text description of property type. This value may be localized if the local name is provided in the document. */ 00741 const wchar_t *value; /* The value of the property. */ 00742 int target; /* A generated attribute that indicates the class of this property within the Secure Target options. */ 00743 const wchar_t *qname; /* A qualified name to distinguish properties whose names collide. */ 00744 } BFStringPropertyElement; 00745 00746 /// Function called at the start of a StringProperty element. 00747 /// @param handler Pointer to the handler used to call this function. 00748 /// @param element The element's data 00749 /// @ingroup handler 00750 typedef void (*BFHandlerStartStringProperty) (void *handler, BFStringPropertyElement *element); 00751 00752 /// Function called at the end of an StringProperty element 00753 /// @param handler Pointer to the handler used to call this function. 00754 /// @ingroup handler 00755 typedef void (*BFHandlerEndStringProperty) (void *handler, BFElement *element); 00756 00757 /** 00758 Structure recieved by the BFHandlerStartBooleanProperty() function. 00759 A property with a true or false value. 00760 @ingroup handler 00761 */ 00762 typedef struct _BFBooleanPropertyElement 00763 { 00764 int uid; 00765 BFINT32 id; /* A numeric value that can be used to identify the property type as an alternative to the name. */ 00766 const wchar_t *name; /* A text description of property type. This value may be localized if the local name is provided in the document. */ 00767 int value; /* The value of the property. */ 00768 int target; /* A generated attribute that indicates the class of this property within the Secure Target options. */ 00769 const wchar_t *qname; /* A qualified name to distinguish properties whose names collide. */ 00770 } BFBooleanPropertyElement; 00771 00772 /// Function called at the start of a BooleanProperty element. 00773 /// @param handler Pointer to the handler used to call this function. 00774 /// @param element The element's data 00775 /// @ingroup handler 00776 typedef void (*BFHandlerStartBooleanProperty) (void *handler, BFBooleanPropertyElement *element); 00777 00778 /// Function called at the end of an BooleanProperty element 00779 /// @param handler Pointer to the handler used to call this function. 00780 /// @ingroup handler 00781 typedef void (*BFHandlerEndBooleanProperty) (void *handler, BFElement *element); 00782 00783 /** 00784 Structure recieved by the BFHandlerStartIntegerProperty() function. 00785 A property with an integer value. 00786 @ingroup handler 00787 */ 00788 typedef struct _BFIntegerPropertyElement 00789 { 00790 int uid; 00791 BFINT32 id; /* A numeric value that can be used to identify the property type as an alternative to the name. */ 00792 const wchar_t *name; /* A text description of property type. This value may be localized if the local name is provided in the document. */ 00793 BFINT64 value; /* The value of the property. */ 00794 int target; /* A generated attribute that indicates the class of this property within the Secure Target options. */ 00795 const wchar_t *qname; /* A qualified name to distinguish properties whose names collide. */ 00796 } BFIntegerPropertyElement; 00797 00798 /// Function called at the start of a IntegerProperty element. 00799 /// @param handler Pointer to the handler used to call this function. 00800 /// @param element The element's data 00801 /// @ingroup handler 00802 typedef void (*BFHandlerStartIntegerProperty) (void *handler, BFIntegerPropertyElement *element); 00803 00804 /// Function called at the end of an IntegerProperty element 00805 /// @param handler Pointer to the handler used to call this function. 00806 /// @ingroup handler 00807 typedef void (*BFHandlerEndIntegerProperty) (void *handler, BFElement *element); 00808 00809 /** 00810 Structure recieved by the BFHandlerStartFloatProperty() function. 00811 A property with a floating point value. 00812 @ingroup handler 00813 */ 00814 typedef struct _BFFloatPropertyElement 00815 { 00816 int uid; 00817 BFINT32 id; /* A numeric value that can be used to identify the property type as an alternative to the name. */ 00818 const wchar_t *name; /* A text description of property type. This value may be localized if the local name is provided in the document. */ 00819 double value; /* The value of the property. */ 00820 int target; /* A generated attribute that indicates the class of this property within the Secure Target options. */ 00821 const wchar_t *qname; /* A qualified name to distinguish properties whose names collide. */ 00822 } BFFloatPropertyElement; 00823 00824 /// Function called at the start of a FloatProperty element. 00825 /// @param handler Pointer to the handler used to call this function. 00826 /// @param element The element's data 00827 /// @ingroup handler 00828 typedef void (*BFHandlerStartFloatProperty) (void *handler, BFFloatPropertyElement *element); 00829 00830 /// Function called at the end of an FloatProperty element 00831 /// @param handler Pointer to the handler used to call this function. 00832 /// @ingroup handler 00833 typedef void (*BFHandlerEndFloatProperty) (void *handler, BFElement *element); 00834 00835 /** 00836 Structure recieved by the BFHandlerStartDateProperty() function. 00837 A property with a date/time value. 00838 @ingroup handler 00839 */ 00840 typedef struct _BFDatePropertyElement 00841 { 00842 int uid; 00843 BFINT32 id; /* A numeric value that can be used to identify the property type as an alternative to the name. */ 00844 const wchar_t *name; /* A text description of property type. This value may be localized if the local name is provided in the document. */ 00845 BFINT64 value; /* The value of the property. */ 00846 int target; /* A generated attribute that indicates the class of this property within the Secure Target options. */ 00847 const wchar_t *qname; /* A qualified name to distinguish properties whose names collide. */ 00848 } BFDatePropertyElement; 00849 00850 /// Function called at the start of a DateProperty element. 00851 /// @param handler Pointer to the handler used to call this function. 00852 /// @param element The element's data 00853 /// @ingroup handler 00854 typedef void (*BFHandlerStartDateProperty) (void *handler, BFDatePropertyElement *element); 00855 00856 /// Function called at the end of an DateProperty element 00857 /// @param handler Pointer to the handler used to call this function. 00858 /// @ingroup handler 00859 typedef void (*BFHandlerEndDateProperty) (void *handler, BFElement *element); 00860 00861 /** 00862 Structure recieved by the BFHandlerStartDurationProperty() function. 00863 A property with a duration value. 00864 @ingroup handler 00865 */ 00866 typedef struct _BFDurationPropertyElement 00867 { 00868 int uid; 00869 BFINT32 id; /* A numeric value that can be used to identify the property type as an alternative to the name. */ 00870 const wchar_t *name; /* A text description of property type. This value may be localized if the local name is provided in the document. */ 00871 BFINT64 value; /* The value of the property. */ 00872 int target; /* A generated attribute that indicates the class of this property within the Secure Target options. */ 00873 const wchar_t *qname; /* A qualified name to distinguish properties whose names collide. */ 00874 } BFDurationPropertyElement; 00875 00876 /// Function called at the start of a DurationProperty element. 00877 /// @param handler Pointer to the handler used to call this function. 00878 /// @param element The element's data 00879 /// @ingroup handler 00880 typedef void (*BFHandlerStartDurationProperty) (void *handler, BFDurationPropertyElement *element); 00881 00882 /// Function called at the end of an DurationProperty element 00883 /// @param handler Pointer to the handler used to call this function. 00884 /// @ingroup handler 00885 typedef void (*BFHandlerEndDurationProperty) (void *handler, BFElement *element); 00886 00887 /** 00888 Structure recieved by the BFHandlerStartDataProperty() function. 00889 A property used to identify binary data properties. 00890 @ingroup handler 00891 */ 00892 typedef struct _BFDataPropertyElement 00893 { 00894 int uid; 00895 BFINT32 id; /* A numeric value that can be used to identify the property type as an alternative to the name. */ 00896 const wchar_t *name; /* A text description of property type. This value may be localized if the local name is provided in the document. */ 00897 int target; /* A generated attribute that indicates the class of this property within the Secure Target options. */ 00898 const wchar_t *qname; /* A qualified name to distinguish properties whose names collide. */ 00899 } BFDataPropertyElement; 00900 00901 /// Function called at the start of a DataProperty element. 00902 /// @param handler Pointer to the handler used to call this function. 00903 /// @param element The element's data 00904 /// @ingroup handler 00905 typedef void (*BFHandlerStartDataProperty) (void *handler, BFDataPropertyElement *element); 00906 00907 /// Function called at the end of an DataProperty element 00908 /// @param handler Pointer to the handler used to call this function. 00909 /// @ingroup handler 00910 typedef void (*BFHandlerEndDataProperty) (void *handler, BFElement *element); 00911 00912 /** 00913 Structure recieved by the BFHandlerStartLocaleProperty() function. 00914 A property that describes the locale of the creating application. This property is 00915 information only and not guaranteed to exist. This property may provide a useful hint about the 00916 locale associated with the origin of this document. 00917 00918 @ingroup handler 00919 */ 00920 typedef struct _BFLocalePropertyElement 00921 { 00922 int uid; 00923 BFINT32 localeId; /* A numeric identifier of the locale associated with this property collection. The value represents a locale id as defined by the Microsoft Win32 SDK. */ 00924 const wchar_t *localeName; /* A text description of the locale associated with properties in this document. This property is informational only and is not guaranteed to exist. It may */ 00925 int target; /* A generated attribute that indicates the class of this property within the Secure Target options. */ 00926 const wchar_t *qname; /* A qualified name to distinguish properties whose names collide. */ 00927 } BFLocalePropertyElement; 00928 00929 /// Function called at the start of a LocaleProperty element. 00930 /// @param handler Pointer to the handler used to call this function. 00931 /// @param element The element's data 00932 /// @ingroup handler 00933 typedef void (*BFHandlerStartLocaleProperty) (void *handler, BFLocalePropertyElement *element); 00934 00935 /// Function called at the end of an LocaleProperty element 00936 /// @param handler Pointer to the handler used to call this function. 00937 /// @ingroup handler 00938 typedef void (*BFHandlerEndLocaleProperty) (void *handler, BFElement *element); 00939 00940 /** 00941 Structure recieved by the BFHandlerStartCodepageProperty() function. 00942 This property provides the code page associated with non-Unicode text properties 00943 located in this document. This property is informational only. Note that non-Unicode text 00944 properties are internally converted to Unicode before being presented during extraction. This 00945 property, when available, may provide a useful hint about the locale associated with the origin 00946 of this document but is not guaranteed to be present. 00947 00948 @ingroup handler 00949 */ 00950 typedef struct _BFCodepagePropertyElement 00951 { 00952 int uid; 00953 BFINT32 codepageId; /* A numeric identifier of the code page associated with non-Unicode text properties located in this document. The value represents either a Windows code page or Macintosh Script based on the originating operating system. */ 00954 const wchar_t *codepageName; /* A text description of the code page associated with non-Unicode text properties. */ 00955 int target; /* A generated attribute that indicates the class of this property within the Secure Target options. */ 00956 const wchar_t *qname; /* A qualified name to distinguish properties whose names collide. */ 00957 } BFCodepagePropertyElement; 00958 00959 /// Function called at the start of a CodepageProperty element. 00960 /// @param handler Pointer to the handler used to call this function. 00961 /// @param element The element's data 00962 /// @ingroup handler 00963 typedef void (*BFHandlerStartCodepageProperty) (void *handler, BFCodepagePropertyElement *element); 00964 00965 /// Function called at the end of an CodepageProperty element 00966 /// @param handler Pointer to the handler used to call this function. 00967 /// @ingroup handler 00968 typedef void (*BFHandlerEndCodepageProperty) (void *handler, BFElement *element); 00969 00970 /** 00971 Structure recieved by the BFHandlerStartListProperty() function. 00972 A property that groups a list of values provided as string elements. This type of 00973 property is commonly used to describe resources used within the document (Fonts, Template, ... ) 00974 or to provide a simple categorization of the content (Sheet names, Slide titles, ...). 00975 00976 @ingroup handler 00977 */ 00978 typedef struct _BFListPropertyElement 00979 { 00980 int uid; 00981 const wchar_t *name; /* A text description of property type. */ 00982 int target; /* A generated attribute that indicates the class of this property within the Secure Target options. */ 00983 const wchar_t *qname; /* A qualified name to distinguish properties whose names collide. */ 00984 } BFListPropertyElement; 00985 00986 /// Function called at the start of a ListProperty element. 00987 /// @param handler Pointer to the handler used to call this function. 00988 /// @param element The element's data 00989 /// @ingroup handler 00990 typedef void (*BFHandlerStartListProperty) (void *handler, BFListPropertyElement *element); 00991 00992 /// Function called at the end of an ListProperty element 00993 /// @param handler Pointer to the handler used to call this function. 00994 /// @ingroup handler 00995 typedef void (*BFHandlerEndListProperty) (void *handler, BFElement *element); 00996 00997 /** 00998 Structure recieved by the BFHandlerStartString() function. 00999 Contains text as an attribute. The text is not likely to be document content. 01000 01001 @ingroup handler 01002 */ 01003 typedef struct _BFStringElement 01004 { 01005 int uid; 01006 int type; /* One of the following: BFStringElementType_Author, BFStringElementType_AuthorInitials, BFStringElementType_Path, BFStringElementType_Query, BFStringElementType_Password, BFStringElementType_Device, BFStringElementType_Driver, BFStringElementType_Title, BFStringElementType_Subject, BFStringElementType_Message, BFStringElementType_Status, BFStringElementType_Protection, BFStringElementType_Recipient, BFStringElementType_Comment, BFStringElementType_Contributor, BFStringElementType_LastRevisionBy, BFStringElementType_Keywords, BFStringElementType_Originator, BFStringElementType_RouteId, BFStringElementType_Description, BFStringElementType_WriteAccess, BFStringElementType_SharedFileAccess, BFStringElementType_CommentingAuthor, BFStringElementType_LastOpenedBy, BFStringElementType_Connection, BFStringElementType_ExtraTableStream, BFStringElementType_TextInFormula, BFStringElementType_HyperlinkAnchor, BFStringElementType_CellRef, BFStringElementType_FieldType, BFStringElementType_FieldName, BFStringElementType_FieldAltName, BFStringElementType_FieldMappingName, BFStringElementType_Font, BFStringElementType_XMLComment, BFStringElementType_XMLPI, BFStringElementType_XMLCDATA, BFStringElementType_XMLUnknownNamespace, BFStringElementType_XMLExternalEntity, BFStringElementType_XMLBoundedSpace, BFStringElementType_XMLUnusedNamespaces, BFStringElementType_XMLRenameNamespacePrefix */ 01007 const wchar_t *value; /* The text value associated with this String element. */ 01008 } BFStringElement; 01009 01010 /// 01011 /// Possible value for the type field in the BFStringElement strcuture 01012 /// @ingroup handler 01013 /// 01014 #define BFStringElementType_Author 1 01015 01016 /// 01017 /// Possible value for the type field in the BFStringElement strcuture 01018 /// @ingroup handler 01019 /// 01020 #define BFStringElementType_AuthorInitials 2 01021 01022 /// 01023 /// Possible value for the type field in the BFStringElement strcuture 01024 /// @ingroup handler 01025 /// 01026 #define BFStringElementType_Path 3 01027 01028 /// 01029 /// Possible value for the type field in the BFStringElement strcuture 01030 /// @ingroup handler 01031 /// 01032 #define BFStringElementType_Query 4 01033 01034 /// 01035 /// Possible value for the type field in the BFStringElement strcuture 01036 /// @ingroup handler 01037 /// 01038 #define BFStringElementType_Password 5 01039 01040 /// 01041 /// Possible value for the type field in the BFStringElement strcuture 01042 /// @ingroup handler 01043 /// 01044 #define BFStringElementType_Device 6 01045 01046 /// 01047 /// Possible value for the type field in the BFStringElement strcuture 01048 /// @ingroup handler 01049 /// 01050 #define BFStringElementType_Driver 7 01051 01052 /// 01053 /// Possible value for the type field in the BFStringElement strcuture 01054 /// @ingroup handler 01055 /// 01056 #define BFStringElementType_Title 8 01057 01058 /// 01059 /// Possible value for the type field in the BFStringElement strcuture 01060 /// @ingroup handler 01061 /// 01062 #define BFStringElementType_Subject 9 01063 01064 /// 01065 /// Possible value for the type field in the BFStringElement strcuture 01066 /// @ingroup handler 01067 /// 01068 #define BFStringElementType_Message 10 01069 01070 /// 01071 /// Possible value for the type field in the BFStringElement strcuture 01072 /// @ingroup handler 01073 /// 01074 #define BFStringElementType_Status 11 01075 01076 /// 01077 /// Possible value for the type field in the BFStringElement strcuture 01078 /// @ingroup handler 01079 /// 01080 #define BFStringElementType_Protection 12 01081 01082 /// 01083 /// Possible value for the type field in the BFStringElement strcuture 01084 /// @ingroup handler 01085 /// 01086 #define BFStringElementType_Recipient 13 01087 01088 /// 01089 /// Possible value for the type field in the BFStringElement strcuture 01090 /// @ingroup handler 01091 /// 01092 #define BFStringElementType_Comment 14 01093 01094 /// 01095 /// Possible value for the type field in the BFStringElement strcuture 01096 /// @ingroup handler 01097 /// 01098 #define BFStringElementType_Contributor 15 01099 01100 /// 01101 /// Possible value for the type field in the BFStringElement strcuture 01102 /// @ingroup handler 01103 /// 01104 #define BFStringElementType_LastRevisionBy 16 01105 01106 /// 01107 /// Possible value for the type field in the BFStringElement strcuture 01108 /// @ingroup handler 01109 /// 01110 #define BFStringElementType_Keywords 17 01111 01112 /// 01113 /// Possible value for the type field in the BFStringElement strcuture 01114 /// @ingroup handler 01115 /// 01116 #define BFStringElementType_Originator 18 01117 01118 /// 01119 /// Possible value for the type field in the BFStringElement strcuture 01120 /// @ingroup handler 01121 /// 01122 #define BFStringElementType_RouteId 19 01123 01124 /// 01125 /// Possible value for the type field in the BFStringElement strcuture 01126 /// @ingroup handler 01127 /// 01128 #define BFStringElementType_Description 20 01129 01130 /// 01131 /// Possible value for the type field in the BFStringElement strcuture 01132 /// @ingroup handler 01133 /// 01134 #define BFStringElementType_WriteAccess 21 01135 01136 /// 01137 /// Possible value for the type field in the BFStringElement strcuture 01138 /// @ingroup handler 01139 /// 01140 #define BFStringElementType_SharedFileAccess 22 01141 01142 /// 01143 /// Possible value for the type field in the BFStringElement strcuture 01144 /// @ingroup handler 01145 /// 01146 #define BFStringElementType_CommentingAuthor 23 01147 01148 /// 01149 /// Possible value for the type field in the BFStringElement strcuture 01150 /// @ingroup handler 01151 /// 01152 #define BFStringElementType_LastOpenedBy 24 01153 01154 /// 01155 /// Possible value for the type field in the BFStringElement strcuture 01156 /// @ingroup handler 01157 /// 01158 #define BFStringElementType_Connection 25 01159 01160 /// 01161 /// Possible value for the type field in the BFStringElement strcuture 01162 /// @ingroup handler 01163 /// 01164 #define BFStringElementType_ExtraTableStream 26 01165 01166 /// 01167 /// Possible value for the type field in the BFStringElement strcuture 01168 /// @ingroup handler 01169 /// 01170 #define BFStringElementType_TextInFormula 27 01171 01172 /// 01173 /// Possible value for the type field in the BFStringElement strcuture 01174 /// @ingroup handler 01175 /// 01176 #define BFStringElementType_HyperlinkAnchor 28 01177 01178 /// 01179 /// Possible value for the type field in the BFStringElement strcuture 01180 /// @ingroup handler 01181 /// 01182 #define BFStringElementType_CellRef 29 01183 01184 /// 01185 /// Possible value for the type field in the BFStringElement strcuture 01186 /// @ingroup handler 01187 /// 01188 #define BFStringElementType_FieldType 30 01189 01190 /// 01191 /// Possible value for the type field in the BFStringElement strcuture 01192 /// @ingroup handler 01193 /// 01194 #define BFStringElementType_FieldName 31 01195 01196 /// 01197 /// Possible value for the type field in the BFStringElement strcuture 01198 /// @ingroup handler 01199 /// 01200 #define BFStringElementType_FieldAltName 32 01201 01202 /// 01203 /// Possible value for the type field in the BFStringElement strcuture 01204 /// @ingroup handler 01205 /// 01206 #define BFStringElementType_FieldMappingName 33 01207 01208 /// 01209 /// Possible value for the type field in the BFStringElement strcuture 01210 /// @ingroup handler 01211 /// 01212 #define BFStringElementType_Font 34 01213 01214 /// 01215 /// Possible value for the type field in the BFStringElement strcuture 01216 /// @ingroup handler 01217 /// 01218 #define BFStringElementType_XMLComment 35 01219 01220 /// 01221 /// Possible value for the type field in the BFStringElement strcuture 01222 /// @ingroup handler 01223 /// 01224 #define BFStringElementType_XMLPI 36 01225 01226 /// 01227 /// Possible value for the type field in the BFStringElement strcuture 01228 /// @ingroup handler 01229 /// 01230 #define BFStringElementType_XMLCDATA 37 01231 01232 /// 01233 /// Possible value for the type field in the BFStringElement strcuture 01234 /// @ingroup handler 01235 /// 01236 #define BFStringElementType_XMLUnknownNamespace 38 01237 01238 /// 01239 /// Possible value for the type field in the BFStringElement strcuture 01240 /// @ingroup handler 01241 /// 01242 #define BFStringElementType_XMLExternalEntity 39 01243 01244 /// 01245 /// Possible value for the type field in the BFStringElement strcuture 01246 /// @ingroup handler 01247 /// 01248 #define BFStringElementType_XMLBoundedSpace 40 01249 01250 /// 01251 /// Possible value for the type field in the BFStringElement strcuture 01252 /// @ingroup handler 01253 /// 01254 #define BFStringElementType_XMLUnusedNamespaces 41 01255 01256 /// 01257 /// Possible value for the type field in the BFStringElement strcuture 01258 /// @ingroup handler 01259 /// 01260 #define BFStringElementType_XMLRenameNamespacePrefix 42 01261 01262 /// Function called at the start of a String element. 01263 /// @param handler Pointer to the handler used to call this function. 01264 /// @param element The element's data 01265 /// @ingroup handler 01266 typedef void (*BFHandlerStartString) (void *handler, BFStringElement *element); 01267 01268 /// Function called at the end of an String element 01269 /// @param handler Pointer to the handler used to call this function. 01270 /// @ingroup handler 01271 typedef void (*BFHandlerEndString) (void *handler, BFElement *element); 01272 01273 /** 01274 Structure recieved by the BFHandlerStartText() function. 01275 Contains text. The text is likely to be document content. 01276 @ingroup handler 01277 */ 01278 typedef struct _BFTextElement 01279 { 01280 int uid; 01281 int type; /* One of the following: BFTextElementType_AlternativeText, BFTextElementType_ScreenTip, BFTextElementType_FieldValue, BFTextElementType_LegalAttestation, BFTextElementType_SurveyTitle, BFTextElementType_SurveyDescription, BFTextElementType_SurveyQuestion, BFTextElementType_SurveyQuestionHelpText */ 01282 } BFTextElement; 01283 01284 /// 01285 /// Possible value for the type field in the BFTextElement strcuture 01286 /// @ingroup handler 01287 /// 01288 #define BFTextElementType_AlternativeText 1 01289 01290 /// 01291 /// Possible value for the type field in the BFTextElement strcuture 01292 /// @ingroup handler 01293 /// 01294 #define BFTextElementType_ScreenTip 2 01295 01296 /// 01297 /// Possible value for the type field in the BFTextElement strcuture 01298 /// @ingroup handler 01299 /// 01300 #define BFTextElementType_FieldValue 3 01301 01302 /// 01303 /// Possible value for the type field in the BFTextElement strcuture 01304 /// @ingroup handler 01305 /// 01306 #define BFTextElementType_LegalAttestation 4 01307 01308 /// 01309 /// Possible value for the type field in the BFTextElement strcuture 01310 /// @ingroup handler 01311 /// 01312 #define BFTextElementType_SurveyTitle 5 01313 01314 /// 01315 /// Possible value for the type field in the BFTextElement strcuture 01316 /// @ingroup handler 01317 /// 01318 #define BFTextElementType_SurveyDescription 6 01319 01320 /// 01321 /// Possible value for the type field in the BFTextElement strcuture 01322 /// @ingroup handler 01323 /// 01324 #define BFTextElementType_SurveyQuestion 7 01325 01326 /// 01327 /// Possible value for the type field in the BFTextElement strcuture 01328 /// @ingroup handler 01329 /// 01330 #define BFTextElementType_SurveyQuestionHelpText 8 01331 01332 /// Function called at the start of a Text element. 01333 /// @param handler Pointer to the handler used to call this function. 01334 /// @param element The element's data 01335 /// @ingroup handler 01336 typedef void (*BFHandlerStartText) (void *handler, BFTextElement *element); 01337 01338 /// Function called at the end of an Text element 01339 /// @param handler Pointer to the handler used to call this function. 01340 /// @ingroup handler 01341 typedef void (*BFHandlerEndText) (void *handler, BFElement *element); 01342 01343 /** 01344 Structure recieved by the BFHandlerStartInteger() function. 01345 Contains integer information about the element in which it is contained. 01346 @ingroup handler 01347 */ 01348 typedef struct _BFIntegerElement 01349 { 01350 int uid; 01351 int type; /* One of the following: BFIntegerElementType_PasswordHash, BFIntegerElementType_Version */ 01352 BFINT64 value; /* The numeric value associated with this Integer element. */ 01353 } BFIntegerElement; 01354 01355 /// 01356 /// Possible value for the type field in the BFIntegerElement strcuture 01357 /// @ingroup handler 01358 /// 01359 #define BFIntegerElementType_PasswordHash 1 01360 01361 /// 01362 /// Possible value for the type field in the BFIntegerElement strcuture 01363 /// @ingroup handler 01364 /// 01365 #define BFIntegerElementType_Version 2 01366 01367 /// Function called at the start of a Integer element. 01368 /// @param handler Pointer to the handler used to call this function. 01369 /// @param element The element's data 01370 /// @ingroup handler 01371 typedef void (*BFHandlerStartInteger) (void *handler, BFIntegerElement *element); 01372 01373 /// Function called at the end of an Integer element 01374 /// @param handler Pointer to the handler used to call this function. 01375 /// @ingroup handler 01376 typedef void (*BFHandlerEndInteger) (void *handler, BFElement *element); 01377 01378 /** 01379 Structure recieved by the BFHandlerStartDate() function. 01380 Contains information about the date of the element in which it is contained. 01381 01382 @ingroup handler 01383 */ 01384 typedef struct _BFDateElement 01385 { 01386 int uid; 01387 int type; /* One of the following: BFDateElementType_Creation */ 01388 BFINT64 date; /* The date value associated with this Date element. */ 01389 } BFDateElement; 01390 01391 /// 01392 /// Possible value for the type field in the BFDateElement strcuture 01393 /// @ingroup handler 01394 /// 01395 #define BFDateElementType_Creation 1 01396 01397 /// Function called at the start of a Date element. 01398 /// @param handler Pointer to the handler used to call this function. 01399 /// @param element The element's data 01400 /// @ingroup handler 01401 typedef void (*BFHandlerStartDate) (void *handler, BFDateElement *element); 01402 01403 /// Function called at the end of an Date element 01404 /// @param handler Pointer to the handler used to call this function. 01405 /// @ingroup handler 01406 typedef void (*BFHandlerEndDate) (void *handler, BFElement *element); 01407 01408 /** 01409 Structure recieved by the BFHandlerStartBoolean() function. 01410 Contains information that is true or false for the element in which it is contained. 01411 01412 @ingroup handler 01413 */ 01414 typedef struct _BFBooleanElement 01415 { 01416 int uid; 01417 int type; /* One of the following: BFBooleanElementType_ProtectForTrackedChanges, BFBooleanElementType_ProtectForComments, BFBooleanElementType_ProtectForForms, BFBooleanElementType_ReadOnly, BFBooleanElementType_PreVBAMacros, BFBooleanElementType_PreVBAMacroUserStorage, BFBooleanElementType_VBAProject, BFBooleanElementType_Hidden, BFBooleanElementType_ProtectWorkbook, BFBooleanElementType_ProtectSharedWorkbook, BFBooleanElementType_ProtectSheet, BFBooleanElementType_ContainsTrackedChanges, BFBooleanElementType_VeryHidden, BFBooleanElementType_ProtectForFormatting, BFBooleanElementType_MacroSheet */ 01418 int value; /* The boolean value associated with this Boolean element. */ 01419 } BFBooleanElement; 01420 01421 /// 01422 /// Possible value for the type field in the BFBooleanElement strcuture 01423 /// @ingroup handler 01424 /// 01425 #define BFBooleanElementType_ProtectForTrackedChanges 1 01426 01427 /// 01428 /// Possible value for the type field in the BFBooleanElement strcuture 01429 /// @ingroup handler 01430 /// 01431 #define BFBooleanElementType_ProtectForComments 2 01432 01433 /// 01434 /// Possible value for the type field in the BFBooleanElement strcuture 01435 /// @ingroup handler 01436 /// 01437 #define BFBooleanElementType_ProtectForForms 3 01438 01439 /// 01440 /// Possible value for the type field in the BFBooleanElement strcuture 01441 /// @ingroup handler 01442 /// 01443 #define BFBooleanElementType_ReadOnly 4 01444 01445 /// 01446 /// Possible value for the type field in the BFBooleanElement strcuture 01447 /// @ingroup handler 01448 /// 01449 #define BFBooleanElementType_PreVBAMacros 5 01450 01451 /// 01452 /// Possible value for the type field in the BFBooleanElement strcuture 01453 /// @ingroup handler 01454 /// 01455 #define BFBooleanElementType_PreVBAMacroUserStorage 6 01456 01457 /// 01458 /// Possible value for the type field in the BFBooleanElement strcuture 01459 /// @ingroup handler 01460 /// 01461 #define BFBooleanElementType_VBAProject 7 01462 01463 /// 01464 /// Possible value for the type field in the BFBooleanElement strcuture 01465 /// @ingroup handler 01466 /// 01467 #define BFBooleanElementType_Hidden 8 01468 01469 /// 01470 /// Possible value for the type field in the BFBooleanElement strcuture 01471 /// @ingroup handler 01472 /// 01473 #define BFBooleanElementType_ProtectWorkbook 9 01474 01475 /// 01476 /// Possible value for the type field in the BFBooleanElement strcuture 01477 /// @ingroup handler 01478 /// 01479 #define BFBooleanElementType_ProtectSharedWorkbook 10 01480 01481 /// 01482 /// Possible value for the type field in the BFBooleanElement strcuture 01483 /// @ingroup handler 01484 /// 01485 #define BFBooleanElementType_ProtectSheet 11 01486 01487 /// 01488 /// Possible value for the type field in the BFBooleanElement strcuture 01489 /// @ingroup handler 01490 /// 01491 #define BFBooleanElementType_ContainsTrackedChanges 12 01492 01493 /// 01494 /// Possible value for the type field in the BFBooleanElement strcuture 01495 /// @ingroup handler 01496 /// 01497 #define BFBooleanElementType_VeryHidden 13 01498 01499 /// 01500 /// Possible value for the type field in the BFBooleanElement strcuture 01501 /// @ingroup handler 01502 /// 01503 #define BFBooleanElementType_ProtectForFormatting 14 01504 01505 /// 01506 /// Possible value for the type field in the BFBooleanElement strcuture 01507 /// @ingroup handler 01508 /// 01509 #define BFBooleanElementType_MacroSheet 15 01510 01511 /// Function called at the start of a Boolean element. 01512 /// @param handler Pointer to the handler used to call this function. 01513 /// @param element The element's data 01514 /// @ingroup handler 01515 typedef void (*BFHandlerStartBoolean) (void *handler, BFBooleanElement *element); 01516 01517 /// Function called at the end of an Boolean element 01518 /// @param handler Pointer to the handler used to call this function. 01519 /// @ingroup handler 01520 typedef void (*BFHandlerEndBoolean) (void *handler, BFElement *element); 01521 01522 /** 01523 Structure recieved by the BFHandlerStartSheet() function. 01524 The container for a single worksheet within a spreadsheet. 01525 @ingroup handler 01526 */ 01527 typedef struct _BFSheetElement 01528 { 01529 int uid; 01530 } BFSheetElement; 01531 01532 /// Function called at the start of a Sheet element. 01533 /// @param handler Pointer to the handler used to call this function. 01534 /// @param element The element's data 01535 /// @ingroup handler 01536 typedef void (*BFHandlerStartSheet) (void *handler, BFSheetElement *element); 01537 01538 /// Function called at the end of an Sheet element 01539 /// @param handler Pointer to the handler used to call this function. 01540 /// @ingroup handler 01541 typedef void (*BFHandlerEndSheet) (void *handler, BFElement *element); 01542 01543 /** 01544 Structure recieved by the BFHandlerStartPage() function. 01545 The container for a page of content. This element is used to mark PDF pages. 01546 01547 @ingroup handler 01548 */ 01549 typedef struct _BFPageElement 01550 { 01551 int uid; 01552 } BFPageElement; 01553 01554 /// Function called at the start of a Page element. 01555 /// @param handler Pointer to the handler used to call this function. 01556 /// @param element The element's data 01557 /// @ingroup handler 01558 typedef void (*BFHandlerStartPage) (void *handler, BFPageElement *element); 01559 01560 /// Function called at the end of an Page element 01561 /// @param handler Pointer to the handler used to call this function. 01562 /// @ingroup handler 01563 typedef void (*BFHandlerEndPage) (void *handler, BFElement *element); 01564 01565 /** 01566 Structure recieved by the BFHandlerStartBody() function. 01567 Containing element for the content in the body of the document. That is all text not in 01568 a sub-container like a footer, footnote or comment. 01569 01570 @ingroup handler 01571 */ 01572 typedef struct _BFBodyElement 01573 { 01574 int uid; 01575 } BFBodyElement; 01576 01577 /// Function called at the start of a Body element. 01578 /// @param handler Pointer to the handler used to call this function. 01579 /// @param element The element's data 01580 /// @ingroup handler 01581 typedef void (*BFHandlerStartBody) (void *handler, BFBodyElement *element); 01582 01583 /// Function called at the end of an Body element 01584 /// @param handler Pointer to the handler used to call this function. 01585 /// @ingroup handler 01586 typedef void (*BFHandlerEndBody) (void *handler, BFElement *element); 01587 01588 /** 01589 Structure recieved by the BFHandlerStartHyperlinkBegin() function. 01590 Hyperlink to another document, website, etc. 01591 @ingroup handler 01592 */ 01593 typedef struct _BFHyperlinkBeginElement 01594 { 01595 int uid; 01596 BFINT32 id; /* Provides a id that will match a following HyperlinkEnd element allowing for nesting of hyperlinks */ 01597 } BFHyperlinkBeginElement; 01598 01599 /// Function called at the start of a HyperlinkBegin element. 01600 /// @param handler Pointer to the handler used to call this function. 01601 /// @param element The element's data 01602 /// @ingroup handler 01603 typedef void (*BFHandlerStartHyperlinkBegin) (void *handler, BFHyperlinkBeginElement *element); 01604 01605 /// Function called at the end of an HyperlinkBegin element 01606 /// @param handler Pointer to the handler used to call this function. 01607 /// @ingroup handler 01608 typedef void (*BFHandlerEndHyperlinkBegin) (void *handler, BFElement *element); 01609 01610 /** 01611 Structure recieved by the BFHandlerStartHyperlinkEnd() function. 01612 Hyperlink to another document, website, etc. 01613 @ingroup handler 01614 */ 01615 typedef struct _BFHyperlinkEndElement 01616 { 01617 int uid; 01618 BFINT32 id; /* Provides a id that will match a preceding HyperlinkBegin element allowing for nesting of hyperlinks */ 01619 } BFHyperlinkEndElement; 01620 01621 /// Function called at the start of a HyperlinkEnd element. 01622 /// @param handler Pointer to the handler used to call this function. 01623 /// @param element The element's data 01624 /// @ingroup handler 01625 typedef void (*BFHandlerStartHyperlinkEnd) (void *handler, BFHyperlinkEndElement *element); 01626 01627 /// Function called at the end of an HyperlinkEnd element 01628 /// @param handler Pointer to the handler used to call this function. 01629 /// @ingroup handler 01630 typedef void (*BFHandlerEndHyperlinkEnd) (void *handler, BFElement *element); 01631 01632 /** 01633 Structure recieved by the BFHandlerStartHidden() function. 01634 Hidden text. 01635 @ingroup handler 01636 */ 01637 typedef struct _BFHiddenElement 01638 { 01639 int uid; 01640 } BFHiddenElement; 01641 01642 /// Function called at the start of a Hidden element. 01643 /// @param handler Pointer to the handler used to call this function. 01644 /// @param element The element's data 01645 /// @ingroup handler 01646 typedef void (*BFHandlerStartHidden) (void *handler, BFHiddenElement *element); 01647 01648 /// Function called at the end of an Hidden element 01649 /// @param handler Pointer to the handler used to call this function. 01650 /// @ingroup handler 01651 typedef void (*BFHandlerEndHidden) (void *handler, BFElement *element); 01652 01653 /** 01654 Structure recieved by the BFHandlerStartAdded() function. 01655 Added text. 01656 @ingroup handler 01657 */ 01658 typedef struct _BFAddedElement 01659 { 01660 int uid; 01661 const wchar_t *Author; /* The name of the author that added this content. */ 01662 BFINT64 Date; /* The date this content was added. */ 01663 } BFAddedElement; 01664 01665 /// Function called at the start of a Added element. 01666 /// @param handler Pointer to the handler used to call this function. 01667 /// @param element The element's data 01668 /// @ingroup handler 01669 typedef void (*BFHandlerStartAdded) (void *handler, BFAddedElement *element); 01670 01671 /// Function called at the end of an Added element 01672 /// @param handler Pointer to the handler used to call this function. 01673 /// @ingroup handler 01674 typedef void (*BFHandlerEndAdded) (void *handler, BFElement *element); 01675 01676 /** 01677 Structure recieved by the BFHandlerStartDeleted() function. 01678 Deleted text. 01679 @ingroup handler 01680 */ 01681 typedef struct _BFDeletedElement 01682 { 01683 int uid; 01684 const wchar_t *Author; /* The name of the author that deleted this content. */ 01685 BFINT64 Date; /* The date this content was deleted. */ 01686 } BFDeletedElement; 01687 01688 /// Function called at the start of a Deleted element. 01689 /// @param handler Pointer to the handler used to call this function. 01690 /// @param element The element's data 01691 /// @ingroup handler 01692 typedef void (*BFHandlerStartDeleted) (void *handler, BFDeletedElement *element); 01693 01694 /// Function called at the end of an Deleted element 01695 /// @param handler Pointer to the handler used to call this function. 01696 /// @ingroup handler 01697 typedef void (*BFHandlerEndDeleted) (void *handler, BFElement *element); 01698 01699 /** 01700 Structure recieved by the BFHandlerStartNote() function. 01701 Contains content found in footnotes, endnotes, speaker notes, comments, and meeting 01702 minutes. 01703 01704 @ingroup handler 01705 */ 01706 typedef struct _BFNoteElement 01707 { 01708 int uid; 01709 int type; /* One of the following: BFNoteElementType_Footnote, BFNoteElementType_Endnote, BFNoteElementType_Speaker, BFNoteElementType_Comment, BFNoteElementType_MeetingMinutes, BFNoteElementType_FootnoteSeparator, BFNoteElementType_FootnoteContinuationSeparator, BFNoteElementType_FootnoteContinuationNotice, BFNoteElementType_EndnoteSeparator, BFNoteElementType_EndnoteContinuationSeparator, BFNoteElementType_EndnoteContinuationNotice, BFNoteElementType_GlossaryPart */ 01710 BFINT64 key; /* A key that may be used to reference this note using the NoteRef element. */ 01711 } BFNoteElement; 01712 01713 /// 01714 /// Possible value for the type field in the BFNoteElement strcuture 01715 /// @ingroup handler 01716 /// 01717 #define BFNoteElementType_Footnote 1 01718 01719 /// 01720 /// Possible value for the type field in the BFNoteElement strcuture 01721 /// @ingroup handler 01722 /// 01723 #define BFNoteElementType_Endnote 2 01724 01725 /// 01726 /// Possible value for the type field in the BFNoteElement strcuture 01727 /// @ingroup handler 01728 /// 01729 #define BFNoteElementType_Speaker 3 01730 01731 /// 01732 /// Possible value for the type field in the BFNoteElement strcuture 01733 /// @ingroup handler 01734 /// 01735 #define BFNoteElementType_Comment 4 01736 01737 /// 01738 /// Possible value for the type field in the BFNoteElement strcuture 01739 /// @ingroup handler 01740 /// 01741 #define BFNoteElementType_MeetingMinutes 5 01742 01743 /// 01744 /// Possible value for the type field in the BFNoteElement strcuture 01745 /// @ingroup handler 01746 /// 01747 #define BFNoteElementType_FootnoteSeparator 6 01748 01749 /// 01750 /// Possible value for the type field in the BFNoteElement strcuture 01751 /// @ingroup handler 01752 /// 01753 #define BFNoteElementType_FootnoteContinuationSeparator 7 01754 01755 /// 01756 /// Possible value for the type field in the BFNoteElement strcuture 01757 /// @ingroup handler 01758 /// 01759 #define BFNoteElementType_FootnoteContinuationNotice 8 01760 01761 /// 01762 /// Possible value for the type field in the BFNoteElement strcuture 01763 /// @ingroup handler 01764 /// 01765 #define BFNoteElementType_EndnoteSeparator 9 01766 01767 /// 01768 /// Possible value for the type field in the BFNoteElement strcuture 01769 /// @ingroup handler 01770 /// 01771 #define BFNoteElementType_EndnoteContinuationSeparator 10 01772 01773 /// 01774 /// Possible value for the type field in the BFNoteElement strcuture 01775 /// @ingroup handler 01776 /// 01777 #define BFNoteElementType_EndnoteContinuationNotice 11 01778 01779 /// 01780 /// Possible value for the type field in the BFNoteElement strcuture 01781 /// @ingroup handler 01782 /// 01783 #define BFNoteElementType_GlossaryPart 12 01784 01785 /// Function called at the start of a Note element. 01786 /// @param handler Pointer to the handler used to call this function. 01787 /// @param element The element's data 01788 /// @ingroup handler 01789 typedef void (*BFHandlerStartNote) (void *handler, BFNoteElement *element); 01790 01791 /// Function called at the end of an Note element 01792 /// @param handler Pointer to the handler used to call this function. 01793 /// @ingroup handler 01794 typedef void (*BFHandlerEndNote) (void *handler, BFElement *element); 01795 01796 /** 01797 Structure recieved by the BFHandlerStartAnnot() function. 01798 Contains content found in annotations that have been added to the document. 01799 01800 @ingroup handler 01801 */ 01802 typedef struct _BFAnnotElement 01803 { 01804 int uid; 01805 int type; /* One of the following: BFAnnotElementType_Text, BFAnnotElementType_Link, BFAnnotElementType_FreeText, BFAnnotElementType_Line, BFAnnotElementType_Square, BFAnnotElementType_Circle, BFAnnotElementType_Polygon, BFAnnotElementType_PolyLine, BFAnnotElementType_Highlight, BFAnnotElementType_Underline, BFAnnotElementType_Squiggly, BFAnnotElementType_Strikeout, BFAnnotElementType_Stamp, BFAnnotElementType_Caret, BFAnnotElementType_Ink, BFAnnotElementType_Popup, BFAnnotElementType_FileAttachment, BFAnnotElementType_Sound, BFAnnotElementType_Movie, BFAnnotElementType_Widget, BFAnnotElementType_Screen, BFAnnotElementType_PrinterMark, BFAnnotElementType_TrapNet, BFAnnotElementType_Watermark, BFAnnotElementType_A3D, BFAnnotElementType_Redact, BFAnnotElementType_RichMedia */ 01806 } BFAnnotElement; 01807 01808 /// 01809 /// Possible value for the type field in the BFAnnotElement strcuture 01810 /// @ingroup handler 01811 /// 01812 #define BFAnnotElementType_Text 1 01813 01814 /// 01815 /// Possible value for the type field in the BFAnnotElement strcuture 01816 /// @ingroup handler 01817 /// 01818 #define BFAnnotElementType_Link 2 01819 01820 /// 01821 /// Possible value for the type field in the BFAnnotElement strcuture 01822 /// @ingroup handler 01823 /// 01824 #define BFAnnotElementType_FreeText 3 01825 01826 /// 01827 /// Possible value for the type field in the BFAnnotElement strcuture 01828 /// @ingroup handler 01829 /// 01830 #define BFAnnotElementType_Line 4 01831 01832 /// 01833 /// Possible value for the type field in the BFAnnotElement strcuture 01834 /// @ingroup handler 01835 /// 01836 #define BFAnnotElementType_Square 5 01837 01838 /// 01839 /// Possible value for the type field in the BFAnnotElement strcuture 01840 /// @ingroup handler 01841 /// 01842 #define BFAnnotElementType_Circle 6 01843 01844 /// 01845 /// Possible value for the type field in the BFAnnotElement strcuture 01846 /// @ingroup handler 01847 /// 01848 #define BFAnnotElementType_Polygon 7 01849 01850 /// 01851 /// Possible value for the type field in the BFAnnotElement strcuture 01852 /// @ingroup handler 01853 /// 01854 #define BFAnnotElementType_PolyLine 8 01855 01856 /// 01857 /// Possible value for the type field in the BFAnnotElement strcuture 01858 /// @ingroup handler 01859 /// 01860 #define BFAnnotElementType_Highlight 9 01861 01862 /// 01863 /// Possible value for the type field in the BFAnnotElement strcuture 01864 /// @ingroup handler 01865 /// 01866 #define BFAnnotElementType_Underline 10 01867 01868 /// 01869 /// Possible value for the type field in the BFAnnotElement strcuture 01870 /// @ingroup handler 01871 /// 01872 #define BFAnnotElementType_Squiggly 11 01873 01874 /// 01875 /// Possible value for the type field in the BFAnnotElement strcuture 01876 /// @ingroup handler 01877 /// 01878 #define BFAnnotElementType_Strikeout 12 01879 01880 /// 01881 /// Possible value for the type field in the BFAnnotElement strcuture 01882 /// @ingroup handler 01883 /// 01884 #define BFAnnotElementType_Stamp 13 01885 01886 /// 01887 /// Possible value for the type field in the BFAnnotElement strcuture 01888 /// @ingroup handler 01889 /// 01890 #define BFAnnotElementType_Caret 14 01891 01892 /// 01893 /// Possible value for the type field in the BFAnnotElement strcuture 01894 /// @ingroup handler 01895 /// 01896 #define BFAnnotElementType_Ink 15 01897 01898 /// 01899 /// Possible value for the type field in the BFAnnotElement strcuture 01900 /// @ingroup handler 01901 /// 01902 #define BFAnnotElementType_Popup 16 01903 01904 /// 01905 /// Possible value for the type field in the BFAnnotElement strcuture 01906 /// @ingroup handler 01907 /// 01908 #define BFAnnotElementType_FileAttachment 17 01909 01910 /// 01911 /// Possible value for the type field in the BFAnnotElement strcuture 01912 /// @ingroup handler 01913 /// 01914 #define BFAnnotElementType_Sound 18 01915 01916 /// 01917 /// Possible value for the type field in the BFAnnotElement strcuture 01918 /// @ingroup handler 01919 /// 01920 #define BFAnnotElementType_Movie 19 01921 01922 /// 01923 /// Possible value for the type field in the BFAnnotElement strcuture 01924 /// @ingroup handler 01925 /// 01926 #define BFAnnotElementType_Widget 20 01927 01928 /// 01929 /// Possible value for the type field in the BFAnnotElement strcuture 01930 /// @ingroup handler 01931 /// 01932 #define BFAnnotElementType_Screen 21 01933 01934 /// 01935 /// Possible value for the type field in the BFAnnotElement strcuture 01936 /// @ingroup handler 01937 /// 01938 #define BFAnnotElementType_PrinterMark 22 01939 01940 /// 01941 /// Possible value for the type field in the BFAnnotElement strcuture 01942 /// @ingroup handler 01943 /// 01944 #define BFAnnotElementType_TrapNet 23 01945 01946 /// 01947 /// Possible value for the type field in the BFAnnotElement strcuture 01948 /// @ingroup handler 01949 /// 01950 #define BFAnnotElementType_Watermark 24 01951 01952 /// 01953 /// Possible value for the type field in the BFAnnotElement strcuture 01954 /// @ingroup handler 01955 /// 01956 #define BFAnnotElementType_A3D 25 01957 01958 /// 01959 /// Possible value for the type field in the BFAnnotElement strcuture 01960 /// @ingroup handler 01961 /// 01962 #define BFAnnotElementType_Redact 26 01963 01964 /// 01965 /// Possible value for the type field in the BFAnnotElement strcuture 01966 /// @ingroup handler 01967 /// 01968 #define BFAnnotElementType_RichMedia 27 01969 01970 /// Function called at the start of a Annot element. 01971 /// @param handler Pointer to the handler used to call this function. 01972 /// @param element The element's data 01973 /// @ingroup handler 01974 typedef void (*BFHandlerStartAnnot) (void *handler, BFAnnotElement *element); 01975 01976 /// Function called at the end of an Annot element 01977 /// @param handler Pointer to the handler used to call this function. 01978 /// @ingroup handler 01979 typedef void (*BFHandlerEndAnnot) (void *handler, BFElement *element); 01980 01981 /** 01982 Structure recieved by the BFHandlerStartNoteRef() function. 01983 01984 @ingroup handler 01985 */ 01986 typedef struct _BFNoteRefElement 01987 { 01988 int uid; 01989 BFINT64 reference; /* A reference to a Note element with a matching key attribute. */ 01990 } BFNoteRefElement; 01991 01992 /// Function called at the start of a NoteRef element. 01993 /// @param handler Pointer to the handler used to call this function. 01994 /// @param element The element's data 01995 /// @ingroup handler 01996 typedef void (*BFHandlerStartNoteRef) (void *handler, BFNoteRefElement *element); 01997 01998 /// Function called at the end of an NoteRef element 01999 /// @param handler Pointer to the handler used to call this function. 02000 /// @ingroup handler 02001 typedef void (*BFHandlerEndNoteRef) (void *handler, BFElement *element); 02002 02003 /** 02004 Structure recieved by the BFHandlerStartObfuscated() function. 02005 Contains content that has been obfuscated from view in the authoring application. The 02006 type attribute identifies the form of obfuscation that has been found. This element is generated 02007 during analysis depending on the values of the applicable scrub targets. 02008 02009 @ingroup handler 02010 */ 02011 typedef struct _BFObfuscatedElement 02012 { 02013 int uid; 02014 int type; /* One of the following: BFObfuscatedElementType_TextColor, BFObfuscatedElementType_TextSize, BFObfuscatedElementType_OverlappedObject, BFObfuscatedElementType_ExtremeObject, BFObfuscatedElementType_ClippedText, BFObfuscatedElementType_OverlappedText */ 02015 } BFObfuscatedElement; 02016 02017 /// 02018 /// Possible value for the type field in the BFObfuscatedElement strcuture 02019 /// @ingroup handler 02020 /// 02021 #define BFObfuscatedElementType_TextColor 1 02022 02023 /// 02024 /// Possible value for the type field in the BFObfuscatedElement strcuture 02025 /// @ingroup handler 02026 /// 02027 #define BFObfuscatedElementType_TextSize 2 02028 02029 /// 02030 /// Possible value for the type field in the BFObfuscatedElement strcuture 02031 /// @ingroup handler 02032 /// 02033 #define BFObfuscatedElementType_OverlappedObject 3 02034 02035 /// 02036 /// Possible value for the type field in the BFObfuscatedElement strcuture 02037 /// @ingroup handler 02038 /// 02039 #define BFObfuscatedElementType_ExtremeObject 4 02040 02041 /// 02042 /// Possible value for the type field in the BFObfuscatedElement strcuture 02043 /// @ingroup handler 02044 /// 02045 #define BFObfuscatedElementType_ClippedText 5 02046 02047 /// 02048 /// Possible value for the type field in the BFObfuscatedElement strcuture 02049 /// @ingroup handler 02050 /// 02051 #define BFObfuscatedElementType_OverlappedText 6 02052 02053 /// Function called at the start of a Obfuscated element. 02054 /// @param handler Pointer to the handler used to call this function. 02055 /// @param element The element's data 02056 /// @ingroup handler 02057 typedef void (*BFHandlerStartObfuscated) (void *handler, BFObfuscatedElement *element); 02058 02059 /// Function called at the end of an Obfuscated element 02060 /// @param handler Pointer to the handler used to call this function. 02061 /// @ingroup handler 02062 typedef void (*BFHandlerEndObfuscated) (void *handler, BFElement *element); 02063 02064 /** 02065 Structure recieved by the BFHandlerStartHeaderFooter() function. 02066 Contains content found in the header or footer of a document. This element exists 02067 because some formats to not differentiate header and footer text structurally. 02068 02069 @ingroup handler 02070 */ 02071 typedef struct _BFHeaderFooterElement 02072 { 02073 int uid; 02074 int type; /* One of the following: BFHeaderFooterElementType_Header, BFHeaderFooterElementType_Footer, BFHeaderFooterElementType_FirstPageHeader, BFHeaderFooterElementType_FirstPageFooter, BFHeaderFooterElementType_EvenPageHeader, BFHeaderFooterElementType_EvenPageFooter, BFHeaderFooterElementType_OddPageHeader, BFHeaderFooterElementType_OddPageFooter, BFHeaderFooterElementType_Unknown */ 02075 BFINT64 key; /* A key that may be used to reference this header or footer. */ 02076 } BFHeaderFooterElement; 02077 02078 /// 02079 /// Possible value for the type field in the BFHeaderFooterElement strcuture 02080 /// @ingroup handler 02081 /// 02082 #define BFHeaderFooterElementType_Header 1 02083 02084 /// 02085 /// Possible value for the type field in the BFHeaderFooterElement strcuture 02086 /// @ingroup handler 02087 /// 02088 #define BFHeaderFooterElementType_Footer 2 02089 02090 /// 02091 /// Possible value for the type field in the BFHeaderFooterElement strcuture 02092 /// @ingroup handler 02093 /// 02094 #define BFHeaderFooterElementType_FirstPageHeader 3 02095 02096 /// 02097 /// Possible value for the type field in the BFHeaderFooterElement strcuture 02098 /// @ingroup handler 02099 /// 02100 #define BFHeaderFooterElementType_FirstPageFooter 4 02101 02102 /// 02103 /// Possible value for the type field in the BFHeaderFooterElement strcuture 02104 /// @ingroup handler 02105 /// 02106 #define BFHeaderFooterElementType_EvenPageHeader 5 02107 02108 /// 02109 /// Possible value for the type field in the BFHeaderFooterElement strcuture 02110 /// @ingroup handler 02111 /// 02112 #define BFHeaderFooterElementType_EvenPageFooter 6 02113 02114 /// 02115 /// Possible value for the type field in the BFHeaderFooterElement strcuture 02116 /// @ingroup handler 02117 /// 02118 #define BFHeaderFooterElementType_OddPageHeader 7 02119 02120 /// 02121 /// Possible value for the type field in the BFHeaderFooterElement strcuture 02122 /// @ingroup handler 02123 /// 02124 #define BFHeaderFooterElementType_OddPageFooter 8 02125 02126 /// 02127 /// Possible value for the type field in the BFHeaderFooterElement strcuture 02128 /// @ingroup handler 02129 /// 02130 #define BFHeaderFooterElementType_Unknown 9 02131 02132 /// Function called at the start of a HeaderFooter element. 02133 /// @param handler Pointer to the handler used to call this function. 02134 /// @param element The element's data 02135 /// @ingroup handler 02136 typedef void (*BFHandlerStartHeaderFooter) (void *handler, BFHeaderFooterElement *element); 02137 02138 /// Function called at the end of an HeaderFooter element 02139 /// @param handler Pointer to the handler used to call this function. 02140 /// @ingroup handler 02141 typedef void (*BFHandlerEndHeaderFooter) (void *handler, BFElement *element); 02142 02143 /** 02144 Structure recieved by the BFHandlerStartHeaderFooterRef() function. 02145 02146 @ingroup handler 02147 */ 02148 typedef struct _BFHeaderFooterRefElement 02149 { 02150 int uid; 02151 BFINT64 reference; /* A reference to a HeaderFooter element with a matching key attribute. */ 02152 } BFHeaderFooterRefElement; 02153 02154 /// Function called at the start of a HeaderFooterRef element. 02155 /// @param handler Pointer to the handler used to call this function. 02156 /// @param element The element's data 02157 /// @ingroup handler 02158 typedef void (*BFHandlerStartHeaderFooterRef) (void *handler, BFHeaderFooterRefElement *element); 02159 02160 /// Function called at the end of an HeaderFooterRef element 02161 /// @param handler Pointer to the handler used to call this function. 02162 /// @ingroup handler 02163 typedef void (*BFHandlerEndHeaderFooterRef) (void *handler, BFElement *element); 02164 02165 /** 02166 Structure recieved by the BFHandlerStartP() function. 02167 Contains content that belongs to a single paragraph. 02168 @ingroup handler 02169 */ 02170 typedef struct _BFPElement 02171 { 02172 int uid; 02173 } BFPElement; 02174 02175 /// Function called at the start of a P element. 02176 /// @param handler Pointer to the handler used to call this function. 02177 /// @param element The element's data 02178 /// @ingroup handler 02179 typedef void (*BFHandlerStartP) (void *handler, BFPElement *element); 02180 02181 /// Function called at the end of an P element 02182 /// @param handler Pointer to the handler used to call this function. 02183 /// @ingroup handler 02184 typedef void (*BFHandlerEndP) (void *handler, BFElement *element); 02185 02186 /** 02187 Structure recieved by the BFHandlerStartTextBox() function. 02188 Contains content that is visually separated from other content and typically formatted 02189 in a positioned rectangular region. 02190 02191 @ingroup handler 02192 */ 02193 typedef struct _BFTextBoxElement 02194 { 02195 int uid; 02196 } BFTextBoxElement; 02197 02198 /// Function called at the start of a TextBox element. 02199 /// @param handler Pointer to the handler used to call this function. 02200 /// @param element The element's data 02201 /// @ingroup handler 02202 typedef void (*BFHandlerStartTextBox) (void *handler, BFTextBoxElement *element); 02203 02204 /// Function called at the end of an TextBox element 02205 /// @param handler Pointer to the handler used to call this function. 02206 /// @ingroup handler 02207 typedef void (*BFHandlerEndTextBox) (void *handler, BFElement *element); 02208 02209 /** 02210 Structure recieved by the BFHandlerStartTemplate() function. 02211 Contains content found in a template, master or other such construct. 02212 @ingroup handler 02213 */ 02214 typedef struct _BFTemplateElement 02215 { 02216 int uid; 02217 int type; /* One of the following: BFTemplateElementType_SlideMaster, BFTemplateElementType_HandoutMaster, BFTemplateElementType_NotesMaster, BFTemplateElementType_Document, BFTemplateElementType_LayoutMaster */ 02218 } BFTemplateElement; 02219 02220 /// 02221 /// Possible value for the type field in the BFTemplateElement strcuture 02222 /// @ingroup handler 02223 /// 02224 #define BFTemplateElementType_SlideMaster 1 02225 02226 /// 02227 /// Possible value for the type field in the BFTemplateElement strcuture 02228 /// @ingroup handler 02229 /// 02230 #define BFTemplateElementType_HandoutMaster 2 02231 02232 /// 02233 /// Possible value for the type field in the BFTemplateElement strcuture 02234 /// @ingroup handler 02235 /// 02236 #define BFTemplateElementType_NotesMaster 3 02237 02238 /// 02239 /// Possible value for the type field in the BFTemplateElement strcuture 02240 /// @ingroup handler 02241 /// 02242 #define BFTemplateElementType_Document 4 02243 02244 /// 02245 /// Possible value for the type field in the BFTemplateElement strcuture 02246 /// @ingroup handler 02247 /// 02248 #define BFTemplateElementType_LayoutMaster 5 02249 02250 /// Function called at the start of a Template element. 02251 /// @param handler Pointer to the handler used to call this function. 02252 /// @param element The element's data 02253 /// @ingroup handler 02254 typedef void (*BFHandlerStartTemplate) (void *handler, BFTemplateElement *element); 02255 02256 /// Function called at the end of an Template element 02257 /// @param handler Pointer to the handler used to call this function. 02258 /// @ingroup handler 02259 typedef void (*BFHandlerEndTemplate) (void *handler, BFElement *element); 02260 02261 /** 02262 Structure recieved by the BFHandlerStartChart() function. 02263 Contains the content of a chart. 02264 @ingroup handler 02265 */ 02266 typedef struct _BFChartElement 02267 { 02268 int uid; 02269 } BFChartElement; 02270 02271 /// Function called at the start of a Chart element. 02272 /// @param handler Pointer to the handler used to call this function. 02273 /// @param element The element's data 02274 /// @ingroup handler 02275 typedef void (*BFHandlerStartChart) (void *handler, BFChartElement *element); 02276 02277 /// Function called at the end of an Chart element 02278 /// @param handler Pointer to the handler used to call this function. 02279 /// @ingroup handler 02280 typedef void (*BFHandlerEndChart) (void *handler, BFElement *element); 02281 02282 /** 02283 Structure recieved by the BFHandlerStartSlide() function. 02284 Contains the content of a presentation slide. 02285 @ingroup handler 02286 */ 02287 typedef struct _BFSlideElement 02288 { 02289 int uid; 02290 BFINT64 key; /* A key that may be used when referencing a slide from another context. For PowerPoint documents this key matches the internal slide identifier used within PowerPoint and may therefore be used when accessing slides using Office Automation. */ 02291 } BFSlideElement; 02292 02293 /// Function called at the start of a Slide element. 02294 /// @param handler Pointer to the handler used to call this function. 02295 /// @param element The element's data 02296 /// @ingroup handler 02297 typedef void (*BFHandlerStartSlide) (void *handler, BFSlideElement *element); 02298 02299 /// Function called at the end of an Slide element 02300 /// @param handler Pointer to the handler used to call this function. 02301 /// @ingroup handler 02302 typedef void (*BFHandlerEndSlide) (void *handler, BFElement *element); 02303 02304 /** 02305 Structure recieved by the BFHandlerStartSlideTitle() function. 02306 Contains text that is defined as the slide title. 02307 @ingroup handler 02308 */ 02309 typedef struct _BFSlideTitleElement 02310 { 02311 int uid; 02312 } BFSlideTitleElement; 02313 02314 /// Function called at the start of a SlideTitle element. 02315 /// @param handler Pointer to the handler used to call this function. 02316 /// @param element The element's data 02317 /// @ingroup handler 02318 typedef void (*BFHandlerStartSlideTitle) (void *handler, BFSlideTitleElement *element); 02319 02320 /// Function called at the end of an SlideTitle element 02321 /// @param handler Pointer to the handler used to call this function. 02322 /// @ingroup handler 02323 typedef void (*BFHandlerEndSlideTitle) (void *handler, BFElement *element); 02324 02325 /** 02326 Structure recieved by the BFHandlerStartSlideBody() function. 02327 Contains text that is defined as the body of the slide. 02328 @ingroup handler 02329 */ 02330 typedef struct _BFSlideBodyElement 02331 { 02332 int uid; 02333 } BFSlideBodyElement; 02334 02335 /// Function called at the start of a SlideBody element. 02336 /// @param handler Pointer to the handler used to call this function. 02337 /// @param element The element's data 02338 /// @ingroup handler 02339 typedef void (*BFHandlerStartSlideBody) (void *handler, BFSlideBodyElement *element); 02340 02341 /// Function called at the end of an SlideBody element 02342 /// @param handler Pointer to the handler used to call this function. 02343 /// @ingroup handler 02344 typedef void (*BFHandlerEndSlideBody) (void *handler, BFElement *element); 02345 02346 /** 02347 Structure recieved by the BFHandlerStartThumbnail() function. 02348 Contains an embeddedcontent element that describes a thumbnail image of the page in which it is found. 02349 @ingroup handler 02350 */ 02351 typedef struct _BFThumbnailElement 02352 { 02353 int uid; 02354 } BFThumbnailElement; 02355 02356 /// Function called at the start of a Thumbnail element. 02357 /// @param handler Pointer to the handler used to call this function. 02358 /// @param element The element's data 02359 /// @ingroup handler 02360 typedef void (*BFHandlerStartThumbnail) (void *handler, BFThumbnailElement *element); 02361 02362 /// Function called at the end of an Thumbnail element 02363 /// @param handler Pointer to the handler used to call this function. 02364 /// @ingroup handler 02365 typedef void (*BFHandlerEndThumbnail) (void *handler, BFElement *element); 02366 02367 /** 02368 Structure recieved by the BFHandlerStartSection() function. 02369 Contains content that belongs to a single section of the document. 02370 @ingroup handler 02371 */ 02372 typedef struct _BFSectionElement 02373 { 02374 int uid; 02375 } BFSectionElement; 02376 02377 /// Function called at the start of a Section element. 02378 /// @param handler Pointer to the handler used to call this function. 02379 /// @param element The element's data 02380 /// @ingroup handler 02381 typedef void (*BFHandlerStartSection) (void *handler, BFSectionElement *element); 02382 02383 /// Function called at the end of an Section element 02384 /// @param handler Pointer to the handler used to call this function. 02385 /// @ingroup handler 02386 typedef void (*BFHandlerEndSection) (void *handler, BFElement *element); 02387 02388 /** 02389 Structure recieved by the BFHandlerStartSurvey() function. 02390 Contains a series of survey questions 02391 @ingroup handler 02392 */ 02393 typedef struct _BFSurveyElement 02394 { 02395 int uid; 02396 } BFSurveyElement; 02397 02398 /// Function called at the start of a Survey element. 02399 /// @param handler Pointer to the handler used to call this function. 02400 /// @param element The element's data 02401 /// @ingroup handler 02402 typedef void (*BFHandlerStartSurvey) (void *handler, BFSurveyElement *element); 02403 02404 /// Function called at the end of an Survey element 02405 /// @param handler Pointer to the handler used to call this function. 02406 /// @ingroup handler 02407 typedef void (*BFHandlerEndSurvey) (void *handler, BFElement *element); 02408 02409 /** 02410 Structure recieved by the BFHandlerStartSurveyQuestion() function. 02411 Contains one or more text elements that may include the question text and the question help text.. 02412 @ingroup handler 02413 */ 02414 typedef struct _BFSurveyQuestionElement 02415 { 02416 int uid; 02417 } BFSurveyQuestionElement; 02418 02419 /// Function called at the start of a SurveyQuestion element. 02420 /// @param handler Pointer to the handler used to call this function. 02421 /// @param element The element's data 02422 /// @ingroup handler 02423 typedef void (*BFHandlerStartSurveyQuestion) (void *handler, BFSurveyQuestionElement *element); 02424 02425 /// Function called at the end of an SurveyQuestion element 02426 /// @param handler Pointer to the handler used to call this function. 02427 /// @ingroup handler 02428 typedef void (*BFHandlerEndSurveyQuestion) (void *handler, BFElement *element); 02429 02430 /** 02431 Structure recieved by the BFHandlerStartTable() function. 02432 Contains a series of rows. 02433 @ingroup handler 02434 */ 02435 typedef struct _BFTableElement 02436 { 02437 int uid; 02438 } BFTableElement; 02439 02440 /// Function called at the start of a Table element. 02441 /// @param handler Pointer to the handler used to call this function. 02442 /// @param element The element's data 02443 /// @ingroup handler 02444 typedef void (*BFHandlerStartTable) (void *handler, BFTableElement *element); 02445 02446 /// Function called at the end of an Table element 02447 /// @param handler Pointer to the handler used to call this function. 02448 /// @ingroup handler 02449 typedef void (*BFHandlerEndTable) (void *handler, BFElement *element); 02450 02451 /** 02452 Structure recieved by the BFHandlerStartRow() function. 02453 Contains a series of cells. 02454 @ingroup handler 02455 */ 02456 typedef struct _BFRowElement 02457 { 02458 int uid; 02459 } BFRowElement; 02460 02461 /// Function called at the start of a Row element. 02462 /// @param handler Pointer to the handler used to call this function. 02463 /// @param element The element's data 02464 /// @ingroup handler 02465 typedef void (*BFHandlerStartRow) (void *handler, BFRowElement *element); 02466 02467 /// Function called at the end of an Row element 02468 /// @param handler Pointer to the handler used to call this function. 02469 /// @ingroup handler 02470 typedef void (*BFHandlerEndRow) (void *handler, BFElement *element); 02471 02472 /** 02473 Structure recieved by the BFHandlerStartCell() function. 02474 Contains the content of a cell. 02475 @ingroup handler 02476 */ 02477 typedef struct _BFCellElement 02478 { 02479 int uid; 02480 } BFCellElement; 02481 02482 /// Function called at the start of a Cell element. 02483 /// @param handler Pointer to the handler used to call this function. 02484 /// @param element The element's data 02485 /// @ingroup handler 02486 typedef void (*BFHandlerStartCell) (void *handler, BFCellElement *element); 02487 02488 /// Function called at the end of an Cell element 02489 /// @param handler Pointer to the handler used to call this function. 02490 /// @ingroup handler 02491 typedef void (*BFHandlerEndCell) (void *handler, BFElement *element); 02492 02493 /** 02494 Structure recieved by the BFHandlerStartDatabaseTable() function. 02495 Contains column definitions and a series of rows. 02496 @ingroup handler 02497 */ 02498 typedef struct _BFDatabaseTableElement 02499 { 02500 int uid; 02501 } BFDatabaseTableElement; 02502 02503 /// Function called at the start of a DatabaseTable element. 02504 /// @param handler Pointer to the handler used to call this function. 02505 /// @param element The element's data 02506 /// @ingroup handler 02507 typedef void (*BFHandlerStartDatabaseTable) (void *handler, BFDatabaseTableElement *element); 02508 02509 /// Function called at the end of an DatabaseTable element 02510 /// @param handler Pointer to the handler used to call this function. 02511 /// @ingroup handler 02512 typedef void (*BFHandlerEndDatabaseTable) (void *handler, BFElement *element); 02513 02514 /** 02515 Structure recieved by the BFHandlerStartDatabaseColumnDefinitions() function. 02516 Container for a set of database column definitions. 02517 @ingroup handler 02518 */ 02519 typedef struct _BFDatabaseColumnDefinitionsElement 02520 { 02521 int uid; 02522 } BFDatabaseColumnDefinitionsElement; 02523 02524 /// Function called at the start of a DatabaseColumnDefinitions element. 02525 /// @param handler Pointer to the handler used to call this function. 02526 /// @param element The element's data 02527 /// @ingroup handler 02528 typedef void (*BFHandlerStartDatabaseColumnDefinitions) (void *handler, BFDatabaseColumnDefinitionsElement *element); 02529 02530 /// Function called at the end of an DatabaseColumnDefinitions element 02531 /// @param handler Pointer to the handler used to call this function. 02532 /// @ingroup handler 02533 typedef void (*BFHandlerEndDatabaseColumnDefinitions) (void *handler, BFElement *element); 02534 02535 /** 02536 Structure recieved by the BFHandlerStartDatabaseTableName() function. 02537 Contains the name of a database table. 02538 @ingroup handler 02539 */ 02540 typedef struct _BFDatabaseTableNameElement 02541 { 02542 int uid; 02543 } BFDatabaseTableNameElement; 02544 02545 /// Function called at the start of a DatabaseTableName element. 02546 /// @param handler Pointer to the handler used to call this function. 02547 /// @param element The element's data 02548 /// @ingroup handler 02549 typedef void (*BFHandlerStartDatabaseTableName) (void *handler, BFDatabaseTableNameElement *element); 02550 02551 /// Function called at the end of an DatabaseTableName element 02552 /// @param handler Pointer to the handler used to call this function. 02553 /// @ingroup handler 02554 typedef void (*BFHandlerEndDatabaseTableName) (void *handler, BFElement *element); 02555 02556 /** 02557 Structure recieved by the BFHandlerStartDatabaseColInfo() function. 02558 Contains database column type and optional name. 02559 @ingroup handler 02560 */ 02561 typedef struct _BFDatabaseColInfoElement 02562 { 02563 int uid; 02564 const wchar_t *name; /* The optional name of this column. */ 02565 const wchar_t *type; /* The type of this column. */ 02566 } BFDatabaseColInfoElement; 02567 02568 /// Function called at the start of a DatabaseColInfo element. 02569 /// @param handler Pointer to the handler used to call this function. 02570 /// @param element The element's data 02571 /// @ingroup handler 02572 typedef void (*BFHandlerStartDatabaseColInfo) (void *handler, BFDatabaseColInfoElement *element); 02573 02574 /// Function called at the end of an DatabaseColInfo element 02575 /// @param handler Pointer to the handler used to call this function. 02576 /// @ingroup handler 02577 typedef void (*BFHandlerEndDatabaseColInfo) (void *handler, BFElement *element); 02578 02579 /** 02580 Structure recieved by the BFHandlerStartDatabaseFieldName() function. 02581 Contains database field name. 02582 @ingroup handler 02583 */ 02584 typedef struct _BFDatabaseFieldNameElement 02585 { 02586 int uid; 02587 } BFDatabaseFieldNameElement; 02588 02589 /// Function called at the start of a DatabaseFieldName element. 02590 /// @param handler Pointer to the handler used to call this function. 02591 /// @param element The element's data 02592 /// @ingroup handler 02593 typedef void (*BFHandlerStartDatabaseFieldName) (void *handler, BFDatabaseFieldNameElement *element); 02594 02595 /// Function called at the end of an DatabaseFieldName element 02596 /// @param handler Pointer to the handler used to call this function. 02597 /// @ingroup handler 02598 typedef void (*BFHandlerEndDatabaseFieldName) (void *handler, BFElement *element); 02599 02600 /** 02601 Structure recieved by the BFHandlerStartDatabaseRow() function. 02602 Contains a series of fields. 02603 @ingroup handler 02604 */ 02605 typedef struct _BFDatabaseRowElement 02606 { 02607 int uid; 02608 } BFDatabaseRowElement; 02609 02610 /// Function called at the start of a DatabaseRow element. 02611 /// @param handler Pointer to the handler used to call this function. 02612 /// @param element The element's data 02613 /// @ingroup handler 02614 typedef void (*BFHandlerStartDatabaseRow) (void *handler, BFDatabaseRowElement *element); 02615 02616 /// Function called at the end of an DatabaseRow element 02617 /// @param handler Pointer to the handler used to call this function. 02618 /// @ingroup handler 02619 typedef void (*BFHandlerEndDatabaseRow) (void *handler, BFElement *element); 02620 02621 /** 02622 Structure recieved by the BFHandlerStartArchiveTable() function. 02623 Contains column definitions and a series of archive stream metadata. 02624 @ingroup handler 02625 */ 02626 typedef struct _BFArchiveTableElement 02627 { 02628 int uid; 02629 } BFArchiveTableElement; 02630 02631 /// Function called at the start of a ArchiveTable element. 02632 /// @param handler Pointer to the handler used to call this function. 02633 /// @param element The element's data 02634 /// @ingroup handler 02635 typedef void (*BFHandlerStartArchiveTable) (void *handler, BFArchiveTableElement *element); 02636 02637 /// Function called at the end of an ArchiveTable element 02638 /// @param handler Pointer to the handler used to call this function. 02639 /// @ingroup handler 02640 typedef void (*BFHandlerEndArchiveTable) (void *handler, BFElement *element); 02641 02642 /** 02643 Structure recieved by the BFHandlerStartArchiveColumnDefinitions() function. 02644 Container for a set of archive column definitions. 02645 @ingroup handler 02646 */ 02647 typedef struct _BFArchiveColumnDefinitionsElement 02648 { 02649 int uid; 02650 } BFArchiveColumnDefinitionsElement; 02651 02652 /// Function called at the start of a ArchiveColumnDefinitions element. 02653 /// @param handler Pointer to the handler used to call this function. 02654 /// @param element The element's data 02655 /// @ingroup handler 02656 typedef void (*BFHandlerStartArchiveColumnDefinitions) (void *handler, BFArchiveColumnDefinitionsElement *element); 02657 02658 /// Function called at the end of an ArchiveColumnDefinitions element 02659 /// @param handler Pointer to the handler used to call this function. 02660 /// @ingroup handler 02661 typedef void (*BFHandlerEndArchiveColumnDefinitions) (void *handler, BFElement *element); 02662 02663 /** 02664 Structure recieved by the BFHandlerStartArchiveTableName() function. 02665 Contains the name of an archive table. 02666 @ingroup handler 02667 */ 02668 typedef struct _BFArchiveTableNameElement 02669 { 02670 int uid; 02671 } BFArchiveTableNameElement; 02672 02673 /// Function called at the start of a ArchiveTableName element. 02674 /// @param handler Pointer to the handler used to call this function. 02675 /// @param element The element's data 02676 /// @ingroup handler 02677 typedef void (*BFHandlerStartArchiveTableName) (void *handler, BFArchiveTableNameElement *element); 02678 02679 /// Function called at the end of an ArchiveTableName element 02680 /// @param handler Pointer to the handler used to call this function. 02681 /// @ingroup handler 02682 typedef void (*BFHandlerEndArchiveTableName) (void *handler, BFElement *element); 02683 02684 /** 02685 Structure recieved by the BFHandlerStartArchiveColInfo() function. 02686 Contains archive column type and optional name. 02687 @ingroup handler 02688 */ 02689 typedef struct _BFArchiveColInfoElement 02690 { 02691 int uid; 02692 const wchar_t *name; /* The optional name of this column. */ 02693 const wchar_t *type; /* The type of this column. */ 02694 } BFArchiveColInfoElement; 02695 02696 /// Function called at the start of a ArchiveColInfo element. 02697 /// @param handler Pointer to the handler used to call this function. 02698 /// @param element The element's data 02699 /// @ingroup handler 02700 typedef void (*BFHandlerStartArchiveColInfo) (void *handler, BFArchiveColInfoElement *element); 02701 02702 /// Function called at the end of an ArchiveColInfo element 02703 /// @param handler Pointer to the handler used to call this function. 02704 /// @ingroup handler 02705 typedef void (*BFHandlerEndArchiveColInfo) (void *handler, BFElement *element); 02706 02707 /** 02708 Structure recieved by the BFHandlerStartArchiveRow() function. 02709 Contains a series of metadata fields. 02710 @ingroup handler 02711 */ 02712 typedef struct _BFArchiveRowElement 02713 { 02714 int uid; 02715 } BFArchiveRowElement; 02716 02717 /// Function called at the start of a ArchiveRow element. 02718 /// @param handler Pointer to the handler used to call this function. 02719 /// @param element The element's data 02720 /// @ingroup handler 02721 typedef void (*BFHandlerStartArchiveRow) (void *handler, BFArchiveRowElement *element); 02722 02723 /// Function called at the end of an ArchiveRow element 02724 /// @param handler Pointer to the handler used to call this function. 02725 /// @ingroup handler 02726 typedef void (*BFHandlerEndArchiveRow) (void *handler, BFElement *element); 02727 02728 /** 02729 Structure recieved by the BFHandlerStartTextField() function. 02730 A database or archive field containing text. 02731 @ingroup handler 02732 */ 02733 typedef struct _BFTextFieldElement 02734 { 02735 int uid; 02736 } BFTextFieldElement; 02737 02738 /// Function called at the start of a TextField element. 02739 /// @param handler Pointer to the handler used to call this function. 02740 /// @param element The element's data 02741 /// @ingroup handler 02742 typedef void (*BFHandlerStartTextField) (void *handler, BFTextFieldElement *element); 02743 02744 /// Function called at the end of an TextField element 02745 /// @param handler Pointer to the handler used to call this function. 02746 /// @ingroup handler 02747 typedef void (*BFHandlerEndTextField) (void *handler, BFElement *element); 02748 02749 /** 02750 Structure recieved by the BFHandlerStartDataField() function. 02751 A database or archive field containing a numeric value. 02752 @ingroup handler 02753 */ 02754 typedef struct _BFDataFieldElement 02755 { 02756 int uid; 02757 double value; /* The numeric value of the field. */ 02758 } BFDataFieldElement; 02759 02760 /// Function called at the start of a DataField element. 02761 /// @param handler Pointer to the handler used to call this function. 02762 /// @param element The element's data 02763 /// @ingroup handler 02764 typedef void (*BFHandlerStartDataField) (void *handler, BFDataFieldElement *element); 02765 02766 /// Function called at the end of an DataField element 02767 /// @param handler Pointer to the handler used to call this function. 02768 /// @ingroup handler 02769 typedef void (*BFHandlerEndDataField) (void *handler, BFElement *element); 02770 02771 /** 02772 Structure recieved by the BFHandlerStartDateField() function. 02773 A database or archive field containing a date value. 02774 @ingroup handler 02775 */ 02776 typedef struct _BFDateFieldElement 02777 { 02778 int uid; 02779 BFINT64 value; /* The date value of the field. */ 02780 } BFDateFieldElement; 02781 02782 /// Function called at the start of a DateField element. 02783 /// @param handler Pointer to the handler used to call this function. 02784 /// @param element The element's data 02785 /// @ingroup handler 02786 typedef void (*BFHandlerStartDateField) (void *handler, BFDateFieldElement *element); 02787 02788 /// Function called at the end of an DateField element 02789 /// @param handler Pointer to the handler used to call this function. 02790 /// @ingroup handler 02791 typedef void (*BFHandlerEndDateField) (void *handler, BFElement *element); 02792 02793 /** 02794 Structure recieved by the BFHandlerStartBooleanField() function. 02795 A database or archive field containing a boolean value equal to either true or false. 02796 02797 @ingroup handler 02798 */ 02799 typedef struct _BFBooleanFieldElement 02800 { 02801 int uid; 02802 int value; /* The boolean value of the field. */ 02803 } BFBooleanFieldElement; 02804 02805 /// Function called at the start of a BooleanField element. 02806 /// @param handler Pointer to the handler used to call this function. 02807 /// @param element The element's data 02808 /// @ingroup handler 02809 typedef void (*BFHandlerStartBooleanField) (void *handler, BFBooleanFieldElement *element); 02810 02811 /// Function called at the end of an BooleanField element 02812 /// @param handler Pointer to the handler used to call this function. 02813 /// @ingroup handler 02814 typedef void (*BFHandlerEndBooleanField) (void *handler, BFElement *element); 02815 02816 /** 02817 Structure recieved by the BFHandlerStartSheetName() function. 02818 Contains the name of a spreadsheet worksheet. 02819 @ingroup handler 02820 */ 02821 typedef struct _BFSheetNameElement 02822 { 02823 int uid; 02824 } BFSheetNameElement; 02825 02826 /// Function called at the start of a SheetName element. 02827 /// @param handler Pointer to the handler used to call this function. 02828 /// @param element The element's data 02829 /// @ingroup handler 02830 typedef void (*BFHandlerStartSheetName) (void *handler, BFSheetNameElement *element); 02831 02832 /// Function called at the end of an SheetName element 02833 /// @param handler Pointer to the handler used to call this function. 02834 /// @ingroup handler 02835 typedef void (*BFHandlerEndSheetName) (void *handler, BFElement *element); 02836 02837 /** 02838 Structure recieved by the BFHandlerStartTextCell() function. 02839 A spreadsheet cell containing text. 02840 @ingroup handler 02841 */ 02842 typedef struct _BFTextCellElement 02843 { 02844 int uid; 02845 BFINT32 row; /* The row number of this text cell. */ 02846 BFINT32 column; /* The column number of this text cell. */ 02847 } BFTextCellElement; 02848 02849 /// Function called at the start of a TextCell element. 02850 /// @param handler Pointer to the handler used to call this function. 02851 /// @param element The element's data 02852 /// @ingroup handler 02853 typedef void (*BFHandlerStartTextCell) (void *handler, BFTextCellElement *element); 02854 02855 /// Function called at the end of an TextCell element 02856 /// @param handler Pointer to the handler used to call this function. 02857 /// @ingroup handler 02858 typedef void (*BFHandlerEndTextCell) (void *handler, BFElement *element); 02859 02860 /** 02861 Structure recieved by the BFHandlerStartNumberCell() function. 02862 A spreadsheet cell containing a numeric value. 02863 @ingroup handler 02864 */ 02865 typedef struct _BFNumberCellElement 02866 { 02867 int uid; 02868 BFINT32 row; /* The row number of this number cell. */ 02869 BFINT32 column; /* The column number of this data cell. */ 02870 double value; /* The numeric value of the cell. */ 02871 } BFNumberCellElement; 02872 02873 /// Function called at the start of a NumberCell element. 02874 /// @param handler Pointer to the handler used to call this function. 02875 /// @param element The element's data 02876 /// @ingroup handler 02877 typedef void (*BFHandlerStartNumberCell) (void *handler, BFNumberCellElement *element); 02878 02879 /// Function called at the end of an NumberCell element 02880 /// @param handler Pointer to the handler used to call this function. 02881 /// @ingroup handler 02882 typedef void (*BFHandlerEndNumberCell) (void *handler, BFElement *element); 02883 02884 /** 02885 Structure recieved by the BFHandlerStartDateCell() function. 02886 A spreadsheet cell containing a date value. 02887 @ingroup handler 02888 */ 02889 typedef struct _BFDateCellElement 02890 { 02891 int uid; 02892 BFINT32 row; /* The row number of this date cell. */ 02893 BFINT32 column; /* The column number of this date cell. */ 02894 BFINT64 value; /* The date value of the cell. */ 02895 } BFDateCellElement; 02896 02897 /// Function called at the start of a DateCell element. 02898 /// @param handler Pointer to the handler used to call this function. 02899 /// @param element The element's data 02900 /// @ingroup handler 02901 typedef void (*BFHandlerStartDateCell) (void *handler, BFDateCellElement *element); 02902 02903 /// Function called at the end of an DateCell element 02904 /// @param handler Pointer to the handler used to call this function. 02905 /// @ingroup handler 02906 typedef void (*BFHandlerEndDateCell) (void *handler, BFElement *element); 02907 02908 /** 02909 Structure recieved by the BFHandlerStartDurationCell() function. 02910 A spreadsheet cell containing a duration value. 02911 @ingroup handler 02912 */ 02913 typedef struct _BFDurationCellElement 02914 { 02915 int uid; 02916 BFINT32 row; /* The row number of this duration cell. */ 02917 BFINT32 column; /* The column number of this duration cell. */ 02918 BFINT64 value; /* The duration value of the cell. */ 02919 } BFDurationCellElement; 02920 02921 /// Function called at the start of a DurationCell element. 02922 /// @param handler Pointer to the handler used to call this function. 02923 /// @param element The element's data 02924 /// @ingroup handler 02925 typedef void (*BFHandlerStartDurationCell) (void *handler, BFDurationCellElement *element); 02926 02927 /// Function called at the end of an DurationCell element 02928 /// @param handler Pointer to the handler used to call this function. 02929 /// @ingroup handler 02930 typedef void (*BFHandlerEndDurationCell) (void *handler, BFElement *element); 02931 02932 /** 02933 Structure recieved by the BFHandlerStartBooleanCell() function. 02934 A spreadsheet cell containing a boolean value equal to either true or false. 02935 02936 @ingroup handler 02937 */ 02938 typedef struct _BFBooleanCellElement 02939 { 02940 int uid; 02941 BFINT32 row; /* The row number of this text cell. */ 02942 BFINT32 column; /* The column number of this text cell. */ 02943 int value; /* The boolean value of the cell. */ 02944 } BFBooleanCellElement; 02945 02946 /// Function called at the start of a BooleanCell element. 02947 /// @param handler Pointer to the handler used to call this function. 02948 /// @param element The element's data 02949 /// @ingroup handler 02950 typedef void (*BFHandlerStartBooleanCell) (void *handler, BFBooleanCellElement *element); 02951 02952 /// Function called at the end of an BooleanCell element 02953 /// @param handler Pointer to the handler used to call this function. 02954 /// @ingroup handler 02955 typedef void (*BFHandlerEndBooleanCell) (void *handler, BFElement *element); 02956 02957 /** 02958 Structure recieved by the BFHandlerStartAddedCell() function. 02959 Contains a cell that was added to the identified sheet while tracking changes. 02960 @ingroup handler 02961 */ 02962 typedef struct _BFAddedCellElement 02963 { 02964 int uid; 02965 BFINT32 sheet; /* The 0 based sheet id number where this revision occurred. */ 02966 } BFAddedCellElement; 02967 02968 /// Function called at the start of a AddedCell element. 02969 /// @param handler Pointer to the handler used to call this function. 02970 /// @param element The element's data 02971 /// @ingroup handler 02972 typedef void (*BFHandlerStartAddedCell) (void *handler, BFAddedCellElement *element); 02973 02974 /// Function called at the end of an AddedCell element 02975 /// @param handler Pointer to the handler used to call this function. 02976 /// @ingroup handler 02977 typedef void (*BFHandlerEndAddedCell) (void *handler, BFElement *element); 02978 02979 /** 02980 Structure recieved by the BFHandlerStartDeletedCell() function. 02981 Contains a cell that was deleted from the identified sheet while tracking changes. 02982 @ingroup handler 02983 */ 02984 typedef struct _BFDeletedCellElement 02985 { 02986 int uid; 02987 BFINT32 sheet; /* The 0 based sheet id number where this revision occurred. */ 02988 } BFDeletedCellElement; 02989 02990 /// Function called at the start of a DeletedCell element. 02991 /// @param handler Pointer to the handler used to call this function. 02992 /// @param element The element's data 02993 /// @ingroup handler 02994 typedef void (*BFHandlerStartDeletedCell) (void *handler, BFDeletedCellElement *element); 02995 02996 /// Function called at the end of an DeletedCell element 02997 /// @param handler Pointer to the handler used to call this function. 02998 /// @ingroup handler 02999 typedef void (*BFHandlerEndDeletedCell) (void *handler, BFElement *element); 03000 03001 /** 03002 Structure recieved by the BFHandlerStartRowInfo() function. 03003 Contains information about a row within a spreadsheet. A hidden row is indicated by the 03004 presence of a this element with a child boolean element that indicates the row is hidden. The 03005 row number is provided as a 0 based value. 03006 03007 @ingroup handler 03008 */ 03009 typedef struct _BFRowInfoElement 03010 { 03011 int uid; 03012 BFINT64 row; /* The row associated with this RowInfo. */ 03013 } BFRowInfoElement; 03014 03015 /// Function called at the start of a RowInfo element. 03016 /// @param handler Pointer to the handler used to call this function. 03017 /// @param element The element's data 03018 /// @ingroup handler 03019 typedef void (*BFHandlerStartRowInfo) (void *handler, BFRowInfoElement *element); 03020 03021 /// Function called at the end of an RowInfo element 03022 /// @param handler Pointer to the handler used to call this function. 03023 /// @ingroup handler 03024 typedef void (*BFHandlerEndRowInfo) (void *handler, BFElement *element); 03025 03026 /** 03027 Structure recieved by the BFHandlerStartColInfo() function. 03028 Contains information about a range of columns within a spreadsheet. A hidden range of 03029 columns is indicated by the presence of this element with a child booleanInfo element to 03030 indicate the range of columns is hidden. The first and last column numbers are 0 based values. 03031 03032 @ingroup handler 03033 */ 03034 typedef struct _BFColInfoElement 03035 { 03036 int uid; 03037 BFINT64 firstCol; /* The first column in the range of columns associated with this ColInfo. */ 03038 BFINT64 lastCol; /* The last column in the range of columns associated with this ColInfo. */ 03039 } BFColInfoElement; 03040 03041 /// Function called at the start of a ColInfo element. 03042 /// @param handler Pointer to the handler used to call this function. 03043 /// @param element The element's data 03044 /// @ingroup handler 03045 typedef void (*BFHandlerStartColInfo) (void *handler, BFColInfoElement *element); 03046 03047 /// Function called at the end of an ColInfo element 03048 /// @param handler Pointer to the handler used to call this function. 03049 /// @ingroup handler 03050 typedef void (*BFHandlerEndColInfo) (void *handler, BFElement *element); 03051 03052 /** 03053 Structure recieved by the BFHandlerStartScenario() function. 03054 Contains the name, author, and comment associated with a data scenario defined in 03055 Excel. 03056 03057 @ingroup handler 03058 */ 03059 typedef struct _BFScenarioElement 03060 { 03061 int uid; 03062 } BFScenarioElement; 03063 03064 /// Function called at the start of a Scenario element. 03065 /// @param handler Pointer to the handler used to call this function. 03066 /// @param element The element's data 03067 /// @ingroup handler 03068 typedef void (*BFHandlerStartScenario) (void *handler, BFScenarioElement *element); 03069 03070 /// Function called at the end of an Scenario element 03071 /// @param handler Pointer to the handler used to call this function. 03072 /// @ingroup handler 03073 typedef void (*BFHandlerEndScenario) (void *handler, BFElement *element); 03074 03075 /** 03076 Structure recieved by the BFHandlerStartPT() function. 03077 This element surounds Adobe Acrobat text operations and provides the character based 03078 highlight position associated with each text character found in the element. This element is 03079 generated on for every text operation only when the associated option named Generate Acrobat 03080 Highight Positions is set to true. This position information can be used to generate an Adobe 03081 highlight file to highlight terms when displaying a PDF file in Acrobat as defined in the Adobe 03082 technical note titled HighlightFileFormat.pdf. Only text inside this element can be highlighted 03083 by Acrobat. Note that the Acrobat highlighting feature has numerous anomolies that may cause the 03084 resulting highlight to either not be shown or to bleed into other text. 03085 03086 @ingroup handler 03087 */ 03088 typedef struct _BFPTElement 03089 { 03090 int uid; 03091 BFINT32 *hp; /* The highlight positions of the set of characters tagged by this element. */ 03092 int hp_length; /* Length of the array of integers pointed to by hp */ 03093 } BFPTElement; 03094 03095 /// Function called at the start of a PT element. 03096 /// @param handler Pointer to the handler used to call this function. 03097 /// @param element The element's data 03098 /// @ingroup handler 03099 typedef void (*BFHandlerStartPT) (void *handler, BFPTElement *element); 03100 03101 /// Function called at the end of an PT element 03102 /// @param handler Pointer to the handler used to call this function. 03103 /// @ingroup handler 03104 typedef void (*BFHandlerEndPT) (void *handler, BFElement *element); 03105 03106 /** 03107 Structure recieved by the BFHandlerStartL() function. 03108 Contains the contents of a line of pdf text. Since the PDF format does not formally 03109 define line boundaries, line detection is based on an inferrence algorithm that detects 03110 horizontal and verical shifts indicative of line breaks. 03111 03112 @ingroup handler 03113 */ 03114 typedef struct _BFLElement 03115 { 03116 int uid; 03117 } BFLElement; 03118 03119 /// Function called at the start of a L element. 03120 /// @param handler Pointer to the handler used to call this function. 03121 /// @param element The element's data 03122 /// @ingroup handler 03123 typedef void (*BFHandlerStartL) (void *handler, BFLElement *element); 03124 03125 /// Function called at the end of an L element 03126 /// @param handler Pointer to the handler used to call this function. 03127 /// @ingroup handler 03128 typedef void (*BFHandlerEndL) (void *handler, BFElement *element); 03129 03130 /** 03131 Structure recieved by the BFHandlerStartFingerprint() function. 03132 Includes a type and value attribute. This element is generated by Clean Content during analysis of the content when the applicable fingerprinting options are enabled. The type of fingerprint is provided by the type attribute and may be either SlideContent, SlideAppearance, or GraphicData. The value attribute provides the fingerprint as a 128 bit MD5 hash. The fingerprint for SlideContent is generated based on the text and images found on the slide. This allows the fingerprint to be consistent regardless of modifications due to positions, colors, shapes, masters, and other slide attributes. The SlideAppearance fingerprint is an extension of the SlideContent fingerprint that includes consideration for the applicable slide master, slide background, and the position and select formatting of slide content, including shapes. Numerous presentation features are excluded from the fingerprint calculation in order to improve the consistencty of the fingerprint across different versions of PowerPoint. 03133 @ingroup handler 03134 */ 03135 typedef struct _BFFingerprintElement 03136 { 03137 int uid; 03138 int type; /* One of the following: BFFingerprintElementType_SlideContent, BFFingerprintElementType_SlideAppearance, BFFingerprintElementType_GraphicData */ 03139 char *value; /* The MD5 hash assoicated with this type of fingerprint. */ 03140 int value_length; /* Length of the array of bytes pointed to by value */ 03141 } BFFingerprintElement; 03142 03143 /// 03144 /// Possible value for the type field in the BFFingerprintElement strcuture 03145 /// @ingroup handler 03146 /// 03147 #define BFFingerprintElementType_SlideContent 1 03148 03149 /// 03150 /// Possible value for the type field in the BFFingerprintElement strcuture 03151 /// @ingroup handler 03152 /// 03153 #define BFFingerprintElementType_SlideAppearance 2 03154 03155 /// 03156 /// Possible value for the type field in the BFFingerprintElement strcuture 03157 /// @ingroup handler 03158 /// 03159 #define BFFingerprintElementType_GraphicData 3 03160 03161 /// Function called at the start of a Fingerprint element. 03162 /// @param handler Pointer to the handler used to call this function. 03163 /// @param element The element's data 03164 /// @ingroup handler 03165 typedef void (*BFHandlerStartFingerprint) (void *handler, BFFingerprintElement *element); 03166 03167 /// Function called at the end of an Fingerprint element 03168 /// @param handler Pointer to the handler used to call this function. 03169 /// @ingroup handler 03170 typedef void (*BFHandlerEndFingerprint) (void *handler, BFElement *element); 03171 03172 /** 03173 Structure recieved by the BFHandlerStartDatabaseQueries() function. 03174 Contains database query information. 03175 @ingroup handler 03176 */ 03177 typedef struct _BFDatabaseQueriesElement 03178 { 03179 int uid; 03180 } BFDatabaseQueriesElement; 03181 03182 /// Function called at the start of a DatabaseQueries element. 03183 /// @param handler Pointer to the handler used to call this function. 03184 /// @param element The element's data 03185 /// @ingroup handler 03186 typedef void (*BFHandlerStartDatabaseQueries) (void *handler, BFDatabaseQueriesElement *element); 03187 03188 /// Function called at the end of an DatabaseQueries element 03189 /// @param handler Pointer to the handler used to call this function. 03190 /// @ingroup handler 03191 typedef void (*BFHandlerEndDatabaseQueries) (void *handler, BFElement *element); 03192 03193 /** 03194 Structure recieved by the BFHandlerStartAuthorHistory() function. 03195 Contains author history information. 03196 @ingroup handler 03197 */ 03198 typedef struct _BFAuthorHistoryElement 03199 { 03200 int uid; 03201 } BFAuthorHistoryElement; 03202 03203 /// Function called at the start of a AuthorHistory element. 03204 /// @param handler Pointer to the handler used to call this function. 03205 /// @param element The element's data 03206 /// @ingroup handler 03207 typedef void (*BFHandlerStartAuthorHistory) (void *handler, BFAuthorHistoryElement *element); 03208 03209 /// Function called at the end of an AuthorHistory element 03210 /// @param handler Pointer to the handler used to call this function. 03211 /// @ingroup handler 03212 typedef void (*BFHandlerEndAuthorHistory) (void *handler, BFElement *element); 03213 03214 /** 03215 Structure recieved by the BFHandlerStartMacrosAndCode() function. 03216 Contains information about macros and code in the document. 03217 @ingroup handler 03218 */ 03219 typedef struct _BFMacrosAndCodeElement 03220 { 03221 int uid; 03222 } BFMacrosAndCodeElement; 03223 03224 /// Function called at the start of a MacrosAndCode element. 03225 /// @param handler Pointer to the handler used to call this function. 03226 /// @param element The element's data 03227 /// @ingroup handler 03228 typedef void (*BFHandlerStartMacrosAndCode) (void *handler, BFMacrosAndCodeElement *element); 03229 03230 /// Function called at the end of an MacrosAndCode element 03231 /// @param handler Pointer to the handler used to call this function. 03232 /// @ingroup handler 03233 typedef void (*BFHandlerEndMacrosAndCode) (void *handler, BFElement *element); 03234 03235 /** 03236 Structure recieved by the BFHandlerStartPrinterInformation() function. 03237 Contains information about printers used by the document. 03238 @ingroup handler 03239 */ 03240 typedef struct _BFPrinterInformationElement 03241 { 03242 int uid; 03243 } BFPrinterInformationElement; 03244 03245 /// Function called at the start of a PrinterInformation element. 03246 /// @param handler Pointer to the handler used to call this function. 03247 /// @param element The element's data 03248 /// @ingroup handler 03249 typedef void (*BFHandlerStartPrinterInformation) (void *handler, BFPrinterInformationElement *element); 03250 03251 /// Function called at the end of an PrinterInformation element 03252 /// @param handler Pointer to the handler used to call this function. 03253 /// @ingroup handler 03254 typedef void (*BFHandlerEndPrinterInformation) (void *handler, BFElement *element); 03255 03256 /** 03257 Structure recieved by the BFHandlerStartRoutingSlip() function. 03258 Contains information about routing slips. 03259 @ingroup handler 03260 */ 03261 typedef struct _BFRoutingSlipElement 03262 { 03263 int uid; 03264 } BFRoutingSlipElement; 03265 03266 /// Function called at the start of a RoutingSlip element. 03267 /// @param handler Pointer to the handler used to call this function. 03268 /// @param element The element's data 03269 /// @ingroup handler 03270 typedef void (*BFHandlerStartRoutingSlip) (void *handler, BFRoutingSlipElement *element); 03271 03272 /// Function called at the end of an RoutingSlip element 03273 /// @param handler Pointer to the handler used to call this function. 03274 /// @ingroup handler 03275 typedef void (*BFHandlerEndRoutingSlip) (void *handler, BFElement *element); 03276 03277 /** 03278 Structure recieved by the BFHandlerStartWeakProtections() function. 03279 Contains information about weak protections. 03280 @ingroup handler 03281 */ 03282 typedef struct _BFWeakProtectionsElement 03283 { 03284 int uid; 03285 } BFWeakProtectionsElement; 03286 03287 /// Function called at the start of a WeakProtections element. 03288 /// @param handler Pointer to the handler used to call this function. 03289 /// @param element The element's data 03290 /// @ingroup handler 03291 typedef void (*BFHandlerStartWeakProtections) (void *handler, BFWeakProtectionsElement *element); 03292 03293 /// Function called at the end of an WeakProtections element 03294 /// @param handler Pointer to the handler used to call this function. 03295 /// @ingroup handler 03296 typedef void (*BFHandlerEndWeakProtections) (void *handler, BFElement *element); 03297 03298 /** 03299 Structure recieved by the BFHandlerStartVersions() function. 03300 Contains information about earlier versions of the document. 03301 @ingroup handler 03302 */ 03303 typedef struct _BFVersionsElement 03304 { 03305 int uid; 03306 } BFVersionsElement; 03307 03308 /// Function called at the start of a Versions element. 03309 /// @param handler Pointer to the handler used to call this function. 03310 /// @param element The element's data 03311 /// @ingroup handler 03312 typedef void (*BFHandlerStartVersions) (void *handler, BFVersionsElement *element); 03313 03314 /// Function called at the end of an Versions element 03315 /// @param handler Pointer to the handler used to call this function. 03316 /// @ingroup handler 03317 typedef void (*BFHandlerEndVersions) (void *handler, BFElement *element); 03318 03319 /** 03320 Structure recieved by the BFHandlerStartFastSaveData() function. 03321 Contains information about obsolete content left in the document. 03322 @ingroup handler 03323 */ 03324 typedef struct _BFFastSaveDataElement 03325 { 03326 int uid; 03327 } BFFastSaveDataElement; 03328 03329 /// Function called at the start of a FastSaveData element. 03330 /// @param handler Pointer to the handler used to call this function. 03331 /// @param element The element's data 03332 /// @ingroup handler 03333 typedef void (*BFHandlerStartFastSaveData) (void *handler, BFFastSaveDataElement *element); 03334 03335 /// Function called at the end of an FastSaveData element 03336 /// @param handler Pointer to the handler used to call this function. 03337 /// @ingroup handler 03338 typedef void (*BFHandlerEndFastSaveData) (void *handler, BFElement *element); 03339 03340 /** 03341 Structure recieved by the BFHandlerStartExtremeCells() function. 03342 This element identifies a range of spreadsheet cells that are located an extreme 03343 distance away from other cells. The extreme cell ranges will be reported for extreme cell areas 03344 that contain cell content or an inserted object. This element is only generated if the 03345 ExtremeCells scrub target is enabled and will occur near the end of each sheet after analyzing 03346 all cell ranges in the sheet. The definition of an extreme cell range can be controlled by the 03347 options that define the extreme cell horizontal and vertical gap allowance. 03348 03349 @ingroup handler 03350 */ 03351 typedef struct _BFExtremeCellsElement 03352 { 03353 int uid; 03354 BFINT64 firstRow; /* The first row in the range of cells associated with this extreme cell range. */ 03355 BFINT64 firstCol; /* The first column in the range of cells associated with this extreme cell range. */ 03356 BFINT64 lastRow; /* The last row in the range of cells associated with this extreme cell range. */ 03357 BFINT64 lastCol; /* The last column in the range of cells associated with this extreme cell range. */ 03358 } BFExtremeCellsElement; 03359 03360 /// Function called at the start of a ExtremeCells element. 03361 /// @param handler Pointer to the handler used to call this function. 03362 /// @param element The element's data 03363 /// @ingroup handler 03364 typedef void (*BFHandlerStartExtremeCells) (void *handler, BFExtremeCellsElement *element); 03365 03366 /// Function called at the end of an ExtremeCells element 03367 /// @param handler Pointer to the handler used to call this function. 03368 /// @ingroup handler 03369 typedef void (*BFHandlerEndExtremeCells) (void *handler, BFElement *element); 03370 03371 /** 03372 Structure recieved by the BFHandlerStartLocationInfo() function. 03373 This element identifies geographic location information that is stored in the file, usually stored as GPS coordinates. 03374 03375 @ingroup handler 03376 */ 03377 typedef struct _BFLocationInfoElement 03378 { 03379 int uid; 03380 } BFLocationInfoElement; 03381 03382 /// Function called at the start of a LocationInfo element. 03383 /// @param handler Pointer to the handler used to call this function. 03384 /// @param element The element's data 03385 /// @ingroup handler 03386 typedef void (*BFHandlerStartLocationInfo) (void *handler, BFLocationInfoElement *element); 03387 03388 /// Function called at the end of an LocationInfo element 03389 /// @param handler Pointer to the handler used to call this function. 03390 /// @ingroup handler 03391 typedef void (*BFHandlerEndLocationInfo) (void *handler, BFElement *element); 03392 03393 /** 03394 Structure recieved by the BFHandlerStartSecureResult() function. 03395 The result of identifying or scrubbing a single scrub/analyze target. 03396 @ingroup handler 03397 */ 03398 typedef struct _BFSecureResultElement 03399 { 03400 int uid; 03401 int target; /* */ 03402 int reaction; /* One of the following: BFSecureResultElementReaction_None, BFSecureResultElementReaction_Exists, BFSecureResultElementReaction_DoesNotExist, BFSecureResultElementReaction_Scrubbed, BFSecureResultElementReaction_PartiallyScrubbed */ 03403 } BFSecureResultElement; 03404 03405 /// 03406 /// Possible value for the reaction field in the BFSecureResultElement strcuture 03407 /// @ingroup handler 03408 /// 03409 #define BFSecureResultElementReaction_None 1 03410 03411 /// 03412 /// Possible value for the reaction field in the BFSecureResultElement strcuture 03413 /// @ingroup handler 03414 /// 03415 #define BFSecureResultElementReaction_Exists 2 03416 03417 /// 03418 /// Possible value for the reaction field in the BFSecureResultElement strcuture 03419 /// @ingroup handler 03420 /// 03421 #define BFSecureResultElementReaction_DoesNotExist 3 03422 03423 /// 03424 /// Possible value for the reaction field in the BFSecureResultElement strcuture 03425 /// @ingroup handler 03426 /// 03427 #define BFSecureResultElementReaction_Scrubbed 4 03428 03429 /// 03430 /// Possible value for the reaction field in the BFSecureResultElement strcuture 03431 /// @ingroup handler 03432 /// 03433 #define BFSecureResultElementReaction_PartiallyScrubbed 5 03434 03435 /// Function called at the start of a SecureResult element. 03436 /// @param handler Pointer to the handler used to call this function. 03437 /// @param element The element's data 03438 /// @ingroup handler 03439 typedef void (*BFHandlerStartSecureResult) (void *handler, BFSecureResultElement *element); 03440 03441 /// Function called at the end of an SecureResult element 03442 /// @param handler Pointer to the handler used to call this function. 03443 /// @ingroup handler 03444 typedef void (*BFHandlerEndSecureResult) (void *handler, BFElement *element); 03445 03446 /** 03447 Structure recieved by the BFHandlerStartException() function. 03448 Describes a software fault cause by a malformed, truncated or corrupted file. 03449 03450 @ingroup handler 03451 */ 03452 typedef struct _BFExceptionElement 03453 { 03454 int uid; 03455 const wchar_t *name; /* */ 03456 const wchar_t *message; /* */ 03457 } BFExceptionElement; 03458 03459 /// Function called at the start of a Exception element. 03460 /// @param handler Pointer to the handler used to call this function. 03461 /// @param element The element's data 03462 /// @ingroup handler 03463 typedef void (*BFHandlerStartException) (void *handler, BFExceptionElement *element); 03464 03465 /// Function called at the end of an Exception element 03466 /// @param handler Pointer to the handler used to call this function. 03467 /// @ingroup handler 03468 typedef void (*BFHandlerEndException) (void *handler, BFElement *element); 03469 03470 /** 03471 Structure recieved by the BFHandlerStartOutlineItem() function. 03472 An element that provides the title text associated with an outline time in the document outline. An OutlineItem may also contain children OutlineItem's creating the outline hiearchy. 03473 @ingroup handler 03474 */ 03475 typedef struct _BFOutlineItemElement 03476 { 03477 int uid; 03478 const wchar_t *title; /* The title text associated with this outline item entry. */ 03479 } BFOutlineItemElement; 03480 03481 /// Function called at the start of a OutlineItem element. 03482 /// @param handler Pointer to the handler used to call this function. 03483 /// @param element The element's data 03484 /// @ingroup handler 03485 typedef void (*BFHandlerStartOutlineItem) (void *handler, BFOutlineItemElement *element); 03486 03487 /// Function called at the end of an OutlineItem element 03488 /// @param handler Pointer to the handler used to call this function. 03489 /// @ingroup handler 03490 typedef void (*BFHandlerEndOutlineItem) (void *handler, BFElement *element); 03491 03492 /** 03493 Structure recieved by the BFHandlerStartArticleThread() function. 03494 An element that provides the title text associated with an article thread found in a PDF document. 03495 @ingroup handler 03496 */ 03497 typedef struct _BFArticleThreadElement 03498 { 03499 int uid; 03500 const wchar_t *title; /* The title text associated with this article thread. */ 03501 } BFArticleThreadElement; 03502 03503 /// Function called at the start of a ArticleThread element. 03504 /// @param handler Pointer to the handler used to call this function. 03505 /// @param element The element's data 03506 /// @ingroup handler 03507 typedef void (*BFHandlerStartArticleThread) (void *handler, BFArticleThreadElement *element); 03508 03509 /// Function called at the end of an ArticleThread element 03510 /// @param handler Pointer to the handler used to call this function. 03511 /// @ingroup handler 03512 typedef void (*BFHandlerEndArticleThread) (void *handler, BFElement *element); 03513 03514 /** 03515 Structure recieved by the BFHandlerStartFormField() function. 03516 An container element that tags the content of a form field. Form fields may contain various string and text elements as well as children formfield's that defines the hierarchy of the form. 03517 @ingroup handler 03518 */ 03519 typedef struct _BFFormFieldElement 03520 { 03521 int uid; 03522 } BFFormFieldElement; 03523 03524 /// Function called at the start of a FormField element. 03525 /// @param handler Pointer to the handler used to call this function. 03526 /// @param element The element's data 03527 /// @ingroup handler 03528 typedef void (*BFHandlerStartFormField) (void *handler, BFFormFieldElement *element); 03529 03530 /// Function called at the end of an FormField element 03531 /// @param handler Pointer to the handler used to call this function. 03532 /// @ingroup handler 03533 typedef void (*BFHandlerEndFormField) (void *handler, BFElement *element); 03534 03535 /** 03536 Structure recieved by the BFHandlerStartOfficeXMLPart() function. 03537 Detailed information about an Office part that may represent some levle of data disclosure risk. 03538 @ingroup handler 03539 */ 03540 typedef struct _BFOfficeXMLPartElement 03541 { 03542 int uid; 03543 const wchar_t *partName; /* The name of this part. */ 03544 int riskCategory; /* One of the following: BFOfficeXMLPartElementRiskCategory_RoguePart, BFOfficeXMLPartElementRiskCategory_UnexpectedPart, BFOfficeXMLPartElementRiskCategory_UnanalyzedPart, BFOfficeXMLPartElementRiskCategory_AlternateContentPart */ 03545 const wchar_t *contentType; /* The conent type associated with this part if defined. */ 03546 BFINT64 partSize; /* The uncompressed size of this part. */ 03547 int isScrubbable; /* If set to true this content is scrubbable either automatically or by setting the applicable scrub target to SCRUB. */ 03548 const wchar_t *mrRelsName; /* The name of the most recently processed .rels file that includes a reference to this part. Note that a part may be referenced from multiple .rels but only on example is captured for informational purposes. */ 03549 const wchar_t *mrRelType; /* The relationship type used when referencing this part from the .rels file defined by @mrRelsName. */ 03550 const wchar_t *mrRelId; /* The relationship id used when referencing this part from the .rels file defined by @mrRelsName. */ 03551 } BFOfficeXMLPartElement; 03552 03553 /// 03554 /// Possible value for the riskCategory field in the BFOfficeXMLPartElement strcuture 03555 /// @ingroup handler 03556 /// 03557 #define BFOfficeXMLPartElementRiskCategory_RoguePart 1 03558 03559 /// 03560 /// Possible value for the riskCategory field in the BFOfficeXMLPartElement strcuture 03561 /// @ingroup handler 03562 /// 03563 #define BFOfficeXMLPartElementRiskCategory_UnexpectedPart 2 03564 03565 /// 03566 /// Possible value for the riskCategory field in the BFOfficeXMLPartElement strcuture 03567 /// @ingroup handler 03568 /// 03569 #define BFOfficeXMLPartElementRiskCategory_UnanalyzedPart 3 03570 03571 /// 03572 /// Possible value for the riskCategory field in the BFOfficeXMLPartElement strcuture 03573 /// @ingroup handler 03574 /// 03575 #define BFOfficeXMLPartElementRiskCategory_AlternateContentPart 4 03576 03577 /// Function called at the start of a OfficeXMLPart element. 03578 /// @param handler Pointer to the handler used to call this function. 03579 /// @param element The element's data 03580 /// @ingroup handler 03581 typedef void (*BFHandlerStartOfficeXMLPart) (void *handler, BFOfficeXMLPartElement *element); 03582 03583 /// Function called at the end of an OfficeXMLPart element 03584 /// @param handler Pointer to the handler used to call this function. 03585 /// @ingroup handler 03586 typedef void (*BFHandlerEndOfficeXMLPart) (void *handler, BFElement *element); 03587 03588 /** 03589 Structure recieved by the BFHandlerStartWebCaptureContentSet() function. 03590 Detailed information about the source of content captured from the web during the creation of this document. 03591 @ingroup handler 03592 */ 03593 typedef struct _BFWebCaptureContentSetElement 03594 { 03595 int uid; 03596 } BFWebCaptureContentSetElement; 03597 03598 /// Function called at the start of a WebCaptureContentSet element. 03599 /// @param handler Pointer to the handler used to call this function. 03600 /// @param element The element's data 03601 /// @ingroup handler 03602 typedef void (*BFHandlerStartWebCaptureContentSet) (void *handler, BFWebCaptureContentSetElement *element); 03603 03604 /// Function called at the end of an WebCaptureContentSet element 03605 /// @param handler Pointer to the handler used to call this function. 03606 /// @ingroup handler 03607 typedef void (*BFHandlerEndWebCaptureContentSet) (void *handler, BFElement *element); 03608 03609 /** 03610 Structure recieved by the BFHandlerStartCommentingAuthor() function. 03611 Describes an author that has provided comments on the document at some point in the document life cycle. 03612 @ingroup handler 03613 */ 03614 typedef struct _BFCommentingAuthorElement 03615 { 03616 int uid; 03617 const wchar_t *name; /* */ 03618 const wchar_t *initials; /* */ 03619 const wchar_t *providerid; /* */ 03620 const wchar_t *userid; /* */ 03621 const wchar_t *contact; /* */ 03622 } BFCommentingAuthorElement; 03623 03624 /// Function called at the start of a CommentingAuthor element. 03625 /// @param handler Pointer to the handler used to call this function. 03626 /// @param element The element's data 03627 /// @ingroup handler 03628 typedef void (*BFHandlerStartCommentingAuthor) (void *handler, BFCommentingAuthorElement *element); 03629 03630 /// Function called at the end of an CommentingAuthor element 03631 /// @param handler Pointer to the handler used to call this function. 03632 /// @ingroup handler 03633 typedef void (*BFHandlerEndCommentingAuthor) (void *handler, BFElement *element); 03634 03635 /** 03636 Structure recieved by the BFHandlerStartTrace() function. 03637 Describes a single line in the exception's stack trace. 03638 @ingroup handler 03639 */ 03640 typedef struct _BFTraceElement 03641 { 03642 int uid; 03643 const wchar_t *filename; /* */ 03644 const wchar_t *classname; /* */ 03645 const wchar_t *method; /* */ 03646 BFINT32 line; /* */ 03647 } BFTraceElement; 03648 03649 /// Function called at the start of a Trace element. 03650 /// @param handler Pointer to the handler used to call this function. 03651 /// @param element The element's data 03652 /// @ingroup handler 03653 typedef void (*BFHandlerStartTrace) (void *handler, BFTraceElement *element); 03654 03655 /// Function called at the end of an Trace element 03656 /// @param handler Pointer to the handler used to call this function. 03657 /// @ingroup handler 03658 typedef void (*BFHandlerEndTrace) (void *handler, BFElement *element); 03659 03660 /// Element handler structure. The developer fills this structure and passes 03661 /// it to BFSetHandlerOption() in order to receive text and structure information 03662 /// during extraction of a document. Any of the function pointers may be set to NULL 03663 /// if the developer does not wish to receive that event. The function 03664 /// BFInitElementHandler should be used to initialize all entries to NULL 03665 /// before filling this structure. 03666 /// @ingroup handler 03667 typedef struct _BFELEMENTHANDLER 03668 { 03669 BFHandlerText text; 03670 BFHandlerClose close; 03671 BFHandlerStartRoot startRoot; 03672 BFHandlerEndRoot endRoot; 03673 BFHandlerStartDocumentCollection startDocumentCollection; 03674 BFHandlerEndDocumentCollection endDocumentCollection; 03675 BFHandlerStartProcessingInfo startProcessingInfo; 03676 BFHandlerEndProcessingInfo endProcessingInfo; 03677 BFHandlerStartContent startContent; 03678 BFHandlerEndContent endContent; 03679 BFHandlerStartCollection startCollection; 03680 BFHandlerEndCollection endCollection; 03681 BFHandlerStartEmbeddedContent startEmbeddedContent; 03682 BFHandlerProcessEmbeddedContent processEmbeddedContent; 03683 BFHandlerEndEmbeddedContent endEmbeddedContent; 03684 BFHandlerStartLinkedContent startLinkedContent; 03685 BFHandlerEndLinkedContent endLinkedContent; 03686 BFHandlerStartSubContent startSubContent; 03687 BFHandlerEndSubContent endSubContent; 03688 BFHandlerStartContentRef startContentRef; 03689 BFHandlerEndContentRef endContentRef; 03690 BFHandlerStartRevisions startRevisions; 03691 BFHandlerEndRevisions endRevisions; 03692 BFHandlerStartExportDocument startExportDocument; 03693 BFHandlerProcessExportDocument processExportDocument; 03694 BFHandlerEndExportDocument endExportDocument; 03695 BFHandlerStartFrame startFrame; 03696 BFHandlerEndFrame endFrame; 03697 BFHandlerStartTextProperty startTextProperty; 03698 BFHandlerEndTextProperty endTextProperty; 03699 BFHandlerStartPageInfo startPageInfo; 03700 BFHandlerEndPageInfo endPageInfo; 03701 BFHandlerStartStringProperty startStringProperty; 03702 BFHandlerEndStringProperty endStringProperty; 03703 BFHandlerStartBooleanProperty startBooleanProperty; 03704 BFHandlerEndBooleanProperty endBooleanProperty; 03705 BFHandlerStartIntegerProperty startIntegerProperty; 03706 BFHandlerEndIntegerProperty endIntegerProperty; 03707 BFHandlerStartFloatProperty startFloatProperty; 03708 BFHandlerEndFloatProperty endFloatProperty; 03709 BFHandlerStartDateProperty startDateProperty; 03710 BFHandlerEndDateProperty endDateProperty; 03711 BFHandlerStartDurationProperty startDurationProperty; 03712 BFHandlerEndDurationProperty endDurationProperty; 03713 BFHandlerStartDataProperty startDataProperty; 03714 BFHandlerEndDataProperty endDataProperty; 03715 BFHandlerStartLocaleProperty startLocaleProperty; 03716 BFHandlerEndLocaleProperty endLocaleProperty; 03717 BFHandlerStartCodepageProperty startCodepageProperty; 03718 BFHandlerEndCodepageProperty endCodepageProperty; 03719 BFHandlerStartListProperty startListProperty; 03720 BFHandlerEndListProperty endListProperty; 03721 BFHandlerStartString startString; 03722 BFHandlerEndString endString; 03723 BFHandlerStartText startText; 03724 BFHandlerEndText endText; 03725 BFHandlerStartInteger startInteger; 03726 BFHandlerEndInteger endInteger; 03727 BFHandlerStartDate startDate; 03728 BFHandlerEndDate endDate; 03729 BFHandlerStartBoolean startBoolean; 03730 BFHandlerEndBoolean endBoolean; 03731 BFHandlerStartSheet startSheet; 03732 BFHandlerEndSheet endSheet; 03733 BFHandlerStartPage startPage; 03734 BFHandlerEndPage endPage; 03735 BFHandlerStartBody startBody; 03736 BFHandlerEndBody endBody; 03737 BFHandlerStartHyperlinkBegin startHyperlinkBegin; 03738 BFHandlerEndHyperlinkBegin endHyperlinkBegin; 03739 BFHandlerStartHyperlinkEnd startHyperlinkEnd; 03740 BFHandlerEndHyperlinkEnd endHyperlinkEnd; 03741 BFHandlerStartHidden startHidden; 03742 BFHandlerEndHidden endHidden; 03743 BFHandlerStartAdded startAdded; 03744 BFHandlerEndAdded endAdded; 03745 BFHandlerStartDeleted startDeleted; 03746 BFHandlerEndDeleted endDeleted; 03747 BFHandlerStartNote startNote; 03748 BFHandlerEndNote endNote; 03749 BFHandlerStartAnnot startAnnot; 03750 BFHandlerEndAnnot endAnnot; 03751 BFHandlerStartNoteRef startNoteRef; 03752 BFHandlerEndNoteRef endNoteRef; 03753 BFHandlerStartObfuscated startObfuscated; 03754 BFHandlerEndObfuscated endObfuscated; 03755 BFHandlerStartHeaderFooter startHeaderFooter; 03756 BFHandlerEndHeaderFooter endHeaderFooter; 03757 BFHandlerStartHeaderFooterRef startHeaderFooterRef; 03758 BFHandlerEndHeaderFooterRef endHeaderFooterRef; 03759 BFHandlerStartP startP; 03760 BFHandlerEndP endP; 03761 BFHandlerStartTextBox startTextBox; 03762 BFHandlerEndTextBox endTextBox; 03763 BFHandlerStartTemplate startTemplate; 03764 BFHandlerEndTemplate endTemplate; 03765 BFHandlerStartChart startChart; 03766 BFHandlerEndChart endChart; 03767 BFHandlerStartSlide startSlide; 03768 BFHandlerEndSlide endSlide; 03769 BFHandlerStartSlideTitle startSlideTitle; 03770 BFHandlerEndSlideTitle endSlideTitle; 03771 BFHandlerStartSlideBody startSlideBody; 03772 BFHandlerEndSlideBody endSlideBody; 03773 BFHandlerStartThumbnail startThumbnail; 03774 BFHandlerEndThumbnail endThumbnail; 03775 BFHandlerStartSection startSection; 03776 BFHandlerEndSection endSection; 03777 BFHandlerStartSurvey startSurvey; 03778 BFHandlerEndSurvey endSurvey; 03779 BFHandlerStartSurveyQuestion startSurveyQuestion; 03780 BFHandlerEndSurveyQuestion endSurveyQuestion; 03781 BFHandlerStartTable startTable; 03782 BFHandlerEndTable endTable; 03783 BFHandlerStartRow startRow; 03784 BFHandlerEndRow endRow; 03785 BFHandlerStartCell startCell; 03786 BFHandlerEndCell endCell; 03787 BFHandlerStartDatabaseTable startDatabaseTable; 03788 BFHandlerEndDatabaseTable endDatabaseTable; 03789 BFHandlerStartDatabaseColumnDefinitions startDatabaseColumnDefinitions; 03790 BFHandlerEndDatabaseColumnDefinitions endDatabaseColumnDefinitions; 03791 BFHandlerStartDatabaseTableName startDatabaseTableName; 03792 BFHandlerEndDatabaseTableName endDatabaseTableName; 03793 BFHandlerStartDatabaseColInfo startDatabaseColInfo; 03794 BFHandlerEndDatabaseColInfo endDatabaseColInfo; 03795 BFHandlerStartDatabaseFieldName startDatabaseFieldName; 03796 BFHandlerEndDatabaseFieldName endDatabaseFieldName; 03797 BFHandlerStartDatabaseRow startDatabaseRow; 03798 BFHandlerEndDatabaseRow endDatabaseRow; 03799 BFHandlerStartArchiveTable startArchiveTable; 03800 BFHandlerEndArchiveTable endArchiveTable; 03801 BFHandlerStartArchiveColumnDefinitions startArchiveColumnDefinitions; 03802 BFHandlerEndArchiveColumnDefinitions endArchiveColumnDefinitions; 03803 BFHandlerStartArchiveTableName startArchiveTableName; 03804 BFHandlerEndArchiveTableName endArchiveTableName; 03805 BFHandlerStartArchiveColInfo startArchiveColInfo; 03806 BFHandlerEndArchiveColInfo endArchiveColInfo; 03807 BFHandlerStartArchiveRow startArchiveRow; 03808 BFHandlerEndArchiveRow endArchiveRow; 03809 BFHandlerStartTextField startTextField; 03810 BFHandlerEndTextField endTextField; 03811 BFHandlerStartDataField startDataField; 03812 BFHandlerEndDataField endDataField; 03813 BFHandlerStartDateField startDateField; 03814 BFHandlerEndDateField endDateField; 03815 BFHandlerStartBooleanField startBooleanField; 03816 BFHandlerEndBooleanField endBooleanField; 03817 BFHandlerStartSheetName startSheetName; 03818 BFHandlerEndSheetName endSheetName; 03819 BFHandlerStartTextCell startTextCell; 03820 BFHandlerEndTextCell endTextCell; 03821 BFHandlerStartNumberCell startNumberCell; 03822 BFHandlerEndNumberCell endNumberCell; 03823 BFHandlerStartDateCell startDateCell; 03824 BFHandlerEndDateCell endDateCell; 03825 BFHandlerStartDurationCell startDurationCell; 03826 BFHandlerEndDurationCell endDurationCell; 03827 BFHandlerStartBooleanCell startBooleanCell; 03828 BFHandlerEndBooleanCell endBooleanCell; 03829 BFHandlerStartAddedCell startAddedCell; 03830 BFHandlerEndAddedCell endAddedCell; 03831 BFHandlerStartDeletedCell startDeletedCell; 03832 BFHandlerEndDeletedCell endDeletedCell; 03833 BFHandlerStartRowInfo startRowInfo; 03834 BFHandlerEndRowInfo endRowInfo; 03835 BFHandlerStartColInfo startColInfo; 03836 BFHandlerEndColInfo endColInfo; 03837 BFHandlerStartScenario startScenario; 03838 BFHandlerEndScenario endScenario; 03839 BFHandlerStartPT startPT; 03840 BFHandlerEndPT endPT; 03841 BFHandlerStartL startL; 03842 BFHandlerEndL endL; 03843 BFHandlerStartFingerprint startFingerprint; 03844 BFHandlerEndFingerprint endFingerprint; 03845 BFHandlerStartDatabaseQueries startDatabaseQueries; 03846 BFHandlerEndDatabaseQueries endDatabaseQueries; 03847 BFHandlerStartAuthorHistory startAuthorHistory; 03848 BFHandlerEndAuthorHistory endAuthorHistory; 03849 BFHandlerStartMacrosAndCode startMacrosAndCode; 03850 BFHandlerEndMacrosAndCode endMacrosAndCode; 03851 BFHandlerStartPrinterInformation startPrinterInformation; 03852 BFHandlerEndPrinterInformation endPrinterInformation; 03853 BFHandlerStartRoutingSlip startRoutingSlip; 03854 BFHandlerEndRoutingSlip endRoutingSlip; 03855 BFHandlerStartWeakProtections startWeakProtections; 03856 BFHandlerEndWeakProtections endWeakProtections; 03857 BFHandlerStartVersions startVersions; 03858 BFHandlerEndVersions endVersions; 03859 BFHandlerStartFastSaveData startFastSaveData; 03860 BFHandlerEndFastSaveData endFastSaveData; 03861 BFHandlerStartExtremeCells startExtremeCells; 03862 BFHandlerEndExtremeCells endExtremeCells; 03863 BFHandlerStartLocationInfo startLocationInfo; 03864 BFHandlerEndLocationInfo endLocationInfo; 03865 BFHandlerStartSecureResult startSecureResult; 03866 BFHandlerEndSecureResult endSecureResult; 03867 BFHandlerStartException startException; 03868 BFHandlerEndException endException; 03869 BFHandlerStartOutlineItem startOutlineItem; 03870 BFHandlerEndOutlineItem endOutlineItem; 03871 BFHandlerStartArticleThread startArticleThread; 03872 BFHandlerEndArticleThread endArticleThread; 03873 BFHandlerStartFormField startFormField; 03874 BFHandlerEndFormField endFormField; 03875 BFHandlerStartOfficeXMLPart startOfficeXMLPart; 03876 BFHandlerEndOfficeXMLPart endOfficeXMLPart; 03877 BFHandlerStartWebCaptureContentSet startWebCaptureContentSet; 03878 BFHandlerEndWebCaptureContentSet endWebCaptureContentSet; 03879 BFHandlerStartCommentingAuthor startCommentingAuthor; 03880 BFHandlerEndCommentingAuthor endCommentingAuthor; 03881 BFHandlerStartTrace startTrace; 03882 BFHandlerEndTrace endTrace; 03883 } BFELEMENTHANDLER; 03884 03885 /// Function to initialize to NULL all function entry points in a BFELEMENTHANDLER structure 03886 /// @param handler Pointer to a handler to initialize 03887 /// @ingroup handler 03888 BFEXPORT_FUNCDEC void BFInitElementHandler(BFELEMENTHANDLER *handler); 03889 #ifdef __cplusplus 03890 } 03891 #endif