INDEX
CLUSTER
FEATURES
SHORT
FRAMES
NO FRAMES
indexing
title:
"The operating system dynamic library such as a DLL or a shared library."
project:
"Visual Eiffel Library"
revision:
"$Revision: 1.1 $"
copyright:
"Copyright (C) 1996-2005 Object Tools Group"
license:
"http://visual-eiffel.com/license"
cluster:
pool
class
DYNAMIC_SYSTEM_LIBRARY
inherit
MEMORY
redefine
dispose
end
WAPI_DYNAMIC_LINK_LIBRARY_FUNCTIONS
end
creation
make
feature
{
NONE
}
-- Creation
make
(
lib_name
:
STRING
)
require
non_void_lib_name
:
lib_name
/=
void
non_empty_lib_name
:
not
lib_name
.
is_empty
ensure
name_set
:
equal
(
name
,
lib_name
)
feature
-- Status report
name
:
STRING
last_error
:
STRING
is_open
:
BOOLEAN
-- Is library loaded?
feature
-- Status setting
open
-- Load the library
require
is_closed
:
not
is_open
ensure
is_open
:
is_open
= (
last_error
=
void
)
close
-- Unload the library
require
is_open
:
is_open
ensure
is_closed
:
not
is_open
feature
-- Query
routine_address
(
routine_name
:
STRING
):
POINTER
require
non_void_routine_name
:
routine_name
/=
void
non_empty_routine_name
:
not
routine_name
.
is_empty
feature
-- Removal
dispose
-- Free resources if necessary
invariant
non_void_name
:
name
/=
void
non_empty_name
:
not
name
.
is_empty
end
-- class
DYNAMIC_SYSTEM_LIBRARY
INDEX
CLUSTER
FEATURES
SHORT
FRAMES
NO FRAMES