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
00116 SPAPI SPErr (*AddFiles)( SPFileListRefV3 fileList, const SPPlatformFileReferenceV3 *file );
00117
00118
00125 SPAPI SPErr (*NewFileListIterator)( SPFileListRefV3 fileList, SPFileListIteratorRefV3 *iter );
00131 SPAPI SPErr (*NextFile)( SPFileListIteratorRefV3 iter, SPFileRefV3 *file );
00135 SPAPI SPErr (*DeleteFileListIterator)( SPFileListIteratorRefV3 iter );
00136
00141 SPAPI SPErr (*GetFileSpecification)( SPFileRefV3 file, SPPlatformFileSpecification *fileSpec );
00142
00143 SPAPI SPErr (*GetFileReference)( SPFileRefV3 file, SPPlatformFileReferenceV3 *fileSpec );
00144
00149 SPAPI SPErr (*GetFileInfo)( SPFileRefV3 file, SPPlatformFileInfoV3 *info );
00150
00155 SPAPI SPErr (*GetIsAPlugin)( SPFileRefV3 file, SPBoolean *isAPlugin );
00160 SPAPI SPErr (*SetIsAPlugin)( SPFileRefV3 file, SPBoolean isAPlugin );
00161
00169 SPAPI SPErr (*GetFilePropertyList)( SPFileRefV3 file, SPPropertyListRef *propertList );
00174 SPAPI SPErr (*SetFilePropertyList)( SPFileRefV3 file, SPPropertyListRef propertList );
00175
00176 } SPFilesSuiteV3;
00177
00178
00179 SPAPI SPErr SPAllocateFileListV3( SPFileListRefV3 *fileList );
00180 SPAPI SPErr SPFreeFileListV3( SPFileListRefV3 fileList );
00181 SPAPI SPErr SPNewFileListIteratorV3( SPFileListRefV3 fileList, SPFileListIteratorRefV3 *iter );
00182 SPAPI SPErr SPDeleteFileListIteratorV3( SPFileListIteratorRefV3 iter );
00183 SPAPI SPErr SPGetFileInfoV3( SPFileRefV3 file, SPPlatformFileInfoV3 *info );
00184 SPAPI SPErr SPAddFilesV3( SPFileListRefV3 fileList, const SPPlatformFileReferenceV3 *file );
00185 SPAPI SPErr SPGetFileReferenceV3( SPFileRefV3 file, SPPlatformFileReferenceV3 *fileSpec );
00186
00187 SPAPI SPErr SPGetFileSpecificationV3( SPFileRefV3 file, SPPlatformFileSpecification *fileSpec );
00188 SPAPI SPErr SPNextFileV3( SPFileListIteratorRefV3 iter, SPFileRefV3 *file );
00189
00190 SPAPI SPErr SPGetIsAPluginV3( SPFileRefV3 file, SPBoolean *isAPlugin );
00191 SPAPI SPErr SPSetIsAPluginV3( SPFileRefV3 file, SPBoolean isAPlugin );
00192 SPAPI SPErr SPGetFilePropertyListV3( SPFileRefV3 file, SPPropertyListRef *propertyList );
00193 SPAPI SPErr SPSetFilePropertyListV3( SPFileRefV3 file, SPPropertyListRef propertyList );
00194 #ifdef __cplusplus
00195 }
00196 #endif
00197
00198 #include "SPHeaderEnd.h"
00199
00200 #endif //SPFilesV3