ffi-gdal 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/History.md +5 -0
- data/lib/ffi-gdal/major_object.rb +5 -0
- data/lib/ffi-gdal/raster_band.rb +5 -1
- data/lib/ffi/gdal.rb +74 -47
- data/lib/ffi/gdal/cpl_conv.rb +124 -131
- data/lib/ffi/gdal/cpl_error.rb +71 -75
- data/lib/ffi/gdal/cpl_string.rb +101 -108
- data/lib/ffi/gdal/cpl_vsi.rb +95 -102
- data/lib/ffi/gdal/ogr_api.rb +16 -23
- data/lib/ffi/gdal/ogr_core.rb +191 -195
- data/lib/ffi/gdal/ogr_srs_api.rb +37 -41
- data/lib/ffi/gdal/version.rb +1 -1
- data/spec/ffi-gdal/integration/raster_band_info_spec.rb +2 -0
- metadata +2 -2
    
        data/lib/ffi/gdal/cpl_error.rb
    CHANGED
    
    | @@ -3,89 +3,85 @@ require_relative '../../ext/cpl_error_symbols' | |
| 3 3 |  | 
| 4 4 | 
             
            module FFI
         | 
| 5 5 | 
             
              module GDAL
         | 
| 6 | 
            -
                module CPLError
         | 
| 7 | 
            -
                  extend FFI::Library
         | 
| 8 | 
            -
                  ffi_lib 'gdal'
         | 
| 9 6 |  | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 7 | 
            +
                #------------------------------------------------------------------------
         | 
| 8 | 
            +
                # Defines
         | 
| 9 | 
            +
                #------------------------------------------------------------------------
         | 
| 10 | 
            +
                None = 0
         | 
| 11 | 
            +
                AppDefined = 1
         | 
| 12 | 
            +
                OutOfMemory = 2
         | 
| 13 | 
            +
                FileIO = 3
         | 
| 14 | 
            +
                OpenFailed = 4
         | 
| 15 | 
            +
                IllegalArg = 5
         | 
| 16 | 
            +
                NotSupported = 6
         | 
| 17 | 
            +
                AssertionFailed = 7
         | 
| 18 | 
            +
                NoWriteAccess = 8
         | 
| 19 | 
            +
                UserInterrupt = 9
         | 
| 20 | 
            +
                ObjectNull = 10
         | 
| 24 21 |  | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 22 | 
            +
                def cpla_assert(exp)
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
                def validate_pointer_err(ce_failure)
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
                def validate_pointer0(ptr, func)
         | 
| 27 | 
            +
                end
         | 
| 28 | 
            +
                def validate_pointer1(ptr, func, rc)
         | 
| 29 | 
            +
                end
         | 
| 33 30 |  | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 31 | 
            +
                #------------------------------------------------------------------------
         | 
| 32 | 
            +
                # Enums
         | 
| 33 | 
            +
                #------------------------------------------------------------------------
         | 
| 34 | 
            +
                CPLErr = enum :CE_None, 0,
         | 
| 35 | 
            +
                  :CE_Debug, 1,
         | 
| 36 | 
            +
                  :CE_Warning, 2,
         | 
| 37 | 
            +
                  :CE_Failure, 3,
         | 
| 38 | 
            +
                  :CE_Fatal, 4
         | 
| 42 39 |  | 
| 43 | 
            -
             | 
| 40 | 
            +
                callback :CPLErrorHandler, [CPLErr, :int, :string], :void
         | 
| 44 41 |  | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
             | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 42 | 
            +
                #------------------------------------------------------------------------
         | 
| 43 | 
            +
                # Functions
         | 
| 44 | 
            +
                #------------------------------------------------------------------------
         | 
| 45 | 
            +
                attach_function :CPLError, [CPLErr, :int, :string], :void
         | 
| 46 | 
            +
                attach_function :CPLErrorV, [CPLErr, :int, :string, :pointer], :void
         | 
| 47 | 
            +
                #attach_function :CPLEmergencyError, [:void], :void
         | 
| 48 | 
            +
                attach_function :CPLErrorReset, [:void], :void
         | 
| 52 49 |  | 
| 53 | 
            -
             | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 50 | 
            +
                attach_function :CPLGetLastErrorNo, [:void], :int
         | 
| 51 | 
            +
                attach_function :CPLGetLastErrorType, [:void], CPLErr
         | 
| 52 | 
            +
                attach_function :CPLGetLastErrorMsg, [:void], :string
         | 
| 56 53 |  | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 65 | 
            -
             | 
| 66 | 
            -
             | 
| 67 | 
            -
             | 
| 68 | 
            -
             | 
| 69 | 
            -
             | 
| 70 | 
            -
             | 
| 71 | 
            -
             | 
| 54 | 
            +
                #attach_function :CPLGetErrorHandlerUserData, [:void], :pointer
         | 
| 55 | 
            +
                #attach_function :CPLErrorSetState,
         | 
| 56 | 
            +
                #[CPLErr, :int, :string],
         | 
| 57 | 
            +
                #:void
         | 
| 58 | 
            +
                #attach_function :CPLCleanupErrorMutex, [:void], :void
         | 
| 59 | 
            +
                attach_function :CPLLoggingErrorHandler,
         | 
| 60 | 
            +
                  [CPLErr, :int, :string],
         | 
| 61 | 
            +
                  :void
         | 
| 62 | 
            +
                attach_function :CPLDefaultErrorHandler,
         | 
| 63 | 
            +
                  [CPLErr, :int, :string],
         | 
| 64 | 
            +
                  :void
         | 
| 65 | 
            +
                attach_function :CPLQuietErrorHandler,
         | 
| 66 | 
            +
                  [CPLErr, :int, :string],
         | 
| 67 | 
            +
                  :void
         | 
| 68 | 
            +
                #attach_function :CPLTurnFailureIntoWarning, [:int], :void
         | 
| 72 69 |  | 
| 73 | 
            -
             | 
| 74 | 
            -
             | 
| 75 | 
            -
             | 
| 76 | 
            -
             | 
| 77 | 
            -
             | 
| 78 | 
            -
             | 
| 79 | 
            -
             | 
| 80 | 
            -
             | 
| 81 | 
            -
             | 
| 82 | 
            -
             | 
| 83 | 
            -
             | 
| 84 | 
            -
             | 
| 85 | 
            -
             | 
| 70 | 
            +
                attach_function :CPLSetErrorHandler,
         | 
| 71 | 
            +
                  [:CPLErrorHandler],
         | 
| 72 | 
            +
                  :CPLErrorHandler
         | 
| 73 | 
            +
                #attach_function :CPLSetErrorHandlerEx,
         | 
| 74 | 
            +
                #  [:CPLErrorHandler, :pointer],
         | 
| 75 | 
            +
                #  :CPLErrorHandler
         | 
| 76 | 
            +
                attach_function :CPLPushErrorHandler,
         | 
| 77 | 
            +
                  [:CPLErrorHandler],
         | 
| 78 | 
            +
                  :void
         | 
| 79 | 
            +
                #attach_function :CPLPushErrorHandlerEx,
         | 
| 80 | 
            +
                #  [:CPLErrorHandler, :pointer],
         | 
| 81 | 
            +
                #  :void
         | 
| 82 | 
            +
                attach_function :CPLPopErrorHandler, [:void], :void
         | 
| 86 83 |  | 
| 87 | 
            -
             | 
| 88 | 
            -
             | 
| 89 | 
            -
                end
         | 
| 84 | 
            +
                attach_function :CPLDebug, [:string, :string], :void
         | 
| 85 | 
            +
                attach_function :_CPLAssert, [:string, :string, :int], :void
         | 
| 90 86 | 
             
              end
         | 
| 91 87 | 
             
            end
         | 
    
        data/lib/ffi/gdal/cpl_string.rb
    CHANGED
    
    | @@ -1,113 +1,106 @@ | |
| 1 | 
            -
            require 'ffi'
         | 
| 2 | 
            -
             | 
| 3 | 
            -
             | 
| 4 1 | 
             
            module FFI
         | 
| 5 2 | 
             
              module GDAL
         | 
| 6 | 
            -
                module CPLString
         | 
| 7 | 
            -
                  extend FFI::Library
         | 
| 8 | 
            -
                  ffi_lib 'gdal'
         | 
| 9 | 
            -
             | 
| 10 | 
            -
                  #------------------------------------------------------------------------
         | 
| 11 | 
            -
                  # Defines
         | 
| 12 | 
            -
                  #------------------------------------------------------------------------
         | 
| 13 | 
            -
                  CSLT_HONOURSTRINGS    = 0x0001
         | 
| 14 | 
            -
                  CSLT_ALLOWEMPTYTOKENS = 0x0002
         | 
| 15 | 
            -
                  CSLT_PRESERVEQUOTES   = 0x0004
         | 
| 16 | 
            -
                  CSLT_PRESERVEESCAPES  = 0x0008
         | 
| 17 | 
            -
                  CSLT_STRIPLEADSPACES  = 0x0010
         | 
| 18 | 
            -
                  CSLT_STRIPENDSPACES   = 0x0020
         | 
| 19 | 
            -
             | 
| 20 | 
            -
                  CPLES_BackslashQuotable = 0
         | 
| 21 | 
            -
                  CPLES_XML               = 1
         | 
| 22 | 
            -
                  CPLES_URL               = 2
         | 
| 23 | 
            -
                  CPLES_SQL               = 3
         | 
| 24 | 
            -
                  CPLES_CSV               = 4
         | 
| 25 | 
            -
                  CPLES_XML_BUT_QUOTES    = 5
         | 
| 26 | 
            -
             | 
| 27 | 
            -
                  CPL_ENC_LOCALE = ''
         | 
| 28 | 
            -
                  CPL_ENC_UTF8 = 'UTF-8'
         | 
| 29 | 
            -
                  CPL_ENC_UTF16 = 'UTF-16'
         | 
| 30 | 
            -
                  CPL_ENC_UCS2 = 'UCS-2'
         | 
| 31 | 
            -
                  CPL_ENC_UCS4 = 'UCS-4'
         | 
| 32 | 
            -
                  CPL_ENC_ASCII = 'ASCII'
         | 
| 33 | 
            -
                  CPL_ENC_ISO8859_1 = 'ISO-8859-1'
         | 
| 34 | 
            -
             | 
| 35 | 
            -
                  typedef :string, :CPLString
         | 
| 36 | 
            -
             | 
| 37 | 
            -
                  #------------------------------------------------------------------------
         | 
| 38 | 
            -
                  # Enums
         | 
| 39 | 
            -
                  #------------------------------------------------------------------------
         | 
| 40 | 
            -
                  CPLValueType = enum :CPL_VALUE_STRING,
         | 
| 41 | 
            -
                    :CPL_VALUE_REAL,
         | 
| 42 | 
            -
                    :CPL_VALUE_INTEGER
         | 
| 43 | 
            -
             | 
| 44 | 
            -
                  #------------------------------------------------------------------------
         | 
| 45 | 
            -
                  # Functions
         | 
| 46 | 
            -
                  #------------------------------------------------------------------------
         | 
| 47 | 
            -
                  attach_function :CSLAddString, %i[pointer string], :pointer
         | 
| 48 | 
            -
                  attach_function :CSLCount, %i[pointer], :int
         | 
| 49 | 
            -
                  attach_function :CSLGetField, %i[pointer int], :string
         | 
| 50 | 
            -
                  attach_function :CSLDestroy, %i[pointer], :void
         | 
| 51 | 
            -
                  attach_function :CSLDuplicate, %i[pointer], :pointer
         | 
| 52 | 
            -
                  attach_function :CSLMerge, %i[pointer pointer], :pointer
         | 
| 53 | 
            -
                  attach_function :CSLTokenizeString, %i[string], :pointer
         | 
| 54 | 
            -
                  attach_function :CSLTokenizeStringComplex,
         | 
| 55 | 
            -
                    %i[string string int int],
         | 
| 56 | 
            -
                    :pointer
         | 
| 57 | 
            -
                  attach_function :CSLTokenizeString2, %i[string string int], :pointer
         | 
| 58 | 
            -
                  attach_function :CSLPrint, %i[pointer pointer], :int
         | 
| 59 | 
            -
                  attach_function :CSLLoad, %i[string], :pointer
         | 
| 60 | 
            -
                  attach_function :CSLLoad2, %i[string int int pointer], :pointer
         | 
| 61 | 
            -
                  attach_function :CSLSave, %i[pointer string], :int
         | 
| 62 | 
            -
                  attach_function :CSLInsertStrings, %i[pointer int pointer], :pointer
         | 
| 63 | 
            -
                  attach_function :CSLInsertString, %i[pointer int string], :pointer
         | 
| 64 | 
            -
                  attach_function :CSLRemoveStrings, %i[pointer int int pointer], :pointer
         | 
| 65 | 
            -
                  attach_function :CSLFindString, %i[pointer string], :int
         | 
| 66 | 
            -
                  #attach_function :CSLFindStringCaseSensitive, %i[pointer string], :int
         | 
| 67 | 
            -
                  attach_function :CSLPartialFindString, %i[pointer string], :int
         | 
| 68 | 
            -
                  attach_function :CSLFindName, %i[pointer string], :int
         | 
| 69 | 
            -
             | 
| 70 | 
            -
                  attach_function :CSLTestBoolean, %i[string], :int
         | 
| 71 | 
            -
                  attach_function :CSLFetchBoolean, %i[pointer string int], :int
         | 
| 72 | 
            -
             | 
| 73 | 
            -
                  attach_function :CPLSPrintf, %i[string varargs], :string
         | 
| 74 | 
            -
                  attach_function :CSLAppendPrintf, %i[pointer string varargs], :pointer
         | 
| 75 | 
            -
                  attach_function :CPLVASPrintf, %i[pointer string varargs], :pointer
         | 
| 76 | 
            -
                  attach_function :CPLParseNameValue, %i[string pointer], :string
         | 
| 77 | 
            -
             | 
| 78 | 
            -
                  attach_function :CSLFetchNameValue, %i[pointer string], :string
         | 
| 79 | 
            -
                  attach_function :CSLFetchNameValueDef, %i[pointer string string], :string
         | 
| 80 | 
            -
                  attach_function :CSLFetchNameValueMultiple, %i[pointer string], :pointer
         | 
| 81 | 
            -
                  attach_function :CSLAddNameValue, %i[pointer string string], :pointer
         | 
| 82 | 
            -
                  attach_function :CSLSetNameValue, %i[pointer string string], :pointer
         | 
| 83 | 
            -
                  attach_function :CSLSetNameValueSeparator, %i[pointer string], :void
         | 
| 84 | 
            -
             | 
| 85 | 
            -
                  attach_function :CPLEscapeString, %i[string int int], :string
         | 
| 86 | 
            -
                  attach_function :CPLUnescapeString, %i[string pointer int], :string
         | 
| 87 | 
            -
                  attach_function :CPLBinaryToHex, %i[int pointer], :string
         | 
| 88 | 
            -
                  attach_function :CPLHexToBinary, %i[string pointer], :pointer
         | 
| 89 | 
            -
                  attach_function :CPLBase64Encode, %i[int pointer], :string
         | 
| 90 | 
            -
                  attach_function :CPLBase64DecodeInPlace, %i[pointer], :int
         | 
| 91 | 
            -
             | 
| 92 | 
            -
                  attach_function :CPLGetValueType, %i[string], CPLValueType
         | 
| 93 | 
            -
                  attach_function :CPLStrlcpy, %i[string string size_t], :size_t
         | 
| 94 | 
            -
                  attach_function :CPLStrlcat, %i[string string size_t], :size_t
         | 
| 95 | 
            -
                  attach_function :CPLStrnlen, %i[string size_t], :size_t
         | 
| 96 | 
            -
                  attach_function :CPLEncodingCharSize, %i[string], :int
         | 
| 97 | 
            -
             | 
| 98 | 
            -
                  attach_function :CPLClearRecodeWarningFlags, [], :void
         | 
| 99 | 
            -
                  attach_function :CPLRecode, %i[string string string], :string
         | 
| 100 | 
            -
                  attach_function :CPLRecodeFromWChar, %i[string string string], :string
         | 
| 101 | 
            -
                  attach_function :CPLRecodeToWChar, %i[string string string], :string
         | 
| 102 | 
            -
             | 
| 103 | 
            -
                  attach_function :CPLIsUTF8, %i[string int], :int
         | 
| 104 | 
            -
                  attach_function :CPLForceToASCII, %i[string int char], :string
         | 
| 105 | 
            -
                  attach_function :CPLStrlenUTF8, %i[string], :int
         | 
| 106 3 |  | 
| 107 | 
            -
             | 
| 108 | 
            -
             | 
| 109 | 
            -
             | 
| 110 | 
            -
             | 
| 111 | 
            -
                 | 
| 4 | 
            +
                #------------------------------------------------------------------------
         | 
| 5 | 
            +
                # Defines
         | 
| 6 | 
            +
                #------------------------------------------------------------------------
         | 
| 7 | 
            +
                CSLT_HONOURSTRINGS    = 0x0001
         | 
| 8 | 
            +
                CSLT_ALLOWEMPTYTOKENS = 0x0002
         | 
| 9 | 
            +
                CSLT_PRESERVEQUOTES   = 0x0004
         | 
| 10 | 
            +
                CSLT_PRESERVEESCAPES  = 0x0008
         | 
| 11 | 
            +
                CSLT_STRIPLEADSPACES  = 0x0010
         | 
| 12 | 
            +
                CSLT_STRIPENDSPACES   = 0x0020
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                CPLES_BackslashQuotable = 0
         | 
| 15 | 
            +
                CPLES_XML               = 1
         | 
| 16 | 
            +
                CPLES_URL               = 2
         | 
| 17 | 
            +
                CPLES_SQL               = 3
         | 
| 18 | 
            +
                CPLES_CSV               = 4
         | 
| 19 | 
            +
                CPLES_XML_BUT_QUOTES    = 5
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                CPL_ENC_LOCALE = ''
         | 
| 22 | 
            +
                CPL_ENC_UTF8 = 'UTF-8'
         | 
| 23 | 
            +
                CPL_ENC_UTF16 = 'UTF-16'
         | 
| 24 | 
            +
                CPL_ENC_UCS2 = 'UCS-2'
         | 
| 25 | 
            +
                CPL_ENC_UCS4 = 'UCS-4'
         | 
| 26 | 
            +
                CPL_ENC_ASCII = 'ASCII'
         | 
| 27 | 
            +
                CPL_ENC_ISO8859_1 = 'ISO-8859-1'
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                typedef :string, :CPLString
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                #------------------------------------------------------------------------
         | 
| 32 | 
            +
                # Enums
         | 
| 33 | 
            +
                #------------------------------------------------------------------------
         | 
| 34 | 
            +
                CPLValueType = enum :CPL_VALUE_STRING,
         | 
| 35 | 
            +
                  :CPL_VALUE_REAL,
         | 
| 36 | 
            +
                  :CPL_VALUE_INTEGER
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                #------------------------------------------------------------------------
         | 
| 39 | 
            +
                # Functions
         | 
| 40 | 
            +
                #------------------------------------------------------------------------
         | 
| 41 | 
            +
                attach_function :CSLAddString, %i[pointer string], :pointer
         | 
| 42 | 
            +
                attach_function :CSLCount, %i[pointer], :int
         | 
| 43 | 
            +
                attach_function :CSLGetField, %i[pointer int], :string
         | 
| 44 | 
            +
                attach_function :CSLDestroy, %i[pointer], :void
         | 
| 45 | 
            +
                attach_function :CSLDuplicate, %i[pointer], :pointer
         | 
| 46 | 
            +
                attach_function :CSLMerge, %i[pointer pointer], :pointer
         | 
| 47 | 
            +
                attach_function :CSLTokenizeString, %i[string], :pointer
         | 
| 48 | 
            +
                attach_function :CSLTokenizeStringComplex,
         | 
| 49 | 
            +
                  %i[string string int int],
         | 
| 50 | 
            +
                  :pointer
         | 
| 51 | 
            +
                attach_function :CSLTokenizeString2, %i[string string int], :pointer
         | 
| 52 | 
            +
                attach_function :CSLPrint, %i[pointer pointer], :int
         | 
| 53 | 
            +
                attach_function :CSLLoad, %i[string], :pointer
         | 
| 54 | 
            +
                attach_function :CSLLoad2, %i[string int int pointer], :pointer
         | 
| 55 | 
            +
                attach_function :CSLSave, %i[pointer string], :int
         | 
| 56 | 
            +
                attach_function :CSLInsertStrings, %i[pointer int pointer], :pointer
         | 
| 57 | 
            +
                attach_function :CSLInsertString, %i[pointer int string], :pointer
         | 
| 58 | 
            +
                attach_function :CSLRemoveStrings, %i[pointer int int pointer], :pointer
         | 
| 59 | 
            +
                attach_function :CSLFindString, %i[pointer string], :int
         | 
| 60 | 
            +
                #attach_function :CSLFindStringCaseSensitive, %i[pointer string], :int
         | 
| 61 | 
            +
                attach_function :CSLPartialFindString, %i[pointer string], :int
         | 
| 62 | 
            +
                attach_function :CSLFindName, %i[pointer string], :int
         | 
| 63 | 
            +
             | 
| 64 | 
            +
                attach_function :CSLTestBoolean, %i[string], :int
         | 
| 65 | 
            +
                attach_function :CSLFetchBoolean, %i[pointer string int], :int
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                attach_function :CPLSPrintf, %i[string varargs], :string
         | 
| 68 | 
            +
                attach_function :CSLAppendPrintf, %i[pointer string varargs], :pointer
         | 
| 69 | 
            +
                attach_function :CPLVASPrintf, %i[pointer string varargs], :pointer
         | 
| 70 | 
            +
                attach_function :CPLParseNameValue, %i[string pointer], :string
         | 
| 71 | 
            +
             | 
| 72 | 
            +
                attach_function :CSLFetchNameValue, %i[pointer string], :string
         | 
| 73 | 
            +
                attach_function :CSLFetchNameValueDef, %i[pointer string string], :string
         | 
| 74 | 
            +
                attach_function :CSLFetchNameValueMultiple, %i[pointer string], :pointer
         | 
| 75 | 
            +
                attach_function :CSLAddNameValue, %i[pointer string string], :pointer
         | 
| 76 | 
            +
                attach_function :CSLSetNameValue, %i[pointer string string], :pointer
         | 
| 77 | 
            +
                attach_function :CSLSetNameValueSeparator, %i[pointer string], :void
         | 
| 78 | 
            +
             | 
| 79 | 
            +
                attach_function :CPLEscapeString, %i[string int int], :string
         | 
| 80 | 
            +
                attach_function :CPLUnescapeString, %i[string pointer int], :string
         | 
| 81 | 
            +
                attach_function :CPLBinaryToHex, %i[int pointer], :string
         | 
| 82 | 
            +
                attach_function :CPLHexToBinary, %i[string pointer], :pointer
         | 
| 83 | 
            +
                #attach_function :CPLBase64Encode, %i[int pointer], :string
         | 
| 84 | 
            +
                #attach_function :CPLBase64DecodeInPlace, %i[pointer], :int
         | 
| 85 | 
            +
             | 
| 86 | 
            +
                attach_function :CPLGetValueType, %i[string], CPLValueType
         | 
| 87 | 
            +
                attach_function :CPLStrlcpy, %i[string string size_t], :size_t
         | 
| 88 | 
            +
                attach_function :CPLStrlcat, %i[string string size_t], :size_t
         | 
| 89 | 
            +
                attach_function :CPLStrnlen, %i[string size_t], :size_t
         | 
| 90 | 
            +
                #attach_function :CPLEncodingCharSize, %i[string], :int
         | 
| 91 | 
            +
             | 
| 92 | 
            +
                #attach_function :CPLClearRecodeWarningFlags, [], :void
         | 
| 93 | 
            +
                attach_function :CPLRecode, %i[string string string], :string
         | 
| 94 | 
            +
                attach_function :CPLRecodeFromWChar, %i[string string string], :string
         | 
| 95 | 
            +
                attach_function :CPLRecodeToWChar, %i[string string string], :string
         | 
| 96 | 
            +
             | 
| 97 | 
            +
                attach_function :CPLIsUTF8, %i[string int], :int
         | 
| 98 | 
            +
                attach_function :CPLForceToASCII, %i[string int char], :string
         | 
| 99 | 
            +
                #attach_function :CPLStrlenUTF8, %i[string], :int
         | 
| 100 | 
            +
             | 
| 101 | 
            +
                #attach_function :CPLOPrintf, %i[string varargs], :CPLString
         | 
| 102 | 
            +
                #attach_function :CPLOvPrintf, %i[string varargs], :CPLString
         | 
| 103 | 
            +
                #attach_function :CPLURLGetValue, %i[string string], :CPLString
         | 
| 104 | 
            +
                #attach_function :CPLURLAddKVP, %i[string string string], :CPLString
         | 
| 112 105 | 
             
              end
         | 
| 113 106 | 
             
            end
         | 
    
        data/lib/ffi/gdal/cpl_vsi.rb
    CHANGED
    
    | @@ -1,119 +1,112 @@ | |
| 1 | 
            -
            require 'ffi'
         | 
| 2 | 
            -
             | 
| 3 | 
            -
             | 
| 4 1 | 
             
            module FFI
         | 
| 5 2 | 
             
              module GDAL
         | 
| 6 | 
            -
                module CPLVSI
         | 
| 7 | 
            -
                  extend ::FFI::Library
         | 
| 8 | 
            -
                  ffi_lib 'gdal'
         | 
| 9 3 |  | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 4 | 
            +
                #------------------------------------------------------------------------
         | 
| 5 | 
            +
                # Defines
         | 
| 6 | 
            +
                #------------------------------------------------------------------------
         | 
| 7 | 
            +
                VSI_STAT_EXISTS_FLAG = 0x1
         | 
| 8 | 
            +
                VSI_STAT_NATURE_FLAG = 0x2
         | 
| 9 | 
            +
                VSI_STAT_SIZE_FLAG = 0x4
         | 
| 16 10 |  | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 11 | 
            +
                #------------------------------------------------------------------------
         | 
| 12 | 
            +
                # Typedefs
         | 
| 13 | 
            +
                #------------------------------------------------------------------------
         | 
| 14 | 
            +
                # Dupes from cpl_conv.rb.  Can't figure out how to get these defined
         | 
| 15 | 
            +
                # from just including the module...
         | 
| 16 | 
            +
                typedef :long_long, :GIntBig
         | 
| 17 | 
            +
                typedef :ulong_long, :GUIntBig
         | 
| 24 18 |  | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 19 | 
            +
                typedef :GUIntBig, :vsi_l_offset
         | 
| 20 | 
            +
                callback :VSIWriteFunction, %i[pointer size_t size_t pointer], :pointer
         | 
| 27 21 |  | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 22 | 
            +
                #------------------------------------------------------------------------
         | 
| 23 | 
            +
                # Functions
         | 
| 24 | 
            +
                #------------------------------------------------------------------------
         | 
| 25 | 
            +
                attach_function :VSIFOpen, %i[string string], :pointer
         | 
| 26 | 
            +
                attach_function :VSIFClose, %i[pointer], :int
         | 
| 27 | 
            +
                attach_function :VSIFSeek, %i[pointer long int], :int
         | 
| 28 | 
            +
                attach_function :VSIFTell, %i[pointer], :long
         | 
| 29 | 
            +
                attach_function :VSIRewind, %i[pointer], :void
         | 
| 30 | 
            +
                attach_function :VSIFFlush, %i[pointer], :void
         | 
| 31 | 
            +
                attach_function :VSIFRead, %i[pointer size_t size_t pointer], :size_t
         | 
| 32 | 
            +
                attach_function :VSIFWrite, %i[pointer size_t size_t pointer], :size_t
         | 
| 33 | 
            +
                attach_function :VSIFGets, %i[pointer int pointer], :string
         | 
| 34 | 
            +
                attach_function :VSIFPuts, %i[string pointer], :int
         | 
| 35 | 
            +
                attach_function :VSIFPrintf, %i[pointer string varargs], :int
         | 
| 36 | 
            +
                attach_function :VSIFGetc, %i[pointer], :int
         | 
| 37 | 
            +
                attach_function :VSIFPutc, %i[int pointer], :int
         | 
| 44 38 |  | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 39 | 
            +
                attach_function :VSIUngetc, %i[int pointer], :int
         | 
| 40 | 
            +
                attach_function :VSIFEof, %i[pointer], :int
         | 
| 41 | 
            +
                attach_function :VSIStat, %i[string pointer], :int
         | 
| 48 42 |  | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 52 | 
            -
             | 
| 53 | 
            -
             | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 65 | 
            -
             | 
| 66 | 
            -
             | 
| 67 | 
            -
             | 
| 68 | 
            -
             | 
| 43 | 
            +
                attach_function :VSIFOpenL, %i[string string], :pointer
         | 
| 44 | 
            +
                attach_function :VSIFCloseL, %i[pointer], :int
         | 
| 45 | 
            +
                attach_function :VSIFSeekL, %i[pointer vsi_l_offset int], :int
         | 
| 46 | 
            +
                attach_function :VSIFTellL, %i[pointer], :vsi_l_offset
         | 
| 47 | 
            +
                attach_function :VSIRewindL, %i[pointer], :void
         | 
| 48 | 
            +
                attach_function :VSIFReadL, %i[pointer size_t size_t pointer], :size_t
         | 
| 49 | 
            +
                #attach_function :VSIFReadMultiRangeL,
         | 
| 50 | 
            +
                #  %i[int pointer pointer pointer pointer],
         | 
| 51 | 
            +
                #  :int
         | 
| 52 | 
            +
                attach_function :VSIFWriteL, %i[pointer size_t size_t pointer], :size_t
         | 
| 53 | 
            +
                attach_function :VSIFEofL, %i[pointer], :int
         | 
| 54 | 
            +
                #attach_function :VSIFTruncateL, %i[pointer vsi_l_offset], :int
         | 
| 55 | 
            +
                attach_function :VSIFFlushL, %i[pointer], :int
         | 
| 56 | 
            +
                attach_function :VSIFPrintfL, %i[pointer string varargs], :int
         | 
| 57 | 
            +
                attach_function :VSIFPutcL, %i[int pointer], :int
         | 
| 58 | 
            +
                #attach_function :VSIIngestFile,
         | 
| 59 | 
            +
                #  %i[pointer string pointer pointer GIntBig],
         | 
| 60 | 
            +
                #  :int
         | 
| 61 | 
            +
                attach_function :VSIStatL, %i[string pointer], :int
         | 
| 62 | 
            +
                #attach_function :VSIStatExL, %i[string pointer int], :int
         | 
| 69 63 |  | 
| 70 | 
            -
             | 
| 71 | 
            -
             | 
| 64 | 
            +
                #attach_function :VSIIsCaseSensitiveFS, %i[string], :int
         | 
| 65 | 
            +
                #attach_function :VSIFGetNativeFileDescriptorL, %i[pointer], :pointer
         | 
| 72 66 |  | 
| 73 | 
            -
             | 
| 74 | 
            -
             | 
| 75 | 
            -
             | 
| 76 | 
            -
             | 
| 77 | 
            -
             | 
| 78 | 
            -
             | 
| 79 | 
            -
             | 
| 67 | 
            +
                attach_function :VSICalloc, %i[size_t size_t], :pointer
         | 
| 68 | 
            +
                attach_function :VSIMalloc, %i[size_t], :pointer
         | 
| 69 | 
            +
                attach_function :VSIFree, %i[pointer], :void
         | 
| 70 | 
            +
                attach_function :VSIRealloc, %i[pointer size_t], :pointer
         | 
| 71 | 
            +
                attach_function :VSIStrdup, %i[string], :string
         | 
| 72 | 
            +
                attach_function :VSIMalloc2, %i[size_t size_t], :pointer
         | 
| 73 | 
            +
                attach_function :VSIMalloc3, %i[size_t size_t size_t], :pointer
         | 
| 80 74 |  | 
| 81 | 
            -
             | 
| 82 | 
            -
             | 
| 83 | 
            -
             | 
| 84 | 
            -
             | 
| 85 | 
            -
             | 
| 86 | 
            -
             | 
| 75 | 
            +
                attach_function :VSIReadDir, %i[string], :pointer
         | 
| 76 | 
            +
                #attach_function :VSIReadDirRecursive, %i[string], :pointer
         | 
| 77 | 
            +
                attach_function :VSIMkdir, %i[string long], :int
         | 
| 78 | 
            +
                attach_function :VSIRmdir, %i[string], :int
         | 
| 79 | 
            +
                attach_function :VSIUnlink, %i[string], :int
         | 
| 80 | 
            +
                attach_function :VSIRename, %i[string string], :int
         | 
| 87 81 |  | 
| 88 | 
            -
             | 
| 82 | 
            +
                attach_function :VSIStrerror, %i[int], :string
         | 
| 89 83 |  | 
| 90 | 
            -
             | 
| 91 | 
            -
             | 
| 92 | 
            -
             | 
| 93 | 
            -
             | 
| 94 | 
            -
             | 
| 95 | 
            -
             | 
| 96 | 
            -
             | 
| 97 | 
            -
             | 
| 98 | 
            -
             | 
| 99 | 
            -
             | 
| 100 | 
            -
             | 
| 101 | 
            -
             | 
| 84 | 
            +
                attach_function :VSIInstallMemFileHandler, [], :void
         | 
| 85 | 
            +
                attach_function :VSIInstallLargeFileHandler, [], :void
         | 
| 86 | 
            +
                attach_function :VSIInstallSubFileHandler, [], :void
         | 
| 87 | 
            +
                #attach_function :VSIInstallCurlFileHandler, [], :void
         | 
| 88 | 
            +
                #attach_function :VSIInstallCurlStreamingFileHandler, [], :void
         | 
| 89 | 
            +
                #attach_function :VSIInstallGZipFileHandler, [], :void
         | 
| 90 | 
            +
                #attach_function :VSIInstallZipFileHandler, [], :void
         | 
| 91 | 
            +
                #attach_function :VSIInstallStdinHandler, [], :void
         | 
| 92 | 
            +
                #attach_function :VSIInstallStdoutHandler, [], :void
         | 
| 93 | 
            +
                #attach_function :VSIInstallSparseFileHandler, [], :void
         | 
| 94 | 
            +
                #attach_function :VSIInstallTarFileHandler, [], :void
         | 
| 95 | 
            +
                #attach_function :VSICleanupFileManager, [], :void
         | 
| 102 96 |  | 
| 103 | 
            -
             | 
| 104 | 
            -
             | 
| 105 | 
            -
             | 
| 106 | 
            -
             | 
| 107 | 
            -
             | 
| 108 | 
            -
             | 
| 109 | 
            -
             | 
| 110 | 
            -
             | 
| 111 | 
            -
             | 
| 97 | 
            +
                attach_function :VSIFileFromMemBuffer,
         | 
| 98 | 
            +
                  %i[string pointer vsi_l_offset int],
         | 
| 99 | 
            +
                  :pointer
         | 
| 100 | 
            +
                attach_function :VSIGetMemFileBuffer,
         | 
| 101 | 
            +
                  %i[string pointer int],
         | 
| 102 | 
            +
                  :pointer
         | 
| 103 | 
            +
                # attach_function :VSIStdoutSetRedirection,
         | 
| 104 | 
            +
                #   %i[VSIWriteFunction pointer],
         | 
| 105 | 
            +
                #   :pointer
         | 
| 112 106 |  | 
| 113 | 
            -
             | 
| 114 | 
            -
             | 
| 115 | 
            -
             | 
| 116 | 
            -
             | 
| 117 | 
            -
                end
         | 
| 107 | 
            +
                attach_function :VSITime, %i[pointer], :ulong
         | 
| 108 | 
            +
                attach_function :VSICTime, %i[ulong], :string
         | 
| 109 | 
            +
                attach_function :VSIGMTime, %i[pointer pointer], :pointer
         | 
| 110 | 
            +
                attach_function :VSILocalTime, %i[pointer pointer], :pointer
         | 
| 118 111 | 
             
              end
         | 
| 119 112 | 
             
            end
         |