[ Home Page ] [ Eiffel Archive ] [ Tools for Eiffel Developers | Eiffel Classes and Clusters ]
eext - Portable external callsWritten by Pirmin Kalberer.
eext-991228.zip (7,900 bytes)
SmallEiffel Mailing List Announcement
and thread
http://www.spin.ch/~kalberer/eiffel/
(for Eiffel Projects)
http://www.spin.ch/~kalberer/
(Pirmin Kalberer's home page)
eext - Portable external calls
The class is written in the style of the Gobo kernel library. It should help to develop a portable GTK wrapper and to make swigeiffel portable.
The test program was successfully compiled with se and ise. It compiles also with VE (v2.96 Beta for Linux), but the string output in the C code is missing --> HELP! The short form:
class interface KL_EXTERNAL_ROUTINES
feature(s) from KL_EXTERNAL_ROUTINES
-- conversion of Eiffel to C types
any_to_pointer (arg: ANY): POINTER
string_to_pointer (arg: STRING): POINTER
-- A reference to a C form of string `arg'
-- Warning: Memory is shared between Eiffel and C
string_to_pointer_copy (arg: STRING): POINTER
-- Create a new C string copied from `arg'
-- Warning: Memory of C string is not collected by Eiffel GC
array_to_pointer (arg: ARRAY[ANY]): POINTER
string_array_to_pointer (arg: ARRAY[STRING]): POINTER
-- Convert an ARRAY of STRINGs to char **
feature(s) from KL_EXTERNAL_ROUTINES
-- conversion of C to Eiffel types
pointer_to_string (arg: POINTER): STRING
-- Warning: Memory is shared between Eiffel and C
pointer_to_string_copy (arg: POINTER): STRING
feature(s) from KL_EXTERNAL_ROUTINES
get_pointer (arg: POINTER): POINTER
-- Return `arg' as POINTER type
-- Example: ptr := get_pointer($print)
end of KL_EXTERNAL_ROUTINES
Could someone invest some time to complete and test it?
Pirmin
Pirmin Kalberer (kalberer@spin.ch)
http://www.spin.ch/~kalberer/
25 September 1999 (Added to Eiffel Forum Archive: 28 December 1999)
[ Home Page ] [ Eiffel Archive ] [ Tools for Eiffel Developers | Eiffel Classes and Clusters ]