blob: 26efe57e0fdbe97b1e694b648b7ef5734631e371 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#! /usr/bin/env ruby
# -*- coding: UTF-8 -*-
#
require 'ffi'
#
module FFIHelper
#
def attach_fcts fcts
fcts.each do |func|
begin
attach_function *func
rescue Object => e
puts "Could not attach #{func} #{e.message}"
end
end
end
#
def create_aliases l, fcts
module_eval <<-code
class << self
#{fcts.map{ |f,a,r| "alias #{f.to_s[l..-1]} #{f}" }.join "\n" }
end
code
end
#
def self.extended mod
mod.module_eval <<-EOF
typedef :pointer, :int_p
typedef :pointer, :uint_p
typedef :pointer, :void_p
typedef :pointer, :uchar_p
typedef :pointer, :string_array
#
typedef :pointer, :eina_list_p
EOF
end
end
#
# EOF
|