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