PIGetFileListSuite.h

Go to the documentation of this file.
00001 // ADOBE SYSTEMS INCORPORATED
00002 // Copyright  1993 - 2005 Adobe Systems Incorporated
00003 // All Rights Reserved
00004 //
00005 // NOTICE:  Adobe permits you to use, modify, and distribute this 
00006 // file in accordance with the terms of the Adobe license agreement
00007 // accompanying it.  If you have received this file from a source
00008 // other than Adobe, then your use, modification, or distribution
00009 // of it requires the prior written permission of Adobe.
00010 //-------------------------------------------------------------------
00080 #ifndef __PIGetFileListSuite__
00081 #define __PIGetFileListSuite__
00082 
00083 //-------------------------------------------------------------------------------
00084 //  Includes.
00085 //-------------------------------------------------------------------------------
00086 #include "PIGeneral.h"
00087 
00088 //-------------------------------------------------------------------------------
00089 //  C++ wrapper.
00090 //-------------------------------------------------------------------------------
00091 #ifdef __cplusplus
00092 extern "C" {
00093 #endif
00094 
00095 //-------------------------------------------------------------------------------
00096 //  UI GetFileList suite.
00097 //-------------------------------------------------------------------------------
00098 
00100 #define kPSGetFileListSuite             "Photoshop GetFileList Suite for Plug-ins"
00101 
00102 //-------------------------------------------------------------------------------
00103 //  
00104 //-------------------------------------------------------------------------------
00105 
00120 #if Macintosh && __LP64__
00121 typedef FSRef PIGetFileListHandleType;
00122 #else
00123 typedef FSSpec PIGetFileListHandleType;
00124 #endif
00125 
00126 typedef SPAPI SPErr (*GetFileHandleListProc) (PIActionDescriptor& des, PIGetFileListHandleType* fileSpec, bool recurse);
00127 
00136 typedef SPAPI SPErr (*GetBrowserNameListProc) (PIActionDescriptor& des);
00137 
00144 typedef SPAPI SPErr (*BrowseUrlWithIndexBrowserProc) (uint16 index, const char* url);
00145 
00150 typedef SPAPI SPErr (*BrowseUrlProc) (const char* url);
00151 
00159 typedef SPAPI SPErr (*GetBrowserFileSpecProc)(uint16 index, SPPlatformFileSpecification* fileSpec);
00160 
00161 typedef SPAPI SPErr (*GetDefaultSystemScriptProc)(int16& script);
00162 
00163 typedef SPAPI SPErr (*HasDoubleByteInStringProc)(const char* charString, bool& hasDoubleByte);
00164 
00165 typedef SPAPI SPErr (*GetWebTemplateFolderSpecProc)(SPPlatformFileSpecification* fileSpec);
00166 
00167 typedef SPAPI SPErr (*GetWebTemplateListProc) (PIActionDescriptor& styleList, bool recurse);
00168 
00169 typedef SPAPI SPErr (*GetWindowsFileTypesProc) (char * fileTypeList, int32 bufferSize);
00170 
00171 typedef SPAPI SPErr (*GetMacFileTypesProc) (OSType * typeList, int32 &numTypes, int32 bufferSize);
00172 
00173 typedef SPAPI SPErr (*GetPresetsFolderSpecProc) (SPPlatformFileSpecification *fileSpec);
00174 
00175 typedef SPAPI SPErr (*InvalidateFileBrowserCacheProc) (const SPPlatformFileSpecification *fileSpec);
00176 
00177 typedef SPAPI SPErr (*GetChewableFolderSpecProc) (SPPlatformFileSpecification *folderSpec);
00178 
00179 typedef SPAPI SPErr (*GetChewableFreeSpaceProc) (int64& freeSpace);
00180 
00181 //-------------------------------------------------------------------------------
00182 //   GetFileList suite version 1.
00183 //-------------------------------------------------------------------------------
00184 
00185 #define kPSGetFileListSuiteVersion1     1    
00186 #define kPSGetFileListSuiteVersion2     2    
00187 #define kPSGetFileListSuiteVersion3     3    
00188 #define kPSGetFileListSuiteVersion4     4    
00189 #define kPSGetFileListSuiteVersion5     5    
00190 #define kPSGetFileListSuiteVersion6     6    
00193 typedef struct 
00194     {
00195     GetFileHandleListProc           GetFileHandleList;          
00196     GetBrowserNameListProc          GetBrowserNameList;         
00197     BrowseUrlWithIndexBrowserProc   BrowseUrlWithIndexBrowser;  
00198     BrowseUrlProc                   BrowseUrl;                  
00199     GetBrowserFileSpecProc          GetBrowserFileSpec;         
00200     } PSGetFileListSuite1;
00201 
00203 typedef struct 
00204     {
00205     GetFileHandleListProc           GetFileHandleList;          
00206     GetBrowserNameListProc          GetBrowserNameList;         
00207     BrowseUrlWithIndexBrowserProc   BrowseUrlWithIndexBrowser;  
00208     BrowseUrlProc                   BrowseUrl;                  
00209     GetBrowserFileSpecProc          GetBrowserFileSpec;         
00210     GetDefaultSystemScriptProc      GetDefaultSystemScript;     
00211     } PSGetFileListSuite2;
00212 
00214 typedef struct 
00215     {
00216     GetFileHandleListProc           GetFileHandleList;          
00217     GetBrowserNameListProc          GetBrowserNameList;         
00218     BrowseUrlWithIndexBrowserProc   BrowseUrlWithIndexBrowser;  
00219     BrowseUrlProc                   BrowseUrl;                  
00220     GetBrowserFileSpecProc          GetBrowserFileSpec;         
00221     GetDefaultSystemScriptProc      GetDefaultSystemScript;     
00222     HasDoubleByteInStringProc       HasDoubleByteInString;      
00223     } PSGetFileListSuite3;
00224 
00226 typedef struct 
00227     {
00228     GetFileHandleListProc           GetFileHandleList;          
00229     GetBrowserNameListProc          GetBrowserNameList;         
00230     BrowseUrlWithIndexBrowserProc   BrowseUrlWithIndexBrowser;  
00231     BrowseUrlProc                   BrowseUrl;                  
00232     GetBrowserFileSpecProc          GetBrowserFileSpec;         
00233     GetDefaultSystemScriptProc      GetDefaultSystemScript;     
00234     HasDoubleByteInStringProc       HasDoubleByteInString;      
00235     GetWebTemplateFolderSpecProc    GetWebTemplateFolderSpec;   
00236     GetWebTemplateListProc          GetWebTemplateList;         
00237     } PSGetFileListSuite4;
00238 
00240 typedef struct 
00241 {
00242     GetFileHandleListProc           GetFileHandleList;           
00243     GetBrowserNameListProc          GetBrowserNameList;          
00244     BrowseUrlWithIndexBrowserProc   BrowseUrlWithIndexBrowser;   
00245     BrowseUrlProc                   BrowseUrl;                   
00246     GetBrowserFileSpecProc          GetBrowserFileSpec;          
00247     GetDefaultSystemScriptProc      GetDefaultSystemScript;      
00248     HasDoubleByteInStringProc       HasDoubleByteInString;       
00249     GetWebTemplateFolderSpecProc    GetWebTemplateFolderSpec;    
00250     GetWebTemplateListProc          GetWebTemplateList;          
00251     GetWindowsFileTypesProc         GetWindowsFileTypes;         
00252     GetMacFileTypesProc             GetMacFileTypes;             
00253     GetPresetsFolderSpecProc        GetPresetsFolderSpec;        
00254     InvalidateFileBrowserCacheProc  InvalidateFileBrowserCache;  
00255 } PSGetFileListSuite5;
00256 
00258 typedef struct 
00259 {
00260     GetFileHandleListProc           GetFileHandleList;           
00261     GetBrowserNameListProc          GetBrowserNameList;          
00262     BrowseUrlWithIndexBrowserProc   BrowseUrlWithIndexBrowser;   
00263     BrowseUrlProc                   BrowseUrl;                   
00264     GetBrowserFileSpecProc          GetBrowserFileSpec;          
00265     GetDefaultSystemScriptProc      GetDefaultSystemScript;      
00266     HasDoubleByteInStringProc       HasDoubleByteInString;       
00267     GetWebTemplateFolderSpecProc    GetWebTemplateFolderSpec;    
00268     GetWebTemplateListProc          GetWebTemplateList;          
00269     GetWindowsFileTypesProc         GetWindowsFileTypes;         
00270     GetMacFileTypesProc             GetMacFileTypes;             
00271     GetPresetsFolderSpecProc        GetPresetsFolderSpec;        
00272     InvalidateFileBrowserCacheProc  InvalidateFileBrowserCache;  
00273     GetChewableFolderSpecProc       GetChewableFolderSpec;       
00274     GetChewableFreeSpaceProc        GetChewableFreeSpace;        
00275 } PSGetFileListSuite6;
00276 
00277 //-------------------------------------------------------------------------------
00278 //  C++ wrapper.
00279 //-------------------------------------------------------------------------------
00280 #ifdef __cplusplus
00281 }
00282 #endif
00283 
00284 //-------------------------------------------------------------------------------
00285 #endif  // PIGetFileListSuite
00286