blob: 19f38106ceadb55eacb7c089408d1148e3666915 [file] [log] [blame]
Lei Zhang25661d12019-08-01 21:57:23 +00001// Copyright 2019 PDFium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef PUBLIC_FPDF_JAVASCRIPT_H_
6#define PUBLIC_FPDF_JAVASCRIPT_H_
7
8// NOLINTNEXTLINE(build/include)
9#include "fpdfview.h"
10
11#ifdef __cplusplus
12extern "C" {
13#endif // __cplusplus
14
15// Experimental API.
16// Get the number of JavaScript actions in |document|.
17//
18// document - handle to a document.
19//
20// Returns the number of JavaScript actions in |document| or -1 on error.
21FPDF_EXPORT int FPDF_CALLCONV
22FPDFDoc_GetJavaScriptActionCount(FPDF_DOCUMENT document);
23
24// Experimental API.
25// Get the JavaScript action at |index| in |document|.
26//
27// document - handle to a document.
28// index - the index of the requested JavaScript action.
29//
30// Returns the handle to the JavaScript action, or NULL on failure.
31// Caller owns the returned handle and must close it with
32// FPDFDoc_CloseJavaScriptAction().
33FPDF_EXPORT FPDF_JAVASCRIPT_ACTION FPDF_CALLCONV
34FPDFDoc_GetJavaScriptAction(FPDF_DOCUMENT document, int index);
35
36// Experimental API.
37// Close a loaded FPDF_JAVASCRIPT_ACTION object.
38
39// javascript - Handle to a JavaScript action.
40FPDF_EXPORT void FPDF_CALLCONV
41FPDFDoc_CloseJavaScriptAction(FPDF_JAVASCRIPT_ACTION javascript);
42
43// Experimental API.
44// Get the name from the |javascript| handle. |buffer| is only modified if
45// |buflen| is longer than the length of the name. On errors, |buffer| is
46// unmodified and the returned length is 0.
47//
48// javascript - handle to an JavaScript action.
49// buffer - buffer for holding the name, encoded in UTF-16LE.
50// buflen - length of the buffer in bytes.
51//
52// Returns the length of the JavaScript action name in bytes.
53FPDF_EXPORT unsigned long FPDF_CALLCONV
54FPDFJavaScriptAction_GetName(FPDF_JAVASCRIPT_ACTION javascript,
55 FPDF_WCHAR* buffer,
56 unsigned long buflen);
57
58// Experimental API.
59// Get the script from the |javascript| handle. |buffer| is only modified if
60// |buflen| is longer than the length of the script. On errors, |buffer| is
61// unmodified and the returned length is 0.
62//
63// javascript - handle to an JavaScript action.
64// buffer - buffer for holding the name, encoded in UTF-16LE.
65// buflen - length of the buffer in bytes.
66//
67// Returns the length of the JavaScript action name in bytes.
68FPDF_EXPORT unsigned long FPDF_CALLCONV
69FPDFJavaScriptAction_GetScript(FPDF_JAVASCRIPT_ACTION javascript,
70 FPDF_WCHAR* buffer,
71 unsigned long buflen);
72
73#ifdef __cplusplus
74} // extern "C"
75#endif // __cplusplus
76
77#endif // PUBLIC_FPDF_JAVASCRIPT_H_