/src/lib/foreign_interface/foreign_dll_function.e
Specman e | 49 lines | 22 code | 4 blank | 23 comment | 0 complexity | 37e379362e40642989aa46e7f0dc1941 MD5 | raw file
1-- This file is part of a Liberty Eiffel library. 2-- See the full copyright at the end. 3-- 4class FOREIGN_DLL_FUNCTION 5 6inherit 7 FOREIGN_AGENT 8 export {FOREIGN_DLL_HANDLER} 9 ffi_call, types 10 end 11 12create {FOREIGN_DLL} 13 make 14 15feature {} 16 make (external_function: POINTER; a_parameter_types: like parameter_types; a_result_type: like result_type) 17 require 18 external_function.is_not_null 19 a_parameter_types /= Void 20 do 21 parameter_types := a_parameter_types 22 result_type := a_result_type 23 prepare(external_function) 24 ensure 25 parameter_types = a_parameter_types 26 result_type = a_result_type 27 end 28 29end -- class FOREIGN_DLL_FUNCTION 30-- 31-- Copyright (C) 2009-2017: by all the people cited in the AUTHORS file. 32-- 33-- Permission is hereby granted, free of charge, to any person obtaining a copy 34-- of this software and associated documentation files (the "Software"), to deal 35-- in the Software without restriction, including without limitation the rights 36-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 37-- copies of the Software, and to permit persons to whom the Software is 38-- furnished to do so, subject to the following conditions: 39-- 40-- The above copyright notice and this permission notice shall be included in 41-- all copies or substantial portions of the Software. 42-- 43-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 44-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 45-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 46-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 47-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 48-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 49-- THE SOFTWARE.