/*
//
//   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 */