00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef __SPFilesV3__
00021 #define __SPFilesV3__
00022 
00023 
00024 
00025 
00026 
00027 
00028 #include "SPFiles.h"
00029 
00030 #include "SPHeaderBegin.h"
00031 
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif
00035     
00036 #define kSPRuntimeFileListV3                    ((SPFileListRefV3)NULL)
00037     
00038 #ifdef WIN_ENV
00039 
00040         typedef struct SPPlatformFileInfoV3 {
00042                 ai::uint32 attributes;
00044                 ai::uint32 lowCreationTime;
00046                 ai::uint32 highCreationTime;
00048                 ai::uint32 lowModificationTime;
00050                 ai::uint32 highModificationTime;
00052                 const char* extension;
00053         } SPPlatformFileInfoV3;
00054     
00055     typedef SPPlatformFileSpecification SPPlatformFileReferenceV3;
00056     
00057     typedef SPFileRef SPFileRefV3;
00058     
00059     typedef SPFileListRef SPFileListRefV3;
00060     
00061     typedef SPFileListIteratorRef SPFileListIteratorRefV3;
00062 #else
00063     typedef SPPlatformFileInfo SPPlatformFileInfoV3;
00064     
00065     typedef SPPlatformFileReference SPPlatformFileReferenceV3;
00066     
00067     typedef struct SPFileV3 * SPFileRefV3;
00068     
00069     typedef struct SPFileListV3 *SPFileListRefV3;
00070     
00071     typedef struct SPFileListIteratorV3 *SPFileListIteratorRefV3;
00072 #endif
00073     
00074     
00075     
00076         
00077 
00078 
00079 
00080 
00097     typedef struct SPFilesSuiteV3 {
00104         SPAPI SPErr (*AllocateFileList)( SPFileListRefV3 *fileList );
00108         SPAPI SPErr (*FreeFileList)( SPFileListRefV3 fileList );
00109         
00117         
00118 
00119 
00120 
00121 
00122                 SPAPI SPErr (*AddFiles)( SPFileListRefV3 fileList, const SPPlatformFileReferenceV3 *file );
00123         
00124         
00131         SPAPI SPErr (*NewFileListIterator)( SPFileListRefV3 fileList, SPFileListIteratorRefV3 *iter );
00137         SPAPI SPErr (*NextFile)( SPFileListIteratorRefV3 iter, SPFileRefV3 *file );
00141         SPAPI SPErr (*DeleteFileListIterator)( SPFileListIteratorRefV3 iter );
00142         
00147         SPAPI SPErr (*GetFileSpecification)( SPFileRefV3 file, SPPlatformFileSpecification *fileSpec ); 
00148         
00149         SPAPI SPErr (*GetFileReference)( SPFileRefV3 file, SPPlatformFileReferenceV3 *fileSpec );
00150         
00155         SPAPI SPErr (*GetFileInfo)( SPFileRefV3 file, SPPlatformFileInfoV3 *info );
00156         
00161         SPAPI SPErr (*GetIsAPlugin)( SPFileRefV3 file, SPBoolean *isAPlugin );
00166         SPAPI SPErr (*SetIsAPlugin)( SPFileRefV3 file, SPBoolean isAPlugin );
00167         
00175         SPAPI SPErr (*GetFilePropertyList)( SPFileRefV3 file, SPPropertyListRef *propertList );
00180         SPAPI SPErr (*SetFilePropertyList)( SPFileRefV3 file, SPPropertyListRef propertList );
00181         
00182     } SPFilesSuiteV3;
00183     
00184     
00185     SPAPI SPErr SPAllocateFileListV3( SPFileListRefV3 *fileList );
00186     SPAPI SPErr SPFreeFileListV3( SPFileListRefV3 fileList );
00187     SPAPI SPErr SPNewFileListIteratorV3( SPFileListRefV3 fileList, SPFileListIteratorRefV3 *iter );
00188     SPAPI SPErr SPDeleteFileListIteratorV3( SPFileListIteratorRefV3 iter );
00189     SPAPI SPErr SPGetFileInfoV3( SPFileRefV3 file, SPPlatformFileInfoV3 *info );
00190     SPAPI SPErr SPAddFilesV3( SPFileListRefV3 fileList, const SPPlatformFileReferenceV3 *file );
00191     SPAPI SPErr SPGetFileReferenceV3( SPFileRefV3 file, SPPlatformFileReferenceV3 *fileSpec ); 
00192     
00193     SPAPI SPErr SPGetFileSpecificationV3( SPFileRefV3 file, SPPlatformFileSpecification *fileSpec );
00194     SPAPI SPErr SPNextFileV3( SPFileListIteratorRefV3 iter, SPFileRefV3 *file );
00195     
00196     SPAPI SPErr SPGetIsAPluginV3( SPFileRefV3 file, SPBoolean *isAPlugin );
00197     SPAPI SPErr SPSetIsAPluginV3( SPFileRefV3 file, SPBoolean isAPlugin );
00198     SPAPI SPErr SPGetFilePropertyListV3( SPFileRefV3 file, SPPropertyListRef *propertyList );
00199     SPAPI SPErr SPSetFilePropertyListV3( SPFileRefV3 file, SPPropertyListRef propertyList );
00200 #ifdef __cplusplus
00201 }
00202 #endif
00203 
00204 #include "SPHeaderEnd.h"
00205 
00206 #endif //SPFilesV3