Adobe.com
Contents Suites Classes Class Index Member Index

SPSuites.h

Go to the documentation of this file.
00001 /***********************************************************************/
00002 /*                                                                     */
00003 /* SPSuites.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 #ifndef __SPSuites__
00021 #define __SPSuites__
00022 
00023 
00024 /*******************************************************************************
00025  **
00026  **     Imports
00027  **
00028  **/
00029 
00030 #include "SPTypes.h"
00031 #include "SPAccess.h"
00032 #include "SPPlugs.h"
00033 #include "SPStrngs.h"
00034 
00035 #include "SPHeaderBegin.h"
00036 
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040 
00041 
00042 /*******************************************************************************
00043  **
00044  ** Constants
00045  **
00046  **/
00048 #define kSPSuitesSuite                          "SP Suites Suite"
00049 
00050 #define kSPSuitesSuiteVersion           2
00051 
00053 #define kSPLatestInternalVersion        0
00054 
00057 #define kSPRuntimeSuiteList                     ((SPSuiteListRef)NULL)
00058 
00059 #define kAIAboutToLoadSuite                     "About To Load SPSuite"
00060 
00061 /*******************************************************************************
00062  **
00063  ** Types
00064  **
00065  **/
00066 
00068 typedef struct SPSuite *SPSuiteRef;
00072 typedef struct SPSuiteList *SPSuiteListRef;
00075 typedef struct SPSuiteListIterator *SPSuiteListIteratorRef;
00076 
00077 
00078 /*******************************************************************************
00079  **
00080  ** Suite
00081  **
00082  **/
00083 
00104 typedef struct SPSuitesSuite {
00105 
00112         SPAPI SPErr (*AllocateSuiteList)( SPStringPoolRef stringPool, SPPluginListRef plugins,
00113                                 SPSuiteListRef *suiteList );
00114 
00119         SPAPI SPErr (*FreeSuiteList)( SPSuiteListRef suiteList );
00120 
00134         SPAPI SPErr (*AddSuite)( SPSuiteListRef suiteList, SPPluginRef host, const char *name,
00135                                 ai::int32 apiVersion, ai::int32 internalVersion, const void *suiteProcs, SPSuiteRef *suite );
00136 
00149         SPAPI SPErr (*AcquireSuite)( SPSuiteListRef suiteList, const char *name, ai::int32 apiVersion,
00150                                 ai::int32 internalVersion, const void **suiteProcs );
00151 
00160         SPAPI SPErr (*ReleaseSuite)( SPSuiteListRef suiteList, const char *name, ai::int32 apiVersion,
00161                                 ai::int32 internalVersion );
00162 
00172         SPAPI SPErr (*FindSuite)( SPSuiteListRef suiteList, const char *name, ai::int32 apiVersion,
00173                                 ai::int32 internalVersion, SPSuiteRef *suite );
00174 
00182         SPAPI SPErr (*NewSuiteListIterator)( SPSuiteListRef suiteList, SPSuiteListIteratorRef *iter );
00189         SPAPI SPErr (*NextSuite)( SPSuiteListIteratorRef iter, SPSuiteRef *suite );
00194         SPAPI SPErr (*DeleteSuiteListIterator)( SPSuiteListIteratorRef iter );
00195 
00200         SPAPI SPErr (*GetSuiteHost)( SPSuiteRef suite, SPPluginRef *plugin );
00205         SPAPI SPErr (*GetSuiteName)( SPSuiteRef suite, const char **name );
00210         SPAPI SPErr (*GetSuiteAPIVersion)( SPSuiteRef suite, ai::int32 *version );
00215         SPAPI SPErr (*GetSuiteInternalVersion)( SPSuiteRef suite, ai::int32 *version );
00221         SPAPI SPErr (*GetSuiteProcs)( SPSuiteRef suite, const void **suiteProcs );
00226         SPAPI SPErr (*GetSuiteAcquireCount)( SPSuiteRef suite, ai::int32 *count );
00227 
00228 } SPSuitesSuite;
00229 
00230 
00232 SPAPI SPErr SPAllocateSuiteList( SPStringPoolRef stringPool, SPPluginListRef plugins,
00233                         SPSuiteListRef *suiteList );
00234 
00236 SPAPI SPErr SPFreeSuiteList( SPSuiteListRef suiteList );
00237 
00239 SPAPI SPErr SPAddSuite( SPSuiteListRef suiteList, SPPluginRef host, const char *name,
00240                         ai::int32 apiVersion, ai::int32 internalVersion, const void *suiteProcs, SPSuiteRef *suite );
00241 
00243 SPAPI SPErr SPRemoveSuite( SPSuiteListRef suiteList, SPSuiteRef suite);
00244 
00246 SPAPI SPErr SPRemoveSuiteEx( SPSuiteListRef suiteList, const char *name, ai::int32 apiVersion, ai::int32 internalVersion);
00247 
00248 
00250 SPAPI SPErr SPAcquireSuite( SPSuiteListRef suiteList, const char *name, ai::int32 apiVersion,
00251                         ai::int32 internalVersion, const void **suiteProcs );
00252 
00254 SPAPI SPErr SPReleaseSuite( SPSuiteListRef suiteList, const char *name, ai::int32 apiVersion,
00255                         ai::int32 internalVersion );
00256 
00258 SPAPI SPErr SPFindSuite( SPSuiteListRef suiteList, const char *name, ai::int32 apiVersion,
00259                         ai::int32 internalVersion, SPSuiteRef *suite );
00260 
00262 SPAPI SPErr SPNewSuiteListIterator( SPSuiteListRef suiteList, SPSuiteListIteratorRef *iter );
00264 SPAPI SPErr SPNextSuite( SPSuiteListIteratorRef iter, SPSuiteRef *suite );
00266 SPAPI SPErr SPDeleteSuiteListIterator( SPSuiteListIteratorRef iter );
00267 
00269 SPAPI SPErr SPGetSuiteHost( SPSuiteRef suite, SPPluginRef *plugin );
00271 SPAPI SPErr SPGetSuiteName( SPSuiteRef suite, const char **name );
00273 SPAPI SPErr SPGetSuiteAPIVersion( SPSuiteRef suite, ai::int32 *version );
00275 SPAPI SPErr SPGetSuiteInternalVersion( SPSuiteRef suite, ai::int32 *version );
00277 SPAPI SPErr SPGetSuiteProcs( SPSuiteRef suite, const void **suiteProcs );
00279 SPAPI SPErr SPGetSuiteAcquireCount( SPSuiteRef suite, ai::int32 *count );
00280 
00281 
00282 /*******************************************************************************
00283  **
00284  **     Errors
00285  **
00286  **/
00287 
00288 #include "SPErrorCodes.h"
00289 
00290 #ifdef __cplusplus
00291 }
00292 #endif
00293 
00294 #include "SPHeaderEnd.h"
00295 
00296 #endif


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