indexing
description: "Encapsulation of EXEPTINFO structure"
status: "See notice at end of class"
date: "$Date$"
revision: "$Revision$"
class interface
ECOM_EXCEP_INFO
create
make
item
ECOM_STRUCTURE
ensure WEL_STRUCTURE
not_shared: not shared
make_from_pointer (a_pointer: POINTER)
require ECOM_STRUCTURE
valid_pointer: a_pointer /= default_pointer
feature
bstr_description: STRING
ensure
non_void_bstr_description: Result /= void
bstr_help_file: STRING
ensure
non_void_bstr_help_file: Result /= void
bstr_source: STRING
ensure
non_void_bstr_source: Result /= void
dw_help_context: INTEGER
item: POINTER
WEL_ANY
pv_reserved: POINTER
scode: ECOM_HRESULT
ensure
non_void_scode: Result /= void
w_code: INTEGER
w_reserved: INTEGER
feature
structure_size: INTEGER
ensure WEL_STRUCTURE
positive_result: Result > 0
feature
exists: BOOLEAN
item
WEL_ANY
ensure WEL_ANY
Result = (item /= default_pointer)
shared: BOOLEAN
item
item
destroy_item
item
WEL_ANY
feature
set_shared
shared
WEL_ANY
ensure WEL_ANY
shared: shared
set_unshared
shared
WEL_ANY
ensure WEL_ANY
unshared: not shared
feature
dispose
Current
Current
WEL_ANY
feature
to_integer: INTEGER
item
WEL_ANY
ensure WEL_ANY
Result = cwel_pointer_to_integer (item)
feature
initialize
WEL_STRUCTURE
require WEL_STRUCTURE
exists: exists
initialize_with_character (a_character: CHARACTER)
a_character
WEL_STRUCTURE
require WEL_STRUCTURE
exists: exists
memory_copy (source_pointer: POINTER; length: INTEGER)
lengthsource_pointeritem
WEL_STRUCTURE
require WEL_STRUCTURE
length_small_enough: length <= structure_size
length_large_enough: length > 0
exists: exists
feature
set_bstr_description (a_bstr_description: STRING)
bstr_descriptiona_bstr_description
set_bstr_help_file (a_bstr_help_file: STRING)
bstr_help_filea_bstr_help_file
set_bstr_source (a_bstr_source: STRING)
bstr_sourcea_bstr_source
set_dw_help_context (a_dw_help_context: INTEGER)
dw_help_contexta_dw_help_context
set_pv_reserved (a_pv_reserved: POINTER)
pv_reserveda_pv_reserved
set_scode (a_scode: ECOM_HRESULT)
scodea_scode
require
non_void_a_scode: a_scode /= void
set_value (source: like Current)
ECOM_STRUCTURE
require ECOM_STRUCTURE
non_void: source /= void
valid_source: source.item /= default_pointer
set_w_code (a_w_code: INTEGER)
w_codea_w_code
set_w_reserved (a_w_reserved: INTEGER)
w_reserveda_w_reserved
invariant
ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)
end -- ECOM_EXCEP_INFO