Module: SWIPL::CFFI

Extended by:
FFI::Library
Defined in:
lib/swipl/cffi.rb

Class Method Summary collapse

Class Method Details

.initObject



31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/swipl/cffi.rb', line 31

def self.init
	return if @is_initialized

	libptr = ::FFI::MemoryPointer.from_string( ENV["SWI_LIB"] ) 
	plargv = ::FFI::MemoryPointer.new( :pointer, 1 )
	plargv.write_pointer( libptr )

	value = PL_initialise( 1, plargv )
	if value != 1
		raise "SWI failed to initialize"
	end

	@is_initialized = true
end