INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES

indexing

title: "Windows INI file key"
project: "Visual Eiffel Library"
revision: "$Revision: 1.1 $"
copyright: "Copyright (C) 1996-2005 Object Tools Group"
license: "http://visual-eiffel.com/license"
cluster: ini
class INI_KEY
inherit

INI_CONTAINER
rename
data as string_value,
data_from_buffer as item_from_buffer
redefine
out
end
creation

make,
make_empty
feature {NONE}-- Creation

make (key_name: STRING; key_section: like section; default_string_value: STRING; default_integer_value: INTEGER)
-- Bind key 'key_name' to the 'section'
require
non_void_key_name: key_name /= void
not_empty_key_name: not key_name.is_empty
non_void_key_section: key_section /= void
non_void_default_string_value: default_string_value /= void
ensure
name_set: equal (name, key_name)
name_not_aliased: name /= key_name
section_set: section = key_section
default_string_set: equal (default_string, default_string_value)
default_string_not_aliased: default_string /= default_string_value
default_integer_set: default_integer = default_integer_value

make_empty (key_name: STRING; key_section: like section)
-- Bind key 'key_name' to the 'section'
require
non_void_key_name: key_name /= void
not_empty_key_name: not key_name.is_empty
non_void_key_section: key_section /= void
ensure
name_set: equal (name, key_name)
name_not_aliased: name /= key_name
section_set: section = key_section
default_string_empty: default_string.is_empty
default_integer_zero: default_integer = 0
feature -- Status

section: INI_SECTION

default_string: STRING

default_integer: INTEGER
feature -- Status setting

set_default_string (default_string_value: STRING)
require
non_void_default_string_value: default_string_value /= void
ensure
default_string_set: equal (default_string, default_string_value)
default_string_not_aliased: default_string /= default_string_value

set_default_integer (default_integer_value: INTEGER)
require
non_void_default_integer_value: default_integer_value /= void
ensure
default_integer_set: default_integer = default_integer_value
feature -- Access

integer_value: INTEGER
-- Integer value of the key

struct_value (struct: POINTER; struct_size: INTEGER): BOOLEAN
-- Retrieves data of the key into 'struct' of the size 'struct_size'
-- and returns True on success
require
non_null_struct: struct /= default_pointer

boolean_value: BOOLEAN
-- Boolean value of the key
-- 'True' iff the key is present and has one of the following string
-- representations (case-insensitive):
-- "1", "y", "yes", "t", "true"
feature -- Modification

put_string (value: STRING): BOOLEAN
-- Sets the key value to the given one
-- Returns True iff successful
require
non_void_value: value /= void
win95_constraint:

put_integer (value: INTEGER): BOOLEAN
-- Sets the key value to the given one
-- Returns True iff successful

put_struct (struct: POINTER; struct_size: INTEGER): BOOLEAN
-- Retrieves data of the key into 'struct' of the size 'struct_size'
-- and returns True on success
require
non_null_struct: struct /= default_pointer
feature -- Removal

remove: BOOLEAN
-- Removes the key from the section
feature -- Output

out: STRING
invariant

non_void_section: section /= void
non_void_default_string: default_string /= void
end -- class INI_KEY

INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES