aboutsummaryrefslogtreecommitdiff
path: root/Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/PIVersn.h
diff options
context:
space:
mode:
authorferbas <ferbas@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2010-01-13 09:41:29 +0000
committerferbas <ferbas@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2010-01-13 09:41:29 +0000
commit43d65dc03325bcce8561423b9607f7e114355f7d (patch)
tree7bef4e532a43f4e98ee16b012dca7499ab547e5b /Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/PIVersn.h
parentf1288ff2082a3330b62b60ee80521c37576ff9cc (diff)
downloadpdf-as-3-43d65dc03325bcce8561423b9607f7e114355f7d.tar.gz
pdf-as-3-43d65dc03325bcce8561423b9607f7e114355f7d.tar.bz2
pdf-as-3-43d65dc03325bcce8561423b9607f7e114355f7d.zip
initial import
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@545 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c
Diffstat (limited to 'Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/PIVersn.h')
-rw-r--r--Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/PIVersn.h128
1 files changed, 128 insertions, 0 deletions
diff --git a/Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/PIVersn.h b/Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/PIVersn.h
new file mode 100644
index 0000000..7f6f475
--- /dev/null
+++ b/Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/PIVersn.h
@@ -0,0 +1,128 @@
+/*********************************************************************
+
+ ADOBE SYSTEMS INCORPORATED
+ Copyright (C) 1994-2006 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.
+
+ ---------------------------------------------------------------------
+
+ PIVersn.h
+
+ - Data structures, types, and other things related to plug-ins and
+ version changes. This file is shared between Acrobat applications
+ and plug-ins.
+
+ - Contains handshaking versioning types and data.
+
+*********************************************************************/
+
+#ifndef _H_PIVersn
+#define _H_PIVersn
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "Environ.h"
+#include "CoreExpT.h"
+
+#if PRAGMA_STRUCT_ALIGN
+ #if __MWERKS__
+ #pragma options align=power_gcc
+ #elif __GNUC__
+ #pragma options align=power
+ #else
+ #error
+ #endif
+#endif
+
+/*
+** Prototypes for plug-in supplied functions.
+** These are not expected to change, but they could if we really needed them to.
+*/
+/* The implementation of this proc is provided in the SDK */
+typedef ACCBPROTO1 ASBool (ACCBPROTO2 *PISetupSDKProcType)(ASUns32 handshakeVersion, void *sdkData);
+
+/* The implemention of the following is the responsibility of the Plug-in author */
+typedef ACCBPROTO1 ASBool (ACCBPROTO2 *PIHandshakeProcType)(ASUns32 handshakeVersion, void *handshakeData);
+typedef ACCBPROTO1 ASBool (ACCBPROTO2 *PIExportHFTsProcType)(void);
+typedef ACCBPROTO1 ASBool (ACCBPROTO2 *PIImportReplaceAndRegisterProcType)(void);
+typedef ACCBPROTO1 ASBool (ACCBPROTO2 *PIInitProcType)(void);
+typedef ACCBPROTO1 ASBool (ACCBPROTO2 *PIUnloadProcType)(void);
+
+
+/*
+** Known handshake versions and data structures should be listed below:
+** Top 2 bytes contains the major version; bottom 2 bytes the minor version.
+** All shipping versions have a zero minor version.
+** All apps and plugs-ins must support all previous shipping versions.
+** Interpet last 4 digits of the name as MMmm, where MM is the major #; mm is the minor.
+*/
+
+/*
+** Exporting of HFT support. Old plug-ins could be supported, but we decided to break
+** them anyway.
+*/
+#define HANDSHAKE_V0200 ((ASUns32)((2L<<16) + 0))
+
+/* Data Types follow: */
+/*
+** SDKData_V0200
+** Structure containing data to be passed in and out of the plug-in's PISetupSDK() routine.
+** This routine is implemented in the PIMain.c routine supplied with the Plug-in SDK.
+** The first field of any SDKData_VMMmm struct must be handshakeVersion.
+*/
+typedef struct {
+ ASUns32 handshakeVersion; /* IN - Will always be HANDSHAKE_VERSION_V0200 */
+ ExtensionID extensionID; /* IN - Opaque to extensions, used to identify the Extension */
+ HFT coreHFT; /* IN - Host Function Table for "core" functions */
+ ASCallback handshakeCallback; /* OUT - Address of PIHandshake() */
+} PISDKData_V0200;
+
+
+/* PIHandshakeData_V0200
+** Structure containing data top be passed in and out of the plug-ins PIHandshake() routine.
+** This routine MUST be implemented with that name by the plug-in writer.
+** The first field of any PIHandshakeData_VMMmm struct must be handshakeVersion.
+*/
+typedef struct {
+ ASUns32 handshakeVersion; /* IN - Will always be HANDSHAKE_V0200 */
+ ASAtom appName; /* IN - Name of host application */
+ ASAtom extensionName; /* OUT - Name of the plug-in */
+ ASCallback exportHFTsCallback; /* OUT - Routine to register HFTs this plug-in is providing */
+ ASCallback importReplaceAndRegisterCallback; /* OUT - Routine to import other plug-in's HFTs, replace HFT functions, and register notifications */
+ ASCallback initCallback; /* OUT - Routine for plug-in to initialize itself */
+ ASCallback unloadCallback; /* OUT - Routine to unreplace, etc. the plug-in */
+} PIHandshakeData_V0200;
+
+/*
+** If handshake version changes, insert subsequent handshake #defines and structure
+** definitions above, and change the HANDSHAKE_VERSION #define, below.
+**
+** If you add a shipping version, you can safely remove ALL of the non-shipping stuff:
+** Non-shipping built plug-ins will operate in the previous (if any) shipping application.
+** Non-shipping applications will load all previous shipping-built plug-ins.
+** Naturally, for version 01.00 we don't have any previous anythings to worry about, but
+** the version 01.00 app does not need to support any version 00.XX plug-ins.
+*/
+
+/*
+** Current handshake version number.
+*/
+#define HANDSHAKE_VERSION HANDSHAKE_V0200
+
+#ifdef __cplusplus
+}
+#endif
+
+#if PRAGMA_STRUCT_ALIGN
+ #pragma options align=reset
+#endif
+
+#endif /* _H_PIVersn */