Adobe.com
Contents Suites Classes Class Index Member Index

SPRuntmeV6.h

Go to the documentation of this file.
00001 /***********************************************************************/
00002 /*                                                                     */
00003 /* SPRuntmeV6.h                                                          */
00004 /*                                                                     */
00005 /* ADOBE SYSTEMS INCORPORATED                                          */
00006 /* Copyright 1995-2007 Adobe Systems Incorporated.                     */
00007 /* All Rights Reserved.                                                */
00008 /*                                                                     */
00009 /* NOTICE:  Adobe permits you to use, modify, and distribute this file */
00010 /* in accordance with the terms of the Adobe license agreement         */
00011 /* accompanying it. If you have received this file from a source other */
00012 /* than Adobe, then your use, modification, or distribution of it      */
00013 /* requires the prior written permission of Adobe.                     */
00014 /*                                                                     */
00015 /* Patents Pending                                                     */
00016 /*                                                                     */
00017 /*                                                                     */
00018 /***********************************************************************/
00019 
00020 #pragma once
00021 
00022 
00023 /*******************************************************************************
00024  **
00025  **    Imports
00026  **
00027  **/
00028 
00029 #include "SPRuntme.h"
00030 
00031 #include "SPHeaderBegin.h"
00032 
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036     
00037     
00038     /*******************************************************************************
00039      **
00040      **    Constants
00041      **
00042      **/
00043     
00044 #define kSPRuntimeSuiteV6                       kSPRuntimeSuite
00045 #define kSPRuntimeSuiteVersion5                 5
00046 
00047     /*******************************************************************************
00048      **
00049      **    Types
00050      **
00051      **/
00052     
00053 
00058     typedef struct SPHostProcsV5 {
00059         
00060         void *hostData;
00061         
00062         SPAllocateProc extAllocate;
00063         SPFreeProc extFree;
00064         SPReallocateProc extReallocate;
00065         
00066         SPAllocateProc intAllocate;
00067         SPFreeProc intFree;
00068         SPReallocateProc intReallocate;
00070         SPStartupNotifyProc startupNotify;
00072         SPShutdownNotifyProc shutdownNotify;
00073         
00074         SPAssertTrapProc assertTrap;
00075         SPThrowTrapProc throwTrap;
00076         SPDebugTrapProc debugTrap;
00077         
00078         SPAllocateStringPoolProc allocateStringPool;
00079         SPFreeStringPoolProc freeStringPool;
00080         SPMakeWStringProc makeWString;
00081         SPStringPoolRef appStringPool;
00082         
00083         SPFilterEventProc filterEvent;
00084         SPAddPluginsProc overrideAddPlugins;
00085         SPOverrideStartupProc overridePluginStartup;
00086         
00087 #ifdef WIN_ENV
00088         SPResolveLinkProc resolveLink;
00089 #endif
00090         
00091         GetNativePluginAccessProc getPluginAccess;
00092         
00093 #ifdef MAC_ENV
00094         // enable second-chance plugin loading for success-critical situations
00095         MemoryIsCriticalProc memoryIsCritical;
00096 #endif
00097         
00098         SPAllocateProc extSubAllocate; //alternate allocation mechanism: Suballocation
00099         SPFreeProc extSubFree;
00100         SPReallocateProc extSubReallocate;
00101         
00102         //Do not insert in the middle as Photoshop Adapter's SPRuntime interface's order will become different
00103 #ifdef WIN_ENV
00104         SPResolveLinkProcW resolveLinkW;
00105 #endif
00106         SPWideCharToPlatform wideCharToPlatform;
00107         SPPlatformToWideChar platformToWideChar;
00108 #if SPPerfLoggingEnabled
00109         SPPerfLogTimerStart startPerflog;
00110         SPPerfLogTimerPause pausePerfLogTimer;
00111         SPPerfLogTimerPlay playPerfLogTimer;
00112         SPPerfLogPut putPerfLog;
00113         SPPerfLogPutWithGivenTime putPerfLogWithGivenTime;
00114         SPGetElapsedMicroSeconds getElapsedMicroSeconds;
00115         SPPerfLogTimerDestroy clearHostLogData;
00116 #endif
00117     } SPHostProcsV5;
00118     
00119     /*******************************************************************************
00120      **
00121      **    Suite
00122      **
00123      **/
00131     typedef struct SPRuntimeSuiteV6 {
00136         SPAPI SPErr (*GetRuntimeStringPool)( SPStringPoolRef *stringPool );
00141         SPAPI SPErr (*GetRuntimeSuiteList)( SPSuiteListRef *suiteList );
00146         SPAPI SPErr (*GetRuntimeFileList)( SPFileListRef *fileList );
00151         SPAPI SPErr (*GetRuntimePluginList)( SPPluginListRef *pluginList );
00156         SPAPI SPErr (*GetRuntimeAdapterList)( SPAdapterListRef *adapterList );
00167         SPAPI SPErr (*GetRuntimeHostProcs)( SPHostProcsV5 **hostProcs );
00172         SPAPI SPErr (*GetRuntimePluginsFolder)( SPPlatformFileReference *pluginFolder );
00177         SPAPI SPErr (*GetRuntimeHostFileRef)( SPPlatformFileReference *hostFileSpec );
00178     } SPRuntimeSuiteV6;
00179     
00181     SPAPI SPErr SPGetRuntimeHostProcs_v5(SPHostProcsV5 **hostProcs );
00182 #ifdef __cplusplus
00183 }
00184 #endif
00185 
00186 #include "SPHeaderEnd.h"
00187 
00188 


Contents Suites Classes Class Index Member Index
Adobe Solutions Network
 
Copyright © 2014 Adobe Systems Incorporated. All rights reserved.
Terms of Use Online Privacy Policy Adobe and accessibility Avoid software piracy Permissions and Trademarks