From 43d65dc03325bcce8561423b9607f7e114355f7d Mon Sep 17 00:00:00 2001 From: ferbas Date: Wed, 13 Jan 2010 09:41:29 +0000 Subject: initial import git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@545 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../sources/import/API/ASExtraCalls.h | 401 +++++++++++++++++++++ 1 file changed, 401 insertions(+) create mode 100644 Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/ASExtraCalls.h (limited to 'Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/ASExtraCalls.h') diff --git a/Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/ASExtraCalls.h b/Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/ASExtraCalls.h new file mode 100644 index 0000000..ec00fde --- /dev/null +++ b/Adobe_SigHandler/Adobe.PDF-AS-SigHandler/sources/import/API/ASExtraCalls.h @@ -0,0 +1,401 @@ +/********************************************************************* + + ADOBE SYSTEMS INCORPORATED + Copyright (C) 1999-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. + + --------------------------------------------------------------------- + + ASExtraCalls.h + + ****************************************************************************************** + **** Instructions for Plugin Developers **** + (In the instructions below ~ is used to refer to the HFT this file is for. For + example, this file would be called "~Calls.h") + + To use this file you must declare two global variables: g~HFT and g~Version. You can + see them declared as extern about one page down from here. Your plugin should set a + #define of PI_~_VERSION to some non zero value. Suggested values are given below in + the "for public use" section. ~HFT_LATEST_VERSION is not recommended because you will + not be able to support backwards compatible versions. It is recommended that you use the lowest + ~HFT_VERSION you require. Later versions are compatible with earlier versions, so if + you require ~HFT_VERSION_4, your plugin will work with ~HFT_VERSION_5, ~HFT_VERSION_6, and so on. + + You can support old versions and still use newer versions of this HFT by checking the + value of g~Version. If you use the standard PiMain.c supplied in the SDK, this will be + set to the actual version of the HFT returned to you (For example, if you require version 4, + you are returned version 7, which is compatible, and g~Version is set to 7). You can write + code that looks something like this: + if (g~Version >= ~HFT_VERSION_5) + CallNewSpeedyCode(); + else { + assert(g~Version >= ~HFT_VERSION_4); //PI_~_VERSION was defined as ~HFT_VERSION_4 + CallOldSlowCode(); + } + ****************************************************************************************** + **** Instructions for HFT Developer **** + (In the instructions below ~ is used to refer to the HFT this file is for. For + example, this file would be called "~Calls.h") + + Important: routines that have been released can never be deleted or changed. + If you want to make a new version, create a new call, add it to the end of this file and + increment _~_LATEST_VERSION (note the leading underscore). + + If this is the first new routine in a new version, change the _~_IS_BETA flag + to 1. Next, create a new ~_VERSION_# for plugins to use and set it to + ~HFT_LATEST_VERSION. For example, suppose the last release of Acrobat was version 20, version 21 + is under development, and you add a new routine for version 21. Increment _~HFT_LATEST_VERSION + to 0x00200001 and set _~_IS_BETA to 1. Add "#define ~HFT_VERSION_21 ~HFT_LATEST_VERSION". + Add your routine and assert that g~Version >= ~HFT_VERSION_21. Leave + _~_LAST_BETA_COMPATIBLE_VERSION unchanged (0x00200000 in this example). + + If the ~_IS_BETA flag is set to 1, you may change or delete the beta routines at will. + Before checking in the modifications, however, increment the _~HFT_LATEST_VERSION number. + If the change is not compatible (delete, change, and so on) set _~_LAST_BETA_COMPATIBLE_VERSION equal + to the new _~HFT_LATEST_VERSION. If the change is compatible, leave the LAST_BETA version + as is. + + Plugins that require a BETA HFT will be refused unless they ask for a beta version greater than or equal to + (>=) LAST_BETA_COMPATIBLE_VERSION and less than or equal to (<=) HFT_LATEST_VERSION. + By incrementing the version number, you ensure the plugin will refuse to load until it + has been recompiled with your changes. You also ensure plugins compiled with your changes + will not load on older versions of Acrobat. In other words, it makes sure both sides are in sync. + + Important: Whenever you make a change to this file, you must increment _~HFT_LATEST_VERSION. + + Once the product reaches RC or a similar milestone, change the _~_IS_BETA flag to 0, jump + the _~HFT_LATEST_VERSION to the final version (0x00210000 in our example), do the same for + _~_LAST_BETA_COMPATIBLE_VERSION, and set the + ~HFT_VERSION_# to the final version number (0x00210000 in this example). Once the HFT + has left beta, the routines cannot be changed and a new beta must ensue (beta for version + 22 in this example). + +*********************************************************************/ + +#ifndef _H_ASExtraCalls +#define _H_ASExtraCalls + +#include "ASExtraExpT.h" +#include "acroassert.h" +#ifdef THREAD_SAFE_PDFL +#include "PDFLInitCommon.h" +#endif /* defined THREAD_SAFE_PDFL */ + +/* for Adobe use only */ +#define _ASExtraHFT_LATEST_VERSION 0x00090000 +#define _ASExtraHFT_LAST_BETA_COMPATIBLE_VERSION 0x00090000 +#define _ASEXTRAHFT_IS_BETA 0 + +/* for public use */ +#define ASExtraHFT_LATEST_VERSION (_ASEXTRAHFT_IS_BETA ? (kHFT_IN_BETA_FLAG | _ASExtraHFT_LATEST_VERSION) : _ASExtraHFT_LATEST_VERSION) + +#define ASExtraHFT_VERSION_5 0x00050000 +#define ASExtraHFT_VERSION_6 0x00060000 +#define ASExtraHFT_VERSION_7 0x00070000 +#define ASExtraHFT_VERSION_9 ASExtraHFT_LATEST_VERSION + +#ifdef __cplusplus +extern "C" { +#endif + + /* "Routines" described as macros on top of real + HFT calls. + */ + #define ASTextEqual(a, b) (ASTextCmp((a), (b)) == 0) + +#ifdef NPROC +#undef NPROC +#endif + +#if !PLUGIN + /* Static link */ + #define NPROC(returnType, name, params) \ + ACEX1 returnType ACEX2 name params; + #include "ASExtraProcs.h" + #undef NPROC +#endif /* !PLUGIN */ + +#if PLUGIN + /* HFT version */ + #include "PIRequir.h" + + /* Enumerate the selectors */ + #define NPROC(returnType, name, params) \ + name##SEL, + + enum { + ASExtraBAD_SELECTOR, + #include "ASExtraProcs.h" + ASExtraNUMSELECTORSplusOne + }; + + #define ASExtraNUMSELECTORS (ASExtraNUMSELECTORSplusOne - 1) + + /* Create the prototypes */ + #undef NPROC + #define NPROC(returnType, name, params) \ + typedef ACCBPROTO1 returnType (ACCBPROTO2 *name##SELPROTO)params; + #include "ASExtraProcs.h" + #undef NPROC + +#if PI_ASEXTRA_VERSION != 0 +#ifdef THREAD_SAFE_PDFL + #define gASExtraHFT (GetHFTLocations()->asExtraHFT) + #define gASExtraVersion (GetHFTLocations()->asExtraVersion) +#else + extern HFT gASExtraHFT; + extern ASUns32 gASExtraVersion; +#endif /* defined THREAD_SAFE_PDFL */ + +#define ASEXTRAROUTINE(level, name) (ACROASSERT(gASExtraVersion >=level), *((name##SELPROTO)(gASExtraHFT[name##SEL]))) + +#if !STATIC_HFT + /* version 5.0 routines */ + #define ASScriptToHostEncoding ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASScriptToHostEncoding) + #define ASScriptFromHostEncoding ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASScriptFromHostEncoding) + #define ASTextNew ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextNew) + #define ASTextFromUnicode ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextFromUnicode) + #define ASTextFromSizedUnicode ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextFromSizedUnicode) + #define ASTextFromEncoded ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextFromEncoded) + #define ASTextFromSizedEncoded ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextFromSizedEncoded) + #define ASTextFromScriptText ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextFromScriptText) + #define ASTextFromSizedScriptText ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextFromSizedScriptText) + #define ASTextFromPDText ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextFromPDText) + #define ASTextFromSizedPDText ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextFromSizedPDText) + #define ASTextDestroy ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextDestroy) + #define ASTextSetUnicode ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextSetUnicode) + #define ASTextSetSizedUnicode ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextSetSizedUnicode) + #define ASTextSetEncoded ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextSetEncoded) + #define ASTextSetSizedEncoded ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextSetSizedEncoded) + #define ASTextSetScriptText ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextSetScriptText) + #define ASTextSetSizedScriptText ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextSetSizedScriptText) + #define ASTextSetPDText ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextSetPDText) + #define ASTextSetSizedPDText ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextSetSizedPDText) + #define ASTextGetUnicode ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextGetUnicode) + #define ASTextGetUnicodeCopy ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextGetUnicodeCopy) + #define ASTextGetEncoded ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextGetEncoded) + #define ASTextGetEncodedCopy ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextGetEncodedCopy) + #define ASTextGetScriptText ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextGetScriptText) + #define ASTextGetScriptTextCopy ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextGetScriptTextCopy) + #define ASTextGetPDTextCopy ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextGetPDTextCopy) + #define ASTextGetBestEncoding ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextGetBestEncoding) + #define ASTextGetBestScript ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextGetBestScript) + #define ASTextGetCountry ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextGetCountry) + #define ASTextSetCountry ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextSetCountry) + #define ASTextGetLanguage ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextGetLanguage) + #define ASTextSetLanguage ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextSetLanguage) + #define ASTextCat ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextCat) + #define ASTextCatMany ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextCatMany) + #define ASTextCopy ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextCopy) + #define ASTextDup ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextDup) + #define ASTextCmp ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextCmp) + #define ASTextReplace ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextReplace) + #define ASTextReplaceASCII ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextReplaceASCII) + + #define ASCabNew ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabNew) + #define ASCabFromEntryList ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabFromEntryList) + #define ASCabDestroy ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabDestroy) + #define ASCabNumEntries ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabNumEntries) + #define ASCabKnown ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabKnown) + #define ASCabGetType ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabGetType) + #define ASCabEnum ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabEnum) + #define ASCabRemove ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabRemove) + #define ASCabGetBool ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabGetBool) + #define ASCabPutBool ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabPutBool) + #define ASCabGetInt ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabGetInt) + #define ASCabPutInt ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabPutInt) + #define ASCabGetAtom ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabGetAtom) + #define ASCabPutAtom ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabPutAtom) + #define ASCabGetDouble ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabGetDouble) + #define ASCabPutDouble ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabPutDouble) + #define ASCabGetPointerRaw ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabGetPointerRaw) + #define ASCabDetachPointerRaw ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabDetachPointerRaw) + #define ASCabPutPointerRaw ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabPutPointerRaw) + #define ASCabGetPointerDestroyProc ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabGetPointerDestroyProc) + #define ASCabGetPointerType ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabGetPointerType) + #define ASCabPutCab ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabPutCab) + #define ASCabGetCab ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabGetCab) + #define ASCabDetachCab ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabDetachCab) + #define ASCabGetString ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabGetString) + #define ASCabGetStringCopy ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabGetStringCopy) + #define ASCabDetachString ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabDetachString) + #define ASCabPutString ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabPutString) + #define ASCabGetText ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabGetText) + #define ASCabDetachText ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabDetachText) + #define ASCabPutText ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabPutText) + #define ASCabGetBinary ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabGetBinary) + #define ASCabGetBinaryCopy ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabGetBinaryCopy) + #define ASCabDetachBinary ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabDetachBinary) + #define ASCabPutBinary ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabPutBinary) + #define ASCabPutNull ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabPutNull) + #define ASCabMakeEmpty ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabMakeEmpty) + #define ASCabDestroyEmpties ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabDestroyEmpties) + #define ASCabCopy ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabCopy) + #define ASCabDup ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabDup) + #define ASCabValueEqual ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabValueEqual) + #define ASCabEqual ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabEqual) + #define ASCabMunge ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabMunge) + #define ASCabPutPathName ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabPutPathName) + #define ASCabGetPathNameCopy ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabGetPathNameCopy) + #define ASCabDetachPathName ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabDetachPathName) + #define ASCabWriteToStream ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabWriteToStream) + #define ASCabReadFromStream ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabReadFromStream) + + #define ASCabRename ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASCabRename) + #define ASTextIsEmpty ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextIsEmpty) + #define ASTextNormalizeEndOfLine ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextNormalizeEndOfLine) + + #define ASTextFromInt32 ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextFromInt32) + #define ASTextFromUns32 ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextFromUns32) + + #define ASTextMakeEmpty ASEXTRAROUTINE(ASExtraHFT_VERSION_5,ASTextMakeEmpty) + + /* version 6.0 routines */ + + #define ASTextReplaceBadChars ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASTextReplaceBadChars) + #define ASCabGetUns ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASCabGetUns) + #define ASCabPutUns ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASCabPutUns) +/* ASDate API #defines. +*/ + #define ASDateNew ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateNew) + #define ASDateCopy ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateCopy) + #define ASDateDup ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateDup) + #define ASDateClear ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateClear) + #define ASDateDestroy ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateDestroy) + #define ASTimeSpanNew ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASTimeSpanNew) + #define ASTimeSpanCopy ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASTimeSpanCopy) + #define ASTimeSpanDup ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASTimeSpanDup) + #define ASTimeSpanDestroy ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASTimeSpanDestroy) + #define ASDateSetToCurrentUTCTime ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateSetToCurrentUTCTime) + #define ASDateSetToCurrentLocalTime ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateSetToCurrentLocalTime) + #define ASDateSetLocalTimeOffset ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateSetLocalTimeOffset) + #define ASDateSetTimeFromString ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateSetTimeFromString) + #define ASDateSetTimeFromRec ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateSetTimeFromRec) + #define ASDateSubtractCalendarTimeSpan ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateSubtractCalendarTimeSpan) + #define ASDateAddCalendarTimeSpan ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateAddCalendarTimeSpan) + #define ASDateSubtractTimeSpan ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateSubtractTimeSpan) + #define ASDateAddTimeSpan ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateAddTimeSpan) + #define ASDateCalendarDiff ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateCalendarDiff) + #define ASDateExactDiff ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateExactDiff) + #define ASDateGetTimeString ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateGetTimeString) + #define ASDateGetUTCTime ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateGetUTCTime) + #define ASDateGetLocalTimeNoDST ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateGetLocalTimeNoDST) + #define ASDateGetLocalTime ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateGetLocalTime) + #define ASCalendarTimeSpanCompare ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASCalendarTimeSpanCompare) + #define ASTimeSpanCompare ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASTimeSpanCompare) + #define ASCalendarTimeSpanAddWithBase ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASCalendarTimeSpanAddWithBase) + #define ASTimeSpanAdd ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASTimeSpanAdd) + #define ASCalendarTimeSpanDiff ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASCalendarTimeSpanDiff) + #define ASTimeSpanDiff ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASTimeSpanDiff) + #define ASDateCompare ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASDateCompare) + #define ASTimeSpanSetFromASInt32 ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASTimeSpanSetFromASInt32) + #define ASTimeSpanSetFromString ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASTimeSpanSetFromString) + #define ASTimeSpanSet ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASTimeSpanSet) + #define ASTimeSpanNegate ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASTimeSpanNegate) + + + #define ASTextEval ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASTextEval) + #define ASFileSysGetItemPropsAsCab ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASFileSysGetItemPropsAsCab) + #define ASFileSysConvertCabToItemProps ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASFileSysConvertCabToItemProps) + #define ASFileSysConvertItemPropsToCab ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASFileSysConvertItemPropsToCab) + #define ASFileSysCanPerformOpOnItem ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASFileSysCanPerformOpOnItem) + #define ASFileSysPerformOpOnItem ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASFileSysPerformOpOnItem) + + #define ASIsValidUTF8 ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASIsValidUTF8) + #define ASTextCaseSensitiveCmp ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASTextCaseSensitiveCmp) + + #define ASConstCabEnum ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASConstCabEnum) + + #define ASTextFilter ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASTextFilter) + + #define ASTimeSpanGetASInt32 ASEXTRAROUTINE(ASExtraHFT_VERSION_6,ASTimeSpanGetASInt32) + + #define ASCabGetInt64 ASEXTRAROUTINE(ASExtraHFT_VERSION_7,ASCabGetInt64) + #define ASCabPutInt64 ASEXTRAROUTINE(ASExtraHFT_VERSION_7,ASCabPutInt64) + #define ASCabGetUns64 ASEXTRAROUTINE(ASExtraHFT_VERSION_7,ASCabGetUns64) + #define ASCabPutUns64 ASEXTRAROUTINE(ASExtraHFT_VERSION_7,ASCabPutUns64) + + /* version 9.0 routines */ + + #define ASTextMakeEmptyClear ASEXTRAROUTINE(ASExtraHFT_VERSION_9,ASTextMakeEmptyClear) + #define ASUCS_GetPasswordFromUnicode ASEXTRAROUTINE(ASExtraHFT_VERSION_9,ASUCS_GetPasswordFromUnicode) + +/* If you add, delete, or modify procs listed in this file please read the instructions at the top about how to properly change the version number */ + +#endif /* !STATIC_HFT */ + +#endif /* PI_ASEXTRA_VERSION */ +#endif /* PLUGIN */ + +#ifdef __cplusplus +} +#endif + + /* You shouldn't call the RAW forms of these routines + but instead use the macros below. + */ + /* + HPUX note: 11/28/06, see watson bug 1419712. + With HPUX's aCC compiler, the templates below cause compile errors for + client code if the client has PI_ASEXTRA_VERSION = 0. The simple fix + of doing something like wrapping the code below in if PI_ASEXTRA_VERSION + doesn't work because + + - the internal implementation depends on these macros + + - the conditions under which the code below should be included even on + clients is more complicted than just looking at PI_ASEXTRA_VERSION. + + - it's pretty hard to test to make sure a general change in this public + header hasn't broken anything on the various platforms and clients. + + therefore, the HPUX_ACC version will just fall back to the C-style + macros. + */ +#if defined(__cplusplus) && !defined(HPUX_ACC) + template + inline T ASCabGetPointerTypeSafe(ASCab theCab, const char *keyName, char *expectedType) + { +#if !defined(__GNUG__) && !defined(_xlC__) + return reinterpret_cast(ASCabGetPointerRaw(theCab, keyName, expectedType)); +#else + return (T)(ASCabGetPointerRaw(theCab, keyName, expectedType)); +#endif + } + #define ASCabGetPointer(theCab, theKey, theType) \ + ASCabGetPointerTypeSafe(theCab, theKey, #theType) + + template + inline void ASCabPutPointerTypeSafe(ASCab theCab, const char *keyName, const char *theType, + T ptrValue, ASCabPointerDestroyProc destroyProc) + { + ASCabPutPointerRaw(theCab, keyName, theType, (void *) ptrValue, destroyProc); + } + #define ASCabPutPointer(theCab, theKey, theType, thePtr, destroyProc) \ + ASCabPutPointerTypeSafe(theCab, theKey, #theType, thePtr, destroyProc) + + template + inline T ASCabDetachPointerTypeSafe(ASCab theCab, const char *keyName, const char *expectedType, + ASBool *isFree) + { + return reinterpret_cast(ASCabDetachPointerRaw(theCab, keyName, expectedType, isFree)); + } + #define ASCabDetachPointer(theCab, theKey, theType, noRefs) ((theType) \ + ASCabDetachPointerTypeSafe(theCab, theKey, #theType, noRefs)) + +#else + #define ASCabGetPointer(theCab, theKey, theType) \ + ((theType) ASCabGetPointerRaw((theCab), (theKey), #theType)) + #define ASCabPutPointer(theCab, theKey, theType, thePtr, destroyProc) \ + ASCabPutPointerRaw((theCab), (theKey), #theType, (thePtr), (destroyProc)) + #define ASCabDetachPointer(theCab, theKey, theType, noRefs) ((theType) \ + ASCabDetachPointerRaw((theCab), (theKey), #theType, (noRefs))) +#endif /* __cplusplus */ + +#endif /* _H_ASExtraCalls */ -- cgit v1.2.3