PIAliasSuite.h
Go to the documentation of this file.
00001 // ADOBE SYSTEMS INCORPORATED
00002 // Copyright  2003 - 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 //-------------------------------------------------------------------
00047 #pragma once
00048 
00049 #ifndef __PIAliasSuite__
00050 #define __PIAliasSuite__
00051 
00052 //-------------------------------------------------------------------------------
00053 //  Includes.
00054 //-------------------------------------------------------------------------------
00055 #include "PIGeneral.h"
00056 
00057 //-------------------------------------------------------------------------------
00058 //  C++ wrapper.
00059 //-------------------------------------------------------------------------------
00060 #ifdef __cplusplus
00061 extern "C" {
00062 #endif
00063 
00064 //-------------------------------------------------------------------------------
00065 //  UI Alias suite.
00066 //-------------------------------------------------------------------------------
00068 #define kPSAliasSuite               "Photoshop Alias Utility Suite"
00069 
00070 
00071 //-------------------------------------------------------------------------------
00072 //  
00073 //-------------------------------------------------------------------------------
00074 
00075 #if MSWindows
00076 typedef struct AliasRecord* AliasPtr;
00077 typedef AliasPtr* AliasHandle;
00078 #endif
00079 
00094 typedef SPAPI SPErr         (*MacNewAliasFromCStringProc) (const char *cStringPathToFile, AliasHandle *alias  );
00095 
00103 typedef SPAPI SPErr         (*MacNewAliasFromFSRefProc)( const void *fsRefToFile, AliasHandle *alias  );
00104     
00113 typedef SPAPI SPErr         (*MacNewAliasFromNameAndFSRefProc)( const void *cfStringFilename, const void *fsRefToParentDir, AliasHandle *alias );
00114     
00121 typedef SPAPI SPErr         (*WinNewAliasFromWidePathProc)( const uint16 *filePathAsUTF16, AliasHandle *alias );
00122 
00129 typedef SPAPI SPErr         (*WinNewAliasFromPIDLProc)( const void *pidlToFile, AliasHandle *alias );
00130 
00137 typedef SPAPI SPErr         (*NewAliasFromCloudPathProc) ( const char *cloudPath, AliasHandle *alias  );
00138 
00145 typedef  SPAPI SPErr        (*IsCloudFileProc) ( AliasHandle alias, SPBoolean* isCloud );
00146  
00155 typedef  SPAPI SPErr        (*CloudReferenceFromAliasProc) ( AliasHandle alias, ASZString* reference );
00156  
00165 typedef  SPAPI SPErr        (*CloudPathFromAliasProc) ( AliasHandle alias, ASZString* reference );
00166  
00172 typedef  SPAPI SPErr        (*NewAliasFromCloudReferenceProc) ( const char *reference, AliasHandle *alias );
00173 
00179 typedef SPAPI SPErr         (*UnicodePathToAliasProc)( const uint16 * unicodePath, AliasHandle* alias );
00180 
00186 typedef SPAPI SPErr         (*AliasToUnicodePathProc)( const AliasHandle alias, uint16 * unicodePath, uint32 length );
00187 
00188 
00189 
00190 
00191 //-------------------------------------------------------------------------------
00192 //   Alias suite versions 1 & 2.
00193 //-------------------------------------------------------------------------------
00194 
00196 #define kPSAliasSuiteVersion1       1
00197 #define kPSAliasSuiteVersion2       2
00198 #define kPSAliasSuiteVersion        kPSAliasSuiteVersion2   // Current version.
00199 
00201 typedef struct 
00202     {
00203         // kPSAliasSuiteVersion1
00204         MacNewAliasFromCStringProc MacNewAliasFromCString;              
00205         MacNewAliasFromFSRefProc MacNewAliasFromFSRef;                  
00206         MacNewAliasFromNameAndFSRefProc MacNewAliasFromNameAndFSRef;    
00207         WinNewAliasFromWidePathProc WinNewAliasFromWidePath;            
00208         WinNewAliasFromPIDLProc WinNewAliasFromPIDL;                    
00209     } PSAliasSuite1;
00210 
00211 typedef struct 
00212     {
00213         // kPSAliasSuiteVersion1
00214         MacNewAliasFromCStringProc MacNewAliasFromCString;              
00215         MacNewAliasFromFSRefProc MacNewAliasFromFSRef;                  
00216         MacNewAliasFromNameAndFSRefProc MacNewAliasFromNameAndFSRef;    
00217         WinNewAliasFromWidePathProc WinNewAliasFromWidePath;            
00218         WinNewAliasFromPIDLProc WinNewAliasFromPIDL;                    
00220         // kPSAliasSuiteVersion2
00221         NewAliasFromCloudPathProc NewAliasFromCloudPath;                
00222         IsCloudFileProc IsCloudFile;                                    
00223         CloudReferenceFromAliasProc CloudReferenceFromAlias;            
00224         CloudPathFromAliasProc CloudPathFromAlias;                      
00225         NewAliasFromCloudReferenceProc NewAliasFromCloudReference;      
00226         UnicodePathToAliasProc UnicodePathToAlias;                      
00227         AliasToUnicodePathProc AliasToUnicodePath;                      
00228     } PSAliasSuite2;
00229 
00230 typedef PSAliasSuite2 PSAliasSuite;
00231 
00232 //-------------------------------------------------------------------------------
00233 //  C++ wrapper.
00234 //-------------------------------------------------------------------------------
00235 #ifdef __cplusplus
00236 }
00237 #endif
00238 
00240 #endif // __PIAliasSuite__
00241