ffi-efl 0.0.15 → 0.0.16
Sign up to get free protection for your applications and to get access to all the features.
- data/Changelog +8 -1
- data/README.md +9 -7
- data/Rakefile +6 -1
- data/lib/efl.rb +1 -1
- data/lib/efl/native/efreet.rb +46 -0
- data/lib/efl/native/efreet_base.rb +51 -0
- data/lib/efl/native/efreet_desktop.rb +112 -0
- data/lib/efl/native/efreet_icon.rb +77 -0
- data/lib/efl/native/efreet_ini.rb +68 -0
- data/lib/efl/native/efreet_menu.rb +61 -0
- data/lib/efl/native/efreet_mime.rb +52 -0
- data/lib/efl/native/efreet_trash.rb +48 -0
- data/lib/efl/native/efreet_uri.rb +42 -0
- data/lib/efl/native/efreet_utils.rb +61 -0
- data/lib/efl/native/eina_file.rb +91 -0
- data/lib/efl/native/eio.rb +221 -0
- data/lib/efl/native/embryo.rb +129 -0
- data/tools/extract-api.sh +14 -1
- data/tools/genruby.rb +44 -81
- metadata +22 -24
data/Changelog
CHANGED
@@ -1,6 +1,13 @@
|
|
1
|
-
2012-
|
1
|
+
2012-12-21 Jérémy Zurcher <jeremy@asynk.ch>
|
2
|
+
* release 0.0.16
|
3
|
+
* add eina_file native binding
|
4
|
+
* add eio native binding
|
5
|
+
* add efreet native binding
|
6
|
+
|
7
|
+
2012-11-29 Jérémy Zurcher <jeremy@asynk.ch>
|
2
8
|
* release 0.0.15
|
3
9
|
* add ethumb ethumb_client and ethumb_plugin
|
10
|
+
* spec fixes and various API updates
|
4
11
|
|
5
12
|
2012-07-10 Jérémy Zurcher <jeremy@asynk.ch>
|
6
13
|
* release 0.0.14
|
data/README.md
CHANGED
@@ -4,12 +4,13 @@
|
|
4
4
|
|
5
5
|
## DESCRIPTION:
|
6
6
|
|
7
|
-
A ruby
|
7
|
+
A ruby ffi binding to [efl](http://www.enlightenment.org/p.php?p=docs&l=en) libraries (Enlightenment Foundation Libraries).
|
8
8
|
|
9
9
|
## FEATURES/PROBLEMS:
|
10
10
|
|
11
|
-
*
|
12
|
-
*
|
11
|
+
* support ruby 1.9.x NOT 1.8.x
|
12
|
+
* support efl 1.7.3, NOT dev branch 1.8.x
|
13
|
+
* binding is almost complete but lacks high level ruby code and tests
|
13
14
|
|
14
15
|
## SYNOPSIS:
|
15
16
|
|
@@ -61,12 +62,13 @@ A ruby-ffi binding to [efl](http://www.enlightenment.org/p.php?p=docs&l=en) libr
|
|
61
62
|
|
62
63
|
For more examples you may look at:
|
63
64
|
|
64
|
-
* the [
|
65
|
+
* the [test/](https://github.com/jeremyz/ffi-efl/tree/master/test) and [spec/](https://github.com/jeremyz/ffi-efl/tree/master/spec) subdirs
|
65
66
|
|
66
67
|
## REQUIREMENTS:
|
67
68
|
|
68
69
|
* You need a sane enlightenment foundation libraries installation,
|
69
|
-
for this you might like to use [
|
70
|
+
for this you might like to use [build_efl_stable.sh](https://github.com/jeremyz/bin/blob/master/build_efl_stable.sh).
|
71
|
+
or the heavy metal [easy_e17.sh](http://omicron.homeip.net/projects/#easy_e17.sh),
|
70
72
|
or my git aware fork [easy_e17.sh](https://github.com/jeremyz/bin/blob/master/easy_e17.sh).
|
71
73
|
|
72
74
|
## DOWNLOAD/INSTALL:
|
@@ -79,7 +81,7 @@ or from the git repository on github:
|
|
79
81
|
|
80
82
|
git clone git://github.com/jeremyz/ffi-efl.git
|
81
83
|
cd ffi-efl
|
82
|
-
rake
|
84
|
+
rake install
|
83
85
|
|
84
86
|
## RESOURCES:
|
85
87
|
|
@@ -88,7 +90,7 @@ You can find this project in a few places:
|
|
88
90
|
Online repositories:
|
89
91
|
|
90
92
|
* https://github.com/jeremyz/ffi-efl
|
91
|
-
* http://cgit.asynk.ch/
|
93
|
+
* http://cgit.asynk.ch/ffi-efl/
|
92
94
|
|
93
95
|
Gem:
|
94
96
|
|
data/Rakefile
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
2
|
|
3
|
-
|
3
|
+
begin
|
4
|
+
require 'rspec/core/rake_task'
|
5
|
+
rescue LoadError
|
6
|
+
puts "missing bundler gem, you should\n$ gem install bundler"
|
7
|
+
exit 1
|
8
|
+
end
|
4
9
|
RSpec::Core::RakeTask.new
|
5
10
|
|
6
11
|
task :default => :spec
|
data/lib/efl.rb
CHANGED
@@ -0,0 +1,46 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# -*- coding: UTF-8 -*-
|
3
|
+
#
|
4
|
+
require 'efl/native'
|
5
|
+
#
|
6
|
+
module Efl
|
7
|
+
#
|
8
|
+
module Efreet
|
9
|
+
#
|
10
|
+
FCT_PREFIX = 'efreet_' unless const_defined? :FCT_PREFIX
|
11
|
+
#
|
12
|
+
def self.method_missing meth, *args, &block
|
13
|
+
sym = Efl::MethodResolver.resolve self, meth, FCT_PREFIX
|
14
|
+
self.send sym, *args, &block
|
15
|
+
end
|
16
|
+
#
|
17
|
+
end
|
18
|
+
#
|
19
|
+
module Native
|
20
|
+
#
|
21
|
+
ffi_lib 'efreet'
|
22
|
+
#
|
23
|
+
# TYPEDEFS
|
24
|
+
# typedef struct _Efreet_Version Efreet_Version;
|
25
|
+
typedef :pointer, :efreet_version
|
26
|
+
#
|
27
|
+
# VARIABLES
|
28
|
+
# EAPI extern Efreet_Version *efreet_version;
|
29
|
+
attach_variable :efreet_version, :efreet_version
|
30
|
+
#
|
31
|
+
# FUNCTIONS
|
32
|
+
fcts = [
|
33
|
+
# EAPI int efreet_init(void);
|
34
|
+
[ :efreet_init, [ ], :int ],
|
35
|
+
# EAPI int efreet_shutdown(void);
|
36
|
+
[ :efreet_shutdown, [ ], :int ],
|
37
|
+
# EAPI void efreet_lang_reset(void);
|
38
|
+
[ :efreet_lang_reset, [ ], :void ],
|
39
|
+
]
|
40
|
+
#
|
41
|
+
attach_fcts fcts
|
42
|
+
#
|
43
|
+
end
|
44
|
+
end
|
45
|
+
#
|
46
|
+
# EOF
|
@@ -0,0 +1,51 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# -*- coding: UTF-8 -*-
|
3
|
+
#
|
4
|
+
require 'efl/native'
|
5
|
+
require 'efl/native/eina_list'
|
6
|
+
#
|
7
|
+
module Efl
|
8
|
+
#
|
9
|
+
module EfreetBase
|
10
|
+
#
|
11
|
+
FCT_PREFIX = 'efreet_base_' unless const_defined? :FCT_PREFIX
|
12
|
+
#
|
13
|
+
def self.method_missing meth, *args, &block
|
14
|
+
sym = Efl::MethodResolver.resolve self, meth, FCT_PREFIX
|
15
|
+
self.send sym, *args, &block
|
16
|
+
end
|
17
|
+
#
|
18
|
+
end
|
19
|
+
#
|
20
|
+
module Native
|
21
|
+
#
|
22
|
+
ffi_lib 'efreet'
|
23
|
+
#
|
24
|
+
# TYPEDEFS
|
25
|
+
# typedef struct _Efreet_Event_Cache_Update Efreet_Event_Cache_Update;
|
26
|
+
typedef :pointer, :efreet_event_cache_update
|
27
|
+
#
|
28
|
+
# FUNCTIONS
|
29
|
+
fcts = [
|
30
|
+
# EAPI const char *efreet_data_home_get(void);
|
31
|
+
[ :efreet_data_home_get, [ ], :string ],
|
32
|
+
# EAPI Eina_List *efreet_data_dirs_get(void);
|
33
|
+
[ :efreet_data_dirs_get, [ ], :eina_list ],
|
34
|
+
# EAPI const char *efreet_config_home_get(void);
|
35
|
+
[ :efreet_config_home_get, [ ], :string ],
|
36
|
+
# EAPI const char *efreet_desktop_dir_get(void);
|
37
|
+
[ :efreet_desktop_dir_get, [ ], :string ],
|
38
|
+
# EAPI Eina_List *efreet_config_dirs_get(void);
|
39
|
+
[ :efreet_config_dirs_get, [ ], :eina_list ],
|
40
|
+
# EAPI const char *efreet_cache_home_get(void);
|
41
|
+
[ :efreet_cache_home_get, [ ], :string ],
|
42
|
+
# EAPI const char *efreet_hostname_get(void);
|
43
|
+
[ :efreet_hostname_get, [ ], :string ],
|
44
|
+
]
|
45
|
+
#
|
46
|
+
attach_fcts fcts
|
47
|
+
#
|
48
|
+
end
|
49
|
+
end
|
50
|
+
#
|
51
|
+
# EOF
|
@@ -0,0 +1,112 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# -*- coding: UTF-8 -*-
|
3
|
+
#
|
4
|
+
require 'efl/native'
|
5
|
+
require 'efl/native/eina_list'
|
6
|
+
#
|
7
|
+
module Efl
|
8
|
+
#
|
9
|
+
module EfreetDesktop
|
10
|
+
#
|
11
|
+
FCT_PREFIX = 'efreet_desktop_' unless const_defined? :FCT_PREFIX
|
12
|
+
#
|
13
|
+
def self.method_missing meth, *args, &block
|
14
|
+
sym = Efl::MethodResolver.resolve self, meth, FCT_PREFIX
|
15
|
+
self.send sym, *args, &block
|
16
|
+
end
|
17
|
+
#
|
18
|
+
end
|
19
|
+
#
|
20
|
+
module Native
|
21
|
+
#
|
22
|
+
ffi_lib 'efreet'
|
23
|
+
#
|
24
|
+
# TYPEDEFS
|
25
|
+
# typedef struct _Efreet_Desktop Efreet_Desktop;
|
26
|
+
typedef :pointer, :efreet_desktop
|
27
|
+
#
|
28
|
+
# CALLBACKS
|
29
|
+
# typedef void *(*Efreet_Desktop_Command_Cb) (void *data, Efreet_Desktop *desktop, char *command, int remaining);
|
30
|
+
callback :efreet_desktop_command_cb, [ :pointer, :efreet_desktop, :string, :int ], :pointer
|
31
|
+
# typedef int (*Efreet_Desktop_Progress_Cb) (void *data, Efreet_Desktop *desktop, char *uri, long int total, long int current);
|
32
|
+
callback :efreet_desktop_progress_cb, [ :pointer, :efreet_desktop, :string, :long, :long ], :int
|
33
|
+
# typedef void *(*Efreet_Desktop_Type_Parse_Cb) (Efreet_Desktop *desktop, Efreet_Ini *ini);
|
34
|
+
callback :efreet_desktop_type_parse_cb, [ :efreet_desktop, :pointer ], :pointer
|
35
|
+
# typedef void (*Efreet_Desktop_Type_Save_Cb) (Efreet_Desktop *desktop, Efreet_Ini *ini);
|
36
|
+
callback :efreet_desktop_type_save_cb, [ :efreet_desktop, :pointer ], :void
|
37
|
+
# typedef void *(*Efreet_Desktop_Type_Free_Cb) (void *data);
|
38
|
+
callback :efreet_desktop_type_free_cb, [ :pointer ], :pointer
|
39
|
+
#
|
40
|
+
# VARIABLES
|
41
|
+
# EAPI extern int EFREET_DESKTOP_TYPE_APPLICATION;
|
42
|
+
attach_variable :EFREET_DESKTOP_TYPE_APPLICATION, :int
|
43
|
+
# EAPI extern int EFREET_DESKTOP_TYPE_LINK;
|
44
|
+
attach_variable :EFREET_DESKTOP_TYPE_LINK, :int
|
45
|
+
# EAPI extern int EFREET_DESKTOP_TYPE_DIRECTORY;
|
46
|
+
attach_variable :EFREET_DESKTOP_TYPE_DIRECTORY, :int
|
47
|
+
# EAPI extern int EFREET_EVENT_DESKTOP_CACHE_UPDATE;
|
48
|
+
attach_variable :EFREET_EVENT_DESKTOP_CACHE_UPDATE, :int
|
49
|
+
# EAPI extern int EFREET_EVENT_DESKTOP_CACHE_BUILD;
|
50
|
+
attach_variable :EFREET_EVENT_DESKTOP_CACHE_BUILD, :int
|
51
|
+
#
|
52
|
+
# FUNCTIONS
|
53
|
+
fcts = [
|
54
|
+
# EAPI Efreet_Desktop *efreet_desktop_get(const char *file);
|
55
|
+
[ :efreet_desktop_get, [ :string ], :efreet_desktop ],
|
56
|
+
# EAPI int efreet_desktop_ref(Efreet_Desktop *desktop);
|
57
|
+
[ :efreet_desktop_ref, [ :efreet_desktop ], :int ],
|
58
|
+
# EAPI Efreet_Desktop *efreet_desktop_empty_new(const char *file);
|
59
|
+
[ :efreet_desktop_empty_new, [ :string ], :efreet_desktop ],
|
60
|
+
# EAPI Efreet_Desktop *efreet_desktop_new(const char *file);
|
61
|
+
[ :efreet_desktop_new, [ :string ], :efreet_desktop ],
|
62
|
+
# EAPI Efreet_Desktop *efreet_desktop_uncached_new(const char *file);
|
63
|
+
[ :efreet_desktop_uncached_new, [ :string ], :efreet_desktop ],
|
64
|
+
# EAPI void efreet_desktop_free(Efreet_Desktop *desktop);
|
65
|
+
[ :efreet_desktop_free, [ :efreet_desktop ], :void ],
|
66
|
+
# EAPI int efreet_desktop_save(Efreet_Desktop *desktop);
|
67
|
+
[ :efreet_desktop_save, [ :efreet_desktop ], :int ],
|
68
|
+
# EAPI int efreet_desktop_save_as(Efreet_Desktop *desktop, const char *file);
|
69
|
+
[ :efreet_desktop_save_as, [ :efreet_desktop, :string ], :int ],
|
70
|
+
# EAPI void efreet_desktop_exec(Efreet_Desktop *desktop, Eina_List *files, void *data);
|
71
|
+
[ :efreet_desktop_exec, [ :efreet_desktop, :eina_list, :pointer ], :void ],
|
72
|
+
# EAPI void efreet_desktop_environment_set(const char *environment);
|
73
|
+
[ :efreet_desktop_environment_set, [ :string ], :void ],
|
74
|
+
# EAPI const char *efreet_desktop_environment_get(void);
|
75
|
+
[ :efreet_desktop_environment_get, [ ], :string ],
|
76
|
+
# EAPI void *efreet_desktop_command_progress_get(Efreet_Desktop *desktop, Eina_List *files, Efreet_Desktop_Command_Cb cb_command, Efreet_Desktop_Progress_Cb cb_prog, void *data);
|
77
|
+
[ :efreet_desktop_command_progress_get, [ :efreet_desktop, :eina_list, :efreet_desktop_command_cb, :efreet_desktop_progress_cb, :pointer ],
|
78
|
+
:pointer ],
|
79
|
+
# EAPI void *efreet_desktop_command_get(Efreet_Desktop *desktop, Eina_List *files, Efreet_Desktop_Command_Cb func, void *data);
|
80
|
+
[ :efreet_desktop_command_get, [ :efreet_desktop, :eina_list, :efreet_desktop_command_cb, :pointer ], :pointer ],
|
81
|
+
# EAPI Eina_List * efreet_desktop_command_local_get(Efreet_Desktop *desktop, Eina_List *files);
|
82
|
+
[ :efreet_desktop_command_local_get, [ :efreet_desktop, :eina_list ], :eina_list ],
|
83
|
+
# EAPI unsigned int efreet_desktop_category_count_get(Efreet_Desktop *desktop);
|
84
|
+
[ :efreet_desktop_category_count_get, [ :efreet_desktop ], :uint ],
|
85
|
+
# EAPI void efreet_desktop_category_add(Efreet_Desktop *desktop, const char *category);
|
86
|
+
[ :efreet_desktop_category_add, [ :efreet_desktop, :string ], :void ],
|
87
|
+
# EAPI int efreet_desktop_category_del(Efreet_Desktop *desktop, const char *category);
|
88
|
+
[ :efreet_desktop_category_del, [ :efreet_desktop, :string ], :int ],
|
89
|
+
# EAPI int efreet_desktop_type_add(const char *type, Efreet_Desktop_Type_Parse_Cb parse_func, Efreet_Desktop_Type_Save_Cb save_func, Efreet_Desktop_Type_Free_Cb free_func);
|
90
|
+
[ :efreet_desktop_type_add, [ :string, :efreet_desktop_type_parse_cb, :efreet_desktop_type_save_cb, :efreet_desktop_type_free_cb ], :int ],
|
91
|
+
# EAPI int efreet_desktop_type_alias (int from_type, const char *alias);
|
92
|
+
[ :efreet_desktop_type_alias, [ :int, :string ], :int ],
|
93
|
+
# EAPI void *efreet_desktop_type_data_get(Efreet_Desktop *desktop);
|
94
|
+
[ :efreet_desktop_type_data_get, [ :efreet_desktop ], :pointer ],
|
95
|
+
# EAPI Eina_List *efreet_desktop_string_list_parse(const char *string);
|
96
|
+
[ :efreet_desktop_string_list_parse, [ :string ], :eina_list ],
|
97
|
+
# EAPI char *efreet_desktop_string_list_join(Eina_List *list);
|
98
|
+
[ :efreet_desktop_string_list_join, [ :eina_list ], :string ],
|
99
|
+
# EAPI Eina_Bool efreet_desktop_x_field_set(Efreet_Desktop *desktop, const char *key, const char *data);
|
100
|
+
[ :efreet_desktop_x_field_set, [ :efreet_desktop, :string, :string ], :bool ],
|
101
|
+
# EAPI const char * efreet_desktop_x_field_get(Efreet_Desktop *desktop, const char *key);
|
102
|
+
[ :efreet_desktop_x_field_get, [ :efreet_desktop, :string ], :string ],
|
103
|
+
# EAPI Eina_Bool efreet_desktop_x_field_del(Efreet_Desktop *desktop, const char *key);
|
104
|
+
[ :efreet_desktop_x_field_del, [ :efreet_desktop, :string ], :bool ],
|
105
|
+
]
|
106
|
+
#
|
107
|
+
attach_fcts fcts
|
108
|
+
#
|
109
|
+
end
|
110
|
+
end
|
111
|
+
#
|
112
|
+
# EOF
|
@@ -0,0 +1,77 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# -*- coding: UTF-8 -*-
|
3
|
+
#
|
4
|
+
require 'efl/native'
|
5
|
+
require 'efl/native/eina_list'
|
6
|
+
#
|
7
|
+
module Efl
|
8
|
+
#
|
9
|
+
module EfreetIcon
|
10
|
+
#
|
11
|
+
FCT_PREFIX = 'efreet_icon_' unless const_defined? :FCT_PREFIX
|
12
|
+
#
|
13
|
+
def self.method_missing meth, *args, &block
|
14
|
+
sym = Efl::MethodResolver.resolve self, meth, FCT_PREFIX
|
15
|
+
self.send sym, *args, &block
|
16
|
+
end
|
17
|
+
#
|
18
|
+
end
|
19
|
+
#
|
20
|
+
module Native
|
21
|
+
#
|
22
|
+
ffi_lib 'efreet'
|
23
|
+
#
|
24
|
+
# ENUMS
|
25
|
+
# typedef enum Efreet_Icon_Theme_Context {...} Efreet_Icon_Theme_Context;
|
26
|
+
enum :efreet_icon_theme_context, [ :efreet_icon_theme_context_none, :efreet_icon_theme_context_actions, :efreet_icon_theme_context_devices,
|
27
|
+
:efreet_icon_theme_context_filesystems, :efreet_icon_theme_context_mimetypes ]
|
28
|
+
# typedef enum Efreet_Icon_Size_Type {...} Efreet_Icon_Size_Type;
|
29
|
+
enum :efreet_icon_size_type, [ :efreet_icon_size_type_none, :efreet_icon_size_type_fixed, :efreet_icon_size_type_scalable,
|
30
|
+
:efreet_icon_size_type_threshold ]
|
31
|
+
#
|
32
|
+
# TYPEDEFS
|
33
|
+
# typedef struct Efreet_Icon_Theme Efreet_Icon_Theme;
|
34
|
+
typedef :pointer, :efreet_icon_theme
|
35
|
+
# typedef struct Efreet_Icon_Theme_Directory Efreet_Icon_Theme_Directory;
|
36
|
+
typedef :pointer, :efreet_icon_theme_directory
|
37
|
+
# typedef struct Efreet_Icon Efreet_Icon;
|
38
|
+
typedef :pointer, :efreet_icon
|
39
|
+
# typedef struct Efreet_Icon_Point Efreet_Icon_Point;
|
40
|
+
typedef :pointer, :efreet_icon_point
|
41
|
+
#
|
42
|
+
# VARIABLES
|
43
|
+
# EAPI extern int EFREET_EVENT_ICON_CACHE_UPDATE;
|
44
|
+
attach_variable :EFREET_EVENT_ICON_CACHE_UPDATE, :int
|
45
|
+
#
|
46
|
+
# FUNCTIONS
|
47
|
+
fcts = [
|
48
|
+
# EAPI const char *efreet_icon_user_dir_get(void);
|
49
|
+
[ :efreet_icon_user_dir_get, [ ], :string ],
|
50
|
+
# EAPI const char *efreet_icon_deprecated_user_dir_get(void);
|
51
|
+
[ :efreet_icon_deprecated_user_dir_get, [ ], :string ],
|
52
|
+
# EAPI void efreet_icon_extension_add(const char *ext);
|
53
|
+
[ :efreet_icon_extension_add, [ :string ], :void ],
|
54
|
+
# EAPI Eina_List **efreet_icon_extra_list_get(void);
|
55
|
+
[ :efreet_icon_extra_list_get, [ ], :eina_list ],
|
56
|
+
# EAPI Eina_List *efreet_icon_extensions_list_get(void);
|
57
|
+
[ :efreet_icon_extensions_list_get, [ ], :eina_list ],
|
58
|
+
# EAPI Eina_List *efreet_icon_theme_list_get(void);
|
59
|
+
[ :efreet_icon_theme_list_get, [ ], :eina_list ],
|
60
|
+
# EAPI Efreet_Icon_Theme *efreet_icon_theme_find(const char *theme_name);
|
61
|
+
[ :efreet_icon_theme_find, [ :string ], :efreet_icon_theme ],
|
62
|
+
# EAPI Efreet_Icon *efreet_icon_find(const char *theme_name, const char *icon, unsigned int size);
|
63
|
+
[ :efreet_icon_find, [ :string, :string, :uint ], :efreet_icon ],
|
64
|
+
# EAPI const char *efreet_icon_list_find(const char *theme_name, Eina_List *icons, unsigned int size);
|
65
|
+
[ :efreet_icon_list_find, [ :string, :eina_list, :uint ], :string ],
|
66
|
+
# EAPI const char *efreet_icon_path_find(const char *theme_name, const char *icon, unsigned int size);
|
67
|
+
[ :efreet_icon_path_find, [ :string, :string, :uint ], :string ],
|
68
|
+
# EAPI void efreet_icon_free(Efreet_Icon *icon);
|
69
|
+
[ :efreet_icon_free, [ :efreet_icon ], :void ],
|
70
|
+
]
|
71
|
+
#
|
72
|
+
attach_fcts fcts
|
73
|
+
#
|
74
|
+
end
|
75
|
+
end
|
76
|
+
#
|
77
|
+
# EOF
|
@@ -0,0 +1,68 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# -*- coding: UTF-8 -*-
|
3
|
+
#
|
4
|
+
require 'efl/native'
|
5
|
+
#
|
6
|
+
module Efl
|
7
|
+
#
|
8
|
+
module EfreetIni
|
9
|
+
#
|
10
|
+
FCT_PREFIX = 'efreet_ini_' unless const_defined? :FCT_PREFIX
|
11
|
+
#
|
12
|
+
def self.method_missing meth, *args, &block
|
13
|
+
sym = Efl::MethodResolver.resolve self, meth, FCT_PREFIX
|
14
|
+
self.send sym, *args, &block
|
15
|
+
end
|
16
|
+
#
|
17
|
+
end
|
18
|
+
#
|
19
|
+
module Native
|
20
|
+
#
|
21
|
+
ffi_lib 'efreet'
|
22
|
+
#
|
23
|
+
# TYPEDEFS
|
24
|
+
# typedef struct Efreet_Ini Efreet_Ini;
|
25
|
+
typedef :pointer, :efreet_ini
|
26
|
+
#
|
27
|
+
# FUNCTIONS
|
28
|
+
fcts = [
|
29
|
+
# EAPI Efreet_Ini *efreet_ini_new(const char *file);
|
30
|
+
[ :efreet_ini_new, [ :string ], :efreet_ini ],
|
31
|
+
# EAPI void efreet_ini_free(Efreet_Ini *ini);
|
32
|
+
[ :efreet_ini_free, [ :efreet_ini ], :void ],
|
33
|
+
# EAPI int efreet_ini_save(Efreet_Ini *ini, const char *path);
|
34
|
+
[ :efreet_ini_save, [ :efreet_ini, :string ], :int ],
|
35
|
+
# EAPI int efreet_ini_section_set(Efreet_Ini *ini, const char *section);
|
36
|
+
[ :efreet_ini_section_set, [ :efreet_ini, :string ], :int ],
|
37
|
+
# EAPI void efreet_ini_section_add(Efreet_Ini *ini, const char *section);
|
38
|
+
[ :efreet_ini_section_add, [ :efreet_ini, :string ], :void ],
|
39
|
+
# EAPI const char *efreet_ini_string_get(Efreet_Ini *ini, const char *key);
|
40
|
+
[ :efreet_ini_string_get, [ :efreet_ini, :string ], :string ],
|
41
|
+
# EAPI void efreet_ini_string_set(Efreet_Ini *ini, const char *key, const char *value);
|
42
|
+
[ :efreet_ini_string_set, [ :efreet_ini, :string, :string ], :void ],
|
43
|
+
# EAPI const char *efreet_ini_localestring_get(Efreet_Ini *ini, const char *key);
|
44
|
+
[ :efreet_ini_localestring_get, [ :efreet_ini, :string ], :string ],
|
45
|
+
# EAPI void efreet_ini_localestring_set(Efreet_Ini *ini, const char *key, const char *value);
|
46
|
+
[ :efreet_ini_localestring_set, [ :efreet_ini, :string, :string ], :void ],
|
47
|
+
# EAPI unsigned int efreet_ini_boolean_get(Efreet_Ini *ini, const char *key);
|
48
|
+
[ :efreet_ini_boolean_get, [ :efreet_ini, :string ], :uint ],
|
49
|
+
# EAPI void efreet_ini_boolean_set(Efreet_Ini *ini, const char *key, unsigned int value);
|
50
|
+
[ :efreet_ini_boolean_set, [ :efreet_ini, :string, :uint ], :void ],
|
51
|
+
# EAPI int efreet_ini_int_get(Efreet_Ini *ini, const char *key);
|
52
|
+
[ :efreet_ini_int_get, [ :efreet_ini, :string ], :int ],
|
53
|
+
# EAPI void efreet_ini_int_set(Efreet_Ini *ini, const char *key, int value);
|
54
|
+
[ :efreet_ini_int_set, [ :efreet_ini, :string, :int ], :void ],
|
55
|
+
# EAPI double efreet_ini_double_get(Efreet_Ini *ini, const char *key);
|
56
|
+
[ :efreet_ini_double_get, [ :efreet_ini, :string ], :double ],
|
57
|
+
# EAPI void efreet_ini_double_set(Efreet_Ini *ini, const char *key, double value);
|
58
|
+
[ :efreet_ini_double_set, [ :efreet_ini, :string, :double ], :void ],
|
59
|
+
# EAPI void efreet_ini_key_unset(Efreet_Ini *ini, const char *key);
|
60
|
+
[ :efreet_ini_key_unset, [ :efreet_ini, :string ], :void ],
|
61
|
+
]
|
62
|
+
#
|
63
|
+
attach_fcts fcts
|
64
|
+
#
|
65
|
+
end
|
66
|
+
end
|
67
|
+
#
|
68
|
+
# EOF
|