indexing
description: "Registry manager"
status: "See notice at end of class"
date: "$Date$"
revision: "$Revision$"
note: "Changed the type of Keys from INTEGER to POINTER"
class interface
WEL_REGISTRY
feature
default_key_value (key: POINTER; path: STRING): WEL_REGISTRY_KEY_VALUE
value_name
key
require
key_possible: valid_value_for_hkey (key)
enumerate_key (key: POINTER; index: INTEGER): WEL_REGISTRY_KEY
indexkey
keyindex
require
key_possible: valid_value_for_hkey (key)
index_possible: index <= number_of_subkeys (key)
hkey_classes_root: POINTER
WEL_HKEY
hkey_current_config: POINTER
WEL_HKEY
hkey_current_user: POINTER
WEL_HKEY
hkey_dyn_data: POINTER
WEL_HKEY
hkey_local_machine: POINTER
WEL_HKEY
hkey_performance_data: POINTER
WEL_HKEY
hkey_users: POINTER
WEL_HKEY
key_from_remote_host (host_name: STRING; root_key: POINTER): POINTER
require
root_key_possible: root_key = hkey_local_machine or root_key = hkey_users or root_key = hkey_performance_data
host_name_possible: host_name /= void
key_value (key: POINTER; value_name: STRING): WEL_REGISTRY_KEY_VALUE
value_name
key
require
value_name_possible: value_name /= void and then not value_name.is_empty
key_valid: valid_value_for_hkey (key)
feature
create_new_key (key_path: STRING)
WEL_HKEY
require
at_least_one_back_slash: key_path /= void and then key_path.has ('\')
open_key_value (key_path: STRING; value_name: STRING): WEL_REGISTRY_KEY_VALUE
WEL_HKEY
require
key_name_possible: value_name /= void and then not value_name.is_empty
at_least_one_back_slash: key_path /= void and then key_path.has ('\')
open_key_with_access (key_path: STRING; acc: INTEGER): POINTER
require
at_least_one_back_slash: key_path /= void and then key_path.has ('\')
feature
close_key (key: POINTER)
key
require
key_possible: valid_value_for_hkey (key)
create_key (parent_key: POINTER; key_name: STRING; sam: INTEGER): POINTER
key_nameparent_keysam
require
key_name_possible: key_name /= void and then not key_name.is_empty
parent_key_possible: valid_value_for_hkey (parent_key)
delete_key (parent_key: POINTER; key_name: STRING)
key_nameparent_key
require
key_name_possible: key_name /= void and then not key_name.is_empty
parent_key_possible: valid_value_for_hkey (parent_key)
enumerate_values (key: POINTER): LINKED_LIST [STRING]
open_key (parent_key: POINTER; key_name: STRING; access_mode: INTEGER): POINTER
key_nameparent_keyaccess_mode
require
key_name_possible: key_name /= void and then not key_name.is_empty
parent_key_possible: valid_value_for_hkey (parent_key)
feature
delete_value (parent_key: POINTER; name: STRING)
require
key_possible: valid_value_for_hkey (parent_key)
name_possible: name /= void
enumerate_value (key: POINTER; index: INTEGER): STRING
number_of_subkeys (key: POINTER): INTEGER
number_of_values (key: POINTER): INTEGER
valid_value_for_hkey (key: POINTER): BOOLEAN
feature
set_key_value (key: POINTER; value_name: STRING; value: WEL_REGISTRY_KEY_VALUE)
keyvalue_namevalue
require
valid_value: value /= void
valid_value_name: value_name /= void
key_possible: valid_value_for_hkey (key)
feature
basic_valid_name_for_hkey (name: STRING): BOOLEAN
WEL_HKEY
require WEL_HKEY
name_possible: name /= void
basic_valid_value_for_hkey (value: POINTER): BOOLEAN
WEL_HKEY
index_value_for_root_keys (name: STRING): POINTER
WEL_HKEY
require WEL_HKEY
name_possible: name /= void and then basic_valid_name_for_hkey (name)
last_call_successful: BOOLEAN
invariant
ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)
end -- WEL_REGISTRY