PageRenderTime 12ms CodeModel.GetById 9ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/src/lib/foreign_interface/foreign_dll_function.e

http://github.com/tybor/Liberty
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.