ffi 1.15.5-java → 1.16.0-java

Sign up to get free protection for your applications and to get access to all the features.
data/lib/ffi/variadic.rb CHANGED
@@ -54,16 +54,27 @@ module FFI
54
54
  invoker = self
55
55
  params = "*args"
56
56
  call = "call"
57
- mod.module_eval <<-code
58
- @@#{mname} = invoker
59
- def self.#{mname}(#{params})
60
- @@#{mname}.#{call}(#{params})
61
- end
62
- def #{mname}(#{params})
63
- @@#{mname}.#{call}(#{params})
64
- end
57
+ mname = mname.to_sym
58
+ mod.module_eval <<-code, __FILE__, __LINE__
59
+ @ffi_functions = {} unless defined?(@ffi_functions)
60
+ @ffi_functions[#{mname.inspect}] = invoker
61
+
62
+ def self.#{mname}(#{params})
63
+ @ffi_functions[#{mname.inspect}].#{call}(#{params})
64
+ end
65
+
66
+ define_method(#{mname.inspect}, &method(#{mname.inspect}))
65
67
  code
66
68
  invoker
67
69
  end
70
+
71
+ # Retrieve Array of parameter types
72
+ #
73
+ # This method returns an Array of FFI types accepted as function parameters.
74
+ #
75
+ # @return [Array<FFI::Type>]
76
+ def param_types
77
+ [*@fixed, Type::Builtin::VARARGS]
78
+ end
68
79
  end
69
80
  end
data/lib/ffi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module FFI
2
- VERSION = '1.15.5'
2
+ VERSION = '1.16.0'
3
3
  end
data.tar.gz.sig CHANGED
@@ -1,3 +1,2 @@
1
- �!'�r�*(eN<DB��tBHc�6�|5��� ���p&B��ke���K��uX��Y��|�&��=@�I�ޯ��J?�2M3la�ˍꂱ!����{Z#�:rv��3C�@�0M�\KǨwjKF|FjQOw7)p����{2wKtcQ�
2
- ��q��/1kܢ�qF��t9Y��FE&���,9Y�Z_��e,JF�+1�P+�� 1d̕
3
- ��d������IW/x�j�Rn>�Հ8�?uP�^F%A
1
+ bɺ���Dq��E'fלϛJ{���:8m��ye������e������0GtIE��?��|}���%$8E.�@�Dc7}r9iW��k1�3Z7��cp�ĆIKdB��_����!?��-c�RHN��E�V��Wir������:T
2
+ '}h�|�Ǥ�0|�+�L5�1�U��%[^׮F���c��cJb���C��#���:����ҏHiH��T��K_
metadata CHANGED
@@ -1,35 +1,39 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.15.5
4
+ version: 1.16.0
5
5
  platform: java
6
6
  authors:
7
7
  - Wayne Meissner
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDLjCCAhagAwIBAgIBCTANBgkqhkiG9w0BAQsFADA9MQ4wDAYDVQQDDAVrYW5p
14
- czEXMBUGCgmSJomT8ixkARkWB2NvbWNhcmQxEjAQBgoJkiaJk/IsZAEZFgJkZTAe
15
- Fw0yMTA0MDcxMzQzNTZaFw0yMjA0MDcxMzQzNTZaMD0xDjAMBgNVBAMMBWthbmlz
16
- MRcwFQYKCZImiZPyLGQBGRYHY29tY2FyZDESMBAGCgmSJomT8ixkARkWAmRlMIIB
17
- IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApop+rNmg35bzRugZ21VMGqI6
18
- HGzPLO4VHYncWn/xmgPU/ZMcZdfj6MzIaZJ/czXyt4eHpBk1r8QOV3gBXnRXEjVW
19
- 9xi+EdVOkTV2/AVFKThcbTAQGiF/bT1n2M+B1GTybRzMg6hyhOJeGPqIhLfJEpxn
20
- lJi4+ENAVT4MpqHEAGB8yFoPC0GqiOHQsdHxQV3P3c2OZqG+yJey74QtwA2tLcLn
21
- Q53c63+VLGsOjODl1yPn/2ejyq8qWu6ahfTxiIlSar2UbwtaQGBDFdb2CXgEufXT
22
- L7oaPxlmj+Q2oLOfOnInd2Oxop59HoJCQPsg8f921J43NCQGA8VHK6paxIRDLQID
23
- AQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUvgTdT7fe
24
- x17ugO3IOsjEJwW7KP4wDQYJKoZIhvcNAQELBQADggEBAGCQhS4TBqUG1bSY5gw5
25
- emj2GNePHFNlXTZ/W0/7FlnXQz/LyBZeYmy4AIHcdY0w9xsu3bPNGk8kLBkHgK3Y
26
- l/yWiUK0NYRI3K3yI2EoTfrHPDT8XIgBPeUUGv5Nje+SUYMQWsfYWKo3+vLEG64a
27
- n1xP+1+g2Za39WCS5LwnDWMiIk47NnxR9yXErKd0Iau/Q/IarYsHFX6kWWmlMoln
28
- W1lMomCcOJFwIPnsy6aqq7YfS0YcqyHjcvs1h5k3zPaIRWhoPlQivniMVMa3Txh+
29
- NEF/4atY64rruzkyfxGEcrFFOHJIkWnWQjRGaiZdgULxf7ira2gEFvV/ZtamqJWF
30
- c+I=
13
+ MIIEBDCCAmygAwIBAgIBAjANBgkqhkiG9w0BAQsFADAoMSYwJAYDVQQDDB1sYXJz
14
+ L0RDPWdyZWl6LXJlaW5zZG9yZi9EQz1kZTAeFw0yMzAyMTUxNzQxMTVaFw0yNDAy
15
+ MTUxNzQxMTVaMCgxJjAkBgNVBAMMHWxhcnMvREM9Z3JlaXotcmVpbnNkb3JmL0RD
16
+ PWRlMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwum6Y1KznfpzXOT/
17
+ mZgJTBbxZuuZF49Fq3K0WA67YBzNlDv95qzSp7V/7Ek3NCcnT7G+2kSuhNo1FhdN
18
+ eSDO/moYebZNAcu3iqLsuzuULXPLuoU0GsMnVMqV9DZPh7cQHE5EBZ7hlzDBK7k/
19
+ 8nBMvR0mHo77kIkapHc26UzVq/G0nKLfDsIHXVylto3PjzOumjG6GhmFN4r3cP6e
20
+ SDfl1FSeRYVpt4kmQULz/zdSaOH3AjAq7PM2Z91iGwQvoUXMANH2v89OWjQO/NHe
21
+ JMNDFsmHK/6Ji4Kk48Z3TyscHQnipAID5GhS1oD21/WePdj7GhmbF5gBzkV5uepd
22
+ eJQPgWGwrQW/Z2oPjRuJrRofzWfrMWqbOahj9uth6WSxhNexUtbjk6P8emmXOJi5
23
+ chQPnWX+N3Gj+jjYxqTFdwT7Mj3pv1VHa+aNUbqSPpvJeDyxRIuo9hvzDaBHb/Cg
24
+ 9qRVcm8a96n4t7y2lrX1oookY6bkBaxWOMtWlqIprq8JZXM9AgMBAAGjOTA3MAkG
25
+ A1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQ4h1tIyvdUWtMI739xMzTR
26
+ 7EfMFzANBgkqhkiG9w0BAQsFAAOCAYEAQAcuTARfiiVUVx5KURICfdTM2Kd7LhOn
27
+ qt3Vs4ANGvT226LEp3RnQ+kWGQYMRb3cw3LY2TNQRPlnZxE994mgjBscN4fbjXqO
28
+ T0JbVpeszRZa5k1goggbnWT7CO7yU7WcHh13DaSubY7HUpAJn2xz9w2stxQfN/EE
29
+ VMlnDJ1P7mUHAvpK8X9j9h7Xlc1niViT18MYwux8mboVTryrLr+clATUkkM3yBF0
30
+ RV+c34ReW5eXO9Tr6aKTxh/pFC9ggDT6jOxuJgSvG8HWJzVf4NDvMavIas4KYjiI
31
+ BU6CpWaG5NxicqL3BERi52U43HV08br+LNVpb7Rekgve/PJuSFnAR015bhSRXe5U
32
+ vBioD1qW2ZW9tXg8Ww2IfDaO5a1So5Xby51rhNlyo6ATj2NkuLWZUKPKHhAz0TKm
33
+ Dzx/gFSOrRoCt2mXNgrmcAfr386AfaMvCh7cXqdxZwmVo7ILZCYXck0pajvubsDd
34
+ NUIIFkVXvd1odFyK9LF1RFAtxn/iAmpx
31
35
  -----END CERTIFICATE-----
32
- date: 2022-01-10 00:00:00.000000000 Z
36
+ date: 2023-09-23 00:00:00.000000000 Z
33
37
  dependencies:
34
38
  - !ruby/object:Gem::Dependency
35
39
  name: rake
@@ -51,14 +55,14 @@ dependencies:
51
55
  requirements:
52
56
  - - "~>"
53
57
  - !ruby/object:Gem::Version
54
- version: '1.0'
58
+ version: '1.1'
55
59
  type: :development
56
60
  prerelease: false
57
61
  version_requirements: !ruby/object:Gem::Requirement
58
62
  requirements:
59
63
  - - "~>"
60
64
  - !ruby/object:Gem::Version
61
- version: '1.0'
65
+ version: '1.1'
62
66
  - !ruby/object:Gem::Dependency
63
67
  name: rake-compiler-dock
64
68
  requirement: !ruby/object:Gem::Requirement
@@ -106,12 +110,16 @@ files:
106
110
  - lib/ffi/autopointer.rb
107
111
  - lib/ffi/buffer.rb
108
112
  - lib/ffi/callback.rb
113
+ - lib/ffi/compat.rb
109
114
  - lib/ffi/data_converter.rb
115
+ - lib/ffi/dynamic_library.rb
110
116
  - lib/ffi/enum.rb
111
117
  - lib/ffi/errno.rb
112
118
  - lib/ffi/ffi.rb
119
+ - lib/ffi/function.rb
113
120
  - lib/ffi/io.rb
114
121
  - lib/ffi/library.rb
122
+ - lib/ffi/library_path.rb
115
123
  - lib/ffi/managedstruct.rb
116
124
  - lib/ffi/memorypointer.rb
117
125
  - lib/ffi/platform.rb
@@ -120,9 +128,12 @@ files:
120
128
  - lib/ffi/platform/aarch64-freebsd12/types.conf
121
129
  - lib/ffi/platform/aarch64-linux/types.conf
122
130
  - lib/ffi/platform/aarch64-openbsd/types.conf
131
+ - lib/ffi/platform/aarch64-windows/types.conf
123
132
  - lib/ffi/platform/arm-freebsd/types.conf
124
133
  - lib/ffi/platform/arm-freebsd12/types.conf
125
134
  - lib/ffi/platform/arm-linux/types.conf
135
+ - lib/ffi/platform/hppa1.1-linux/types.conf
136
+ - lib/ffi/platform/hppa2.0-linux/types.conf
126
137
  - lib/ffi/platform/i386-cygwin/types.conf
127
138
  - lib/ffi/platform/i386-darwin/types.conf
128
139
  - lib/ffi/platform/i386-freebsd/types.conf
@@ -134,6 +145,7 @@ files:
134
145
  - lib/ffi/platform/i386-solaris/types.conf
135
146
  - lib/ffi/platform/i386-windows/types.conf
136
147
  - lib/ffi/platform/ia64-linux/types.conf
148
+ - lib/ffi/platform/loongarch64-linux/types.conf
137
149
  - lib/ffi/platform/mips-linux/types.conf
138
150
  - lib/ffi/platform/mips64-linux/types.conf
139
151
  - lib/ffi/platform/mips64el-linux/types.conf
@@ -153,9 +165,10 @@ files:
153
165
  - lib/ffi/platform/s390x-linux/types.conf
154
166
  - lib/ffi/platform/sparc-linux/types.conf
155
167
  - lib/ffi/platform/sparc-solaris/types.conf
156
- - lib/ffi/platform/sparc64-linux/types.conf
168
+ - lib/ffi/platform/sparcv9-linux/types.conf
157
169
  - lib/ffi/platform/sparcv9-openbsd/types.conf
158
170
  - lib/ffi/platform/sparcv9-solaris/types.conf
171
+ - lib/ffi/platform/sw_64-linux/types.conf
159
172
  - lib/ffi/platform/x86_64-cygwin/types.conf
160
173
  - lib/ffi/platform/x86_64-darwin/types.conf
161
174
  - lib/ffi/platform/x86_64-dragonflybsd/types.conf
@@ -200,7 +213,7 @@ metadata:
200
213
  wiki_uri: https://github.com/ffi/ffi/wiki
201
214
  source_code_uri: https://github.com/ffi/ffi/
202
215
  mailing_list_uri: http://groups.google.com/group/ruby-ffi
203
- post_install_message:
216
+ post_install_message:
204
217
  rdoc_options:
205
218
  - "--exclude=ext/ffi_c/.*\\.o$"
206
219
  - "--exclude=ffi_c\\.(bundle|so)$"
@@ -210,15 +223,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
210
223
  requirements:
211
224
  - - ">="
212
225
  - !ruby/object:Gem::Version
213
- version: '2.3'
226
+ version: '2.5'
214
227
  required_rubygems_version: !ruby/object:Gem::Requirement
215
228
  requirements:
216
229
  - - ">="
217
230
  - !ruby/object:Gem::Version
218
231
  version: '0'
219
232
  requirements: []
220
- rubygems_version: 3.3.3
221
- signing_key:
233
+ rubygems_version: 3.4.6
234
+ signing_key:
222
235
  specification_version: 4
223
236
  summary: Ruby FFI
224
237
  test_files: []
metadata.gz.sig CHANGED
Binary file