summaryrefslogtreecommitdiffstats
path: root/lib/efl/eet.rb
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2011-04-12 21:23:29 +0200
committerJérémy Zurcher <jeremy@asynk.ch>2011-04-12 21:23:29 +0200
commit3a2eecb5bcf35120fcf3a9dcf1637459c99a6abe (patch)
tree591d46a4a6f0bcfbc200e9c4a92508ee26974eb8 /lib/efl/eet.rb
parent131839bfb26fadebc32ce86c10784e2ca2647bbc (diff)
downloadffi-efl-3a2eecb5bcf35120fcf3a9dcf1637459c99a6abe.zip
ffi-efl-3a2eecb5bcf35120fcf3a9dcf1637459c99a6abe.tar.gz
rename to ffi-e17
Diffstat (limited to 'lib/efl/eet.rb')
-rw-r--r--lib/efl/eet.rb131
1 files changed, 0 insertions, 131 deletions
diff --git a/lib/efl/eet.rb b/lib/efl/eet.rb
deleted file mode 100644
index 1cfba91..0000000
--- a/lib/efl/eet.rb
+++ /dev/null
@@ -1,131 +0,0 @@
-#! /usr/bin/env ruby
-# -*- coding: UTF-8 -*-
-#
-require 'ffi'
-#
-module EFL
- module EET
- #
- extend FFI::Library
- #
- ffi_lib 'eet'
- [
- [ :eet_init, [], :int],
- [ :eet_shutdown, [], :int],
- [ :eet_clearcache, [], :void],
- [ :eet_open, [:string, :int], :pointer],
- [ :eet_mode_get, [:pointer], :int],
- [ :eet_close, [:pointer], :int],
- [ :eet_write, [:pointer, :string, :pointer, :int, :int], :int],
- [ :eet_read, [:pointer, :string, :pointer], :pointer],
- ].each do |func|
- begin
- attach_function *func
- rescue Object => e
- puts "Could not attach #{func} #{e.message}"
- end
- end
- #
- FILE_MODE_INVALID = -1
- FILE_MODE_READ = 0
- FILE_MODE_WRITE = 1
- FILE_MODE_READ_WRITE = 2
- #
- class << self
- #
- alias init eet_init
- alias shutdown eet_shutdown
- alias clearcache eet_clearcache
- #
- def open path, mode=FILE_MODE_READ, &blk
- if blk
- f = eet_open path, mode
- raise Exception.new "Unable to open file #{path}" if f.nil?
- yield EETFile.new f
- eet_close f
- else
- f = eet_open path, mode
- return EETFile.new f unless f.nil?
- end
- end
- end
- #
- class EETFile
- #
- def initialize ptr
- @ptr=ptr
- end
- private :initialize
- #
- def close
- EET.eet_close @ptr
- @ptr=nil
- end
- #
- def mode_get
- EET.eet_mode_get @ptr
- end
- #
- def write key, data, compress=false
- EET.eet_write @ptr, key, FFI::MemoryPointer.from_string(data), data.bytesize, ( compress ? 1 : 0 )
- end
- #
- def read key
- ptr = FFI::MemoryPointer.new(:int)
- data = EET.eet_read @ptr, key, ptr
- s = ptr.read_int
- ptr.free
- return nil if s==0
- ( data.null? ? nil : data.read_string[0..s-1] )
- end
- #
- end
- #
- class Error < Exception
- ERROR_NONE=0
- ERROR_BAD_OBJECT=1
- ERROR_EMPTY=2
- ERROR_NOT_WRITABLE=3
- ERROR_OUT_OF_MEMORY=4
- ERROR_WRITE_ERROR=5
- ERROR_WRITE_ERROR_FILE_TOO_BIG=6
- ERROR_WRITE_ERROR_IO_ERROR=7
- ERROR_WRITE_ERROR_OUT_OF_SPACE=8
- ERROR_WRITE_ERROR_FILE_CLOSED=9
- ERROR_MMAP_FAILED=10
- ERROR_X509_ENCODING_FAILED=11
- ERROR_SIGNATURE_FAILED=12
- ERROR_INVALID_SIGNATURE=13
- ERROR_NOT_SIGNED=14
- ERROR_NOT_IMPLEMENTED=15
- ERROR_PRNG_NOT_SEEDED=16
- ERROR_ENCRYPT_FAILED=17
- ERROR_DECRYPT_FAILED=18
- #
- MSGS = {
- 0=>'No error, it\'s all fine!',
- 1=>' Given object or handle is NULL or invalid',
- 2=>'There was nothing to do',
- 3=>'Could not write to file or fine is #FILE_MODE_READ',
- 4=>'Could not allocate memory',
- 5=>'Failed to write data to destination',
- 6=>'Failed to write file since it is too big',
- 7=>'Failed to write since generic Input/Output error',
- 8=>'Failed to write due out of space',
- 9=>'Failed to write because file was closed',
- 10=>'Could not mmap file',
- 11=>'Could not encode using X509',
- 12=>'Could not validate signature',
- 13=>'Signature is invalid',
- 14=>'File or contents are not signed',
- 15=>'Function is not implemented',
- 16=>'Could not introduce random seed',
- 17=>'Could not encrypt contents',
- 18=>'Could not decrypt contents',
- }
- #
- end
- end
-end
-#
-# EOF