/*
//
// ADOBE SYSTEMS INCORPORATED
// Copyright (C) 2000-2003 Adobe Systems Incorporated
// All rights reserved.
//
// NOTICE: Adobe permits you to use, modify, and distribute this file
// in accordance with the terms of the Adobe license agreement
// accompanying it. If you have received this file from a source other
// than Adobe, then your use, modification, or distribution of it
// requires the prior written permission of Adobe.
//
*/
/*
Prototypes for functions exported by extractURI.c.
*/
#ifndef _H_ExtrUri
#define _H_ExtrUri
/* exported by extractURI.c */
PDAction PDAnnotGetAction(
PDAnnot annot);
ASBool PDActionGetURI(
PDAction pdac, char *cURI,
Uns16 nLen);
/* URI API calls */
/* The PDURILinkEnumProc callback type defines the callback which is
called by PDDocEnumURILinks for each link with a URI. The pageNum
parameter tells you which page the URI was found on. The annotNum
is the index into the annotation array for pageNum. The URIstring
is a pointer to the URI. ClientData is a pointer to user data and
is set up when PDDocEnumURILinks is first called. */
typedef ACCBPROTO1
ASBool (ACCBPROTO2 *PDURILinkEnumProc)(
PDPage page,
PDAnnot annot, char *URIstring, void *ClientData);
/* PDDocGetBaseURI returns true if the pdd has a Base URI. If so, a
pointerto the base URI is returned in the cBase variable. If cBase ==
NULL or
nLen == 0 on entry, PDDocGetBaseURI returns false. nLen is expected
to be the length of the buffer pointed to by cBase. */
ASBool PDDocGetBaseURI(
PDDoc pdd, char *cBase,
Uns16 nLen);
/* PDDocEnumURILinks will walk each of the annotations on the specified
page(s), calling the linkProc for each link annotation with a URI.
If the linkProc returns false, the enumeration will stop then, rather
than continue to enumerate links on the page. */
void PDDocEnumURILinks(
PDDoc pdd,
Int32 nPageNum,
PDURILinkEnumProc linkProc, void *vClientData);
/* Currently unused but good example functions because they are simple*/
void getURI(
PDDoc docP, FILE *outf);
#endif /* _H_ExtrUri */