Initialize callbacks with better error messages
							parent
							
								
									c2b56cf342
								
							
						
					
					
						commit
						10f87aa9ce
					
				|  | @ -145,51 +145,54 @@ namespace SharpPhysFS | ||||||
|     [UnmanagedFunctionPointer(CallingConvention.Cdecl)] |     [UnmanagedFunctionPointer(CallingConvention.Cdecl)] | ||||||
|     public delegate void FnEnumerateFilesCallback(string s, EnumFilesCallback c, IntPtr ptr); |     public delegate void FnEnumerateFilesCallback(string s, EnumFilesCallback c, IntPtr ptr); | ||||||
| 
 | 
 | ||||||
|     public static FnGetLinkedVersion PHYSFS_getLinkedVersion; |     // When the callbacks are not yet initialized, instead of throwing a | ||||||
|     public static FnInit PHYSFS_init; |     // null reference exception we explain the problem. | ||||||
|     public static FnDeinit PHYSFS_deinit; |     // I think it makes for a more graceful failure. | ||||||
|     public static FnSupportedArchiveTypes PHYSFS_supportedArchiveTypes; |     public static FnGetLinkedVersion PHYSFS_getLinkedVersion             = (ref Version v) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnFreeList PHYSFS_freeList; |     public static FnInit PHYSFS_init                                     = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnGetLastError PHYSFS_getLastError; |     public static FnDeinit PHYSFS_deinit                                 = () => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnGetLastError PHYSFS_getDirSeparator; |     public static FnSupportedArchiveTypes PHYSFS_supportedArchiveTypes   = () => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnPermitSymbolicLinks PHYSFS_permitSymbolicLinks; |     public static FnFreeList PHYSFS_freeList                             = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnSupportedArchiveTypes PHYSFS_getCdRomDirs; |     public static FnGetLastError PHYSFS_getLastError                     = () => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnGetLastError PHYSFS_getBaseDir; |     public static FnGetLastError PHYSFS_getDirSeparator                  = () => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnGetLastError PHYSFS_getUserDir; |     public static FnPermitSymbolicLinks PHYSFS_permitSymbolicLinks       = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnGetLastError PHYSFS_getWriteDir; |     public static FnSupportedArchiveTypes PHYSFS_getCdRomDirs            = () => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnSetWriteDir PHYSFS_setWriteDir; |     public static FnGetLastError PHYSFS_getBaseDir                       = () => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnAddToSearchPath PHYSFS_addToSearchPath; |     public static FnGetLastError PHYSFS_getUserDir                       = () => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnSetWriteDir PHYSFS_removeFromSearchPath; |     public static FnGetLastError PHYSFS_getWriteDir                      = () => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnSupportedArchiveTypes PHYSFS_getSearchPath; |     public static FnSetWriteDir PHYSFS_setWriteDir                       = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnSetSaneConfig PHYSFS_setSaneConfig; |     public static FnAddToSearchPath PHYSFS_addToSearchPath               = (a, b) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnSetWriteDir PHYSFS_mkdir; |     public static FnSetWriteDir PHYSFS_removeFromSearchPath              = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnSetWriteDir PHYSFS_delete; |     public static FnSupportedArchiveTypes PHYSFS_getSearchPath           = () => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnEnumerateFiles PHYSFS_getRealDir; |     public static FnSetSaneConfig PHYSFS_setSaneConfig                   = (a, b, c, d, e) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnEnumerateFiles PHYSFS_enumerateFiles; |     public static FnSetWriteDir PHYSFS_mkdir                             = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnSetWriteDir PHYSFS_exists; |     public static FnSetWriteDir PHYSFS_delete                            = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnSetWriteDir PHYSFS_isDirectory; |     public static FnEnumerateFiles PHYSFS_getRealDir                     = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnSetWriteDir PHYSFS_isSymbolicLink; |     public static FnEnumerateFiles PHYSFS_enumerateFiles                 = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnGetLastModTime PHYSFS_getLastModTime; |     public static FnSetWriteDir PHYSFS_exists                            = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnEnumerateFiles PHYSFS_openWrite; |     public static FnSetWriteDir PHYSFS_isDirectory                       = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnEnumerateFiles PHYSFS_openAppend; |     public static FnSetWriteDir PHYSFS_isSymbolicLink                    = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnEnumerateFiles PHYSFS_openRead; |     public static FnGetLastModTime PHYSFS_getLastModTime                 = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnClose PHYSFS_close; |     public static FnEnumerateFiles PHYSFS_openWrite                      = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnRead PHYSFS_read; |     public static FnEnumerateFiles PHYSFS_openAppend                     = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnRead PHYSFS_write; |     public static FnEnumerateFiles PHYSFS_openRead                       = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnClose PHYSFS_eof; |     public static FnClose PHYSFS_close                                   = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnTell PHYSFS_tell; |     public static FnRead PHYSFS_read                                     = (a, b, c, d) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnSeek PHYSFS_seek; |     public static FnRead PHYSFS_write                                    = (a, b, c,d ) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnFileLength PHYSFS_fileLength; |     public static FnClose PHYSFS_eof                                     = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnSeek PHYSFS_setBuffer; |     public static FnTell PHYSFS_tell                                     = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnClose PHYSFS_flush; |     public static FnSeek PHYSFS_seek                                     = (a, b) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnDeinit PHYSFS_isInit; |     public static FnFileLength PHYSFS_fileLength                         = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnDeinit PHYSFS_symbolicLinksPermitted; |     public static FnSeek PHYSFS_setBuffer                                = (a, b) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnSetAllocator PHYSFS_setAllocator; |     public static FnClose PHYSFS_flush                                   = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnMount PHYSFS_mount; |     public static FnDeinit PHYSFS_isInit                                 = () => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnEnumerateFiles PHYSFS_getMountPoint; |     public static FnDeinit PHYSFS_symbolicLinksPermitted                 = () => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnGetCdRomDirsCallback PHYSFS_getCdRomDirsCallback; |     public static FnSetAllocator PHYSFS_setAllocator                     = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnGetCdRomDirsCallback PHYSFS_getSearchPathCallback; |     public static FnMount PHYSFS_mount                                   = (a, b, c) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|     public static FnEnumerateFilesCallback PHYSFS_enumerateFilesCallback; |     public static FnEnumerateFiles PHYSFS_getMountPoint                  = (a) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|  |     public static FnGetCdRomDirsCallback PHYSFS_getCdRomDirsCallback     = (a, b) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|  |     public static FnGetCdRomDirsCallback PHYSFS_getSearchPathCallback    = (a, b) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
|  |     public static FnEnumerateFilesCallback PHYSFS_enumerateFilesCallback = (a, b, c) => { throw new InvalidOperationException("Callbacks not initialized yet"); }; | ||||||
| 
 | 
 | ||||||
|     public static void SetUpInterop() |     public static void SetUpInterop() | ||||||
|     { |     { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue