Automatic generation produced by ISE Eiffel

Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:
note description: "The FILE protocol." legal: "See notice at end of class." status: "See notice at end of class." date: "$Date: 2019-06-13 23:10:42 -0800 (Thu, 13 Jun 2019) $" revision: "$Revision: 103272 $" class interface FILE_PROTOCOL create make (addr: like address) -- Create protocol. -- (from DATA_RESOURCE) require -- from DATA_RESOURCE address_exists: addr /= Void ensure -- from DATA_RESOURCE address_set: address = addr feature -- Access address: FILE_URL -- Associated address generating_type: TYPE [detachable FILE_PROTOCOL] -- Type of current object -- (type of which it is a direct instance) -- (from ANY) ensure -- from ANY generating_type_not_void: Result /= Void generator: STRING_8 -- Name of current object's generating class -- (base class of the type of which it is a direct instance) -- (from ANY) ensure -- from ANY generator_not_void: Result /= Void generator_not_empty: not Result.is_empty hash_code: INTEGER_32 -- Hash function -- (from DATA_RESOURCE) ensure -- from HASHABLE good_hash_value: Result >= 0 last_packet: detachable STRING_8 -- Last packet read -- (from DATA_RESOURCE) location: STRING_8 -- Location of resource -- (from DATA_RESOURCE) require -- from DATA_RESOURCE address_exists: address /= Void mode: INTEGER_32 -- Current mode -- (from DATA_RESOURCE) port: INTEGER_32 -- Port used by service -- (from DATA_RESOURCE) ensure -- from DATA_RESOURCE result_non_negative: Result >= 0 proxy_host: STRING_8 -- Name or address of proxy host -- (from DATA_RESOURCE) require -- from DATA_RESOURCE proxy_supported: is_proxy_supported proxy_used: Is_proxy_used ensure -- from DATA_RESOURCE result_not_empty: Result /= Void and then not Result.is_empty proxy_port: INTEGER_32 -- Port of proxy -- (from DATA_RESOURCE) require -- from DATA_RESOURCE proxy_supported: is_proxy_supported proxy_used: Is_proxy_used ensure -- from DATA_RESOURCE result_non_negative: Result >= 0 service: STRING_8 -- Name of service -- (from DATA_RESOURCE) feature -- Measurement bytes_transferred: INTEGER_32 -- Number of transferred bytes count: INTEGER_32 -- Size of data resource last_packet_size: INTEGER_32 -- Size of last packet read_buffer_size: INTEGER_32 -- Size of read buffer feature -- Comparison frozen deep_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void -- or attached to isomorphic object structures? -- (from ANY) ensure -- from ANY instance_free: class shallow_implies_deep: standard_equal (a, b) implies Result both_or_none_void: (a = Void) implies (Result = (b = Void)) same_type: (Result and (a /= Void)) implies (b /= Void and then a.same_type (b)) symmetric: Result implies deep_equal (b, a) frozen equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached -- to objects considered equal? -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.is_equal (b)) frozen is_deep_equal alias "≡≡≡" (other: FILE_PROTOCOL): BOOLEAN -- Are Current and other attached to isomorphic object structures? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY shallow_implies_deep: standard_is_equal (other) implies Result same_type: Result implies same_type (other) symmetric: Result implies other.is_deep_equal (Current) is_equal (other: FILE_PROTOCOL): BOOLEAN -- Is resource equal to other? -- (from DATA_RESOURCE) require -- from ANY other_not_void: other /= Void ensure -- from ANY symmetric: Result implies other ~ Current consistent: standard_is_equal (other) implies Result frozen standard_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached to -- field-by-field identical objects of the same type? -- Always uses default object comparison criterion. -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.standard_is_equal (b)) frozen standard_is_equal alias "" (other: FILE_PROTOCOL): BOOLEAN -- Is other attached to an object of the same type -- as current object, and field-by-field identical to it? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY same_type: Result implies same_type (other) symmetric: Result implies other.standard_is_equal (Current) feature -- Status report address_exists: BOOLEAN -- Does address exist? conforms_to (other: ANY): BOOLEAN -- Does type of current object conform to type -- of other (as per Eiffel: The Language, chapter 13)? -- (from ANY) require -- from ANY other_not_void: other /= Void error: BOOLEAN -- Has an error occurred? -- (from DATA_RESOURCE) error_code: INTEGER_32 -- Code of error -- (from DATA_RESOURCE) error_text (code: INTEGER_32): STRING_8 -- Textual description of error -- (from DATA_RESOURCE_ERROR_CONSTANTS) require -- from DATA_RESOURCE_ERROR_CONSTANTS positive_code: code > 0 has_packet: BOOLEAN -- Is there a packet available in `last_packet`? -- (from DATA_RESOURCE) Is_count_valid: BOOLEAN = True -- Is value in `count` valid? (Answer: yes) is_hashable: BOOLEAN -- Are objects of current type hashable? -- (from DATA_RESOURCE) Is_local: BOOLEAN = True -- Is protocol not networked? (Answer: yes) is_mode_set: BOOLEAN -- Has resource mode been set? -- (from DATA_RESOURCE) is_open: BOOLEAN -- Is resource open? is_packet_pending: BOOLEAN -- Can another packet currently be read out? is_proxy_supported: BOOLEAN -- Is proxy supported by resource? -- (from DATA_RESOURCE) Is_proxy_used: BOOLEAN = False -- Does resource use a proxy? (Answer: no) is_readable: BOOLEAN -- Is it possible to open in read mode currently? ensure -- from DATA_RESOURCE mode_unchanged: mode = old mode is_writable: BOOLEAN -- Is it possible to open in write mode currently? ensure -- from DATA_RESOURCE mode_unchanged: mode = old mode read_mode: BOOLEAN -- Is read mode set? same_type (other: ANY): BOOLEAN -- Is type of current object identical to type of other? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY definition: Result = (conforms_to (other) and other.conforms_to (Current)) Supports_multiple_transactions: BOOLEAN = False -- Does resource support multiple tranactions per connection? -- (Answer: no) transfer_initiated: BOOLEAN -- Has transfer being initiated. -- (from DATA_RESOURCE) valid_mode (n: INTEGER_32): BOOLEAN -- Is mode n valid? write_mode: BOOLEAN -- Is write mode set? feature -- Status setting close -- Close. require -- from DATA_RESOURCE open: is_open ensure -- from DATA_RESOURCE closed: not is_open mode_unchanged: mode = old mode no_packet_available: not (has_packet and is_packet_pending) initiate_transfer -- Initiate transfer. require -- from DATA_RESOURCE no_error_occurred: not error mode_set: is_mode_set open: is_open not_initiated: not transfer_initiated ensure -- from DATA_RESOURCE failure_means_error: not transfer_initiated implies error open -- Open file resource. require -- from DATA_RESOURCE no_error_occurred: not error mode_set: is_mode_set ensure -- from DATA_RESOURCE no_packet_available: not (has_packet and is_packet_pending) initiated_flag_reset: not transfer_initiated failure_means_error: not is_open implies error ensure then counter_reset: bytes_transferred = 0 reset_error -- Reset error. -- (from DATA_RESOURCE) ensure -- from DATA_RESOURCE error_reset: not error reset_overwrite_mode -- Switch on file overwrite mode on. reset_proxy -- Reset proxy information. -- (from DATA_RESOURCE) ensure -- from DATA_RESOURCE proxy_reset: not address.is_proxy_used reuse_connection (other: DATA_RESOURCE) -- Reuse connection of other. require -- from DATA_RESOURCE other_exists: other /= Void same_type: same_type (other) supports_multiple_transactions: Supports_multiple_transactions and other.supports_multiple_transactions other_opened: other.is_open set_connect_timeout (n: like connect_timeout) -- Set connection timeout to n. -- (from DATA_RESOURCE) require -- from DATA_RESOURCE non_negative: n >= 0 ensure -- from DATA_RESOURCE connect_timeout_set: connect_timeout = n set_overwrite_mode -- Switch on file overwrite mode on. set_password (pw: STRING_8) -- Set password to pw. -- (from DATA_RESOURCE) require -- from DATA_RESOURCE password_accepted: address.Is_password_accepted non_empty_password: pw /= Void and then not pw.is_empty set_port (port_no: INTEGER_32) -- Set port number to port_no. -- (from DATA_RESOURCE) require -- from DATA_RESOURCE closed: not is_open non_negative_port_number: port_no >= 0 ensure -- from DATA_RESOURCE port_set: port = port_no set_proxy (host: STRING_8; port_no: INTEGER_32) -- Set proxy host to host and port to port_no. -- (from DATA_RESOURCE) require -- from DATA_RESOURCE proxy_supported: is_proxy_supported closed: not is_open non_empty_host: host /= Void and then not host.is_empty host_ok: address.proxy_host_ok (host) non_negative_port: port_no >= 0 ensure -- from DATA_RESOURCE proxy_set: address.is_proxy_used set_proxy_information (pi: PROXY_INFORMATION) -- Set proxy information to pi. -- (from DATA_RESOURCE) require -- from DATA_RESOURCE proxy_supported: is_proxy_supported ensure -- from DATA_RESOURCE proxy_set: address.is_proxy_used set_read_buffer_size (n: INTEGER_32) -- Set size of read buffer. require -- from DATA_RESOURCE size_positive: n > 0 ensure -- from DATA_RESOURCE buffer_size_set: read_buffer_size = n ensure then buffer_size_correct: buffer.count = read_buffer_size set_read_mode -- Set read mode. ensure -- from DATA_RESOURCE read_mode_set: read_mode set_timeout (n: like timeout) -- Set timeout to n seconds. -- (from DATA_RESOURCE) require -- from DATA_RESOURCE non_negative: n >= 0 ensure -- from DATA_RESOURCE timeout_set: timeout_ns = {SOCKET_TIMEOUT_UTILITIES}.seconds_to_nanoseconds (n) set_timeout_ns (a_timeout_nanoseconds: NATURAL_64) -- Set timeout with to a_timeout_nanoseconds nanoseconds. -- Warning: the timeout granularity of the platform may not be nanoseconds, but micro or milliseconds. -- (from DATA_RESOURCE) require -- from DATA_RESOURCE is_valid_timeout_ns: {SOCKET_TIMEOUT_UTILITIES}.is_valid_timeout_ns (a_timeout_nanoseconds) ensure -- from DATA_RESOURCE timeout_ns_set: timeout_ns = a_timeout_nanoseconds set_username (un: STRING_8) -- Set username to un. -- (from DATA_RESOURCE) require -- from DATA_RESOURCE username_accepted: address.Has_username non_empty_username: un /= Void and then not un.is_empty set_write_mode -- Set write mode. ensure -- from DATA_RESOURCE write_mode_set: write_mode feature -- Removal dispose -- Clean up resource. -- (from DATA_RESOURCE) feature -- Duplication copy (other: FILE_PROTOCOL) -- Update current object using fields of object attached -- to other, so as to yield equal objects. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_equal: Current ~ other frozen deep_copy (other: FILE_PROTOCOL) -- Effect equivalent to that of: -- `copy` (other . `deep_twin`) -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY deep_equal: deep_equal (Current, other) frozen deep_twin: FILE_PROTOCOL -- New object structure recursively duplicated from Current. -- (from ANY) ensure -- from ANY deep_twin_not_void: Result /= Void deep_equal: deep_equal (Current, Result) frozen standard_copy (other: FILE_PROTOCOL) -- Copy every field of other onto corresponding field -- of current object. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_standard_equal: standard_is_equal (other) frozen standard_twin: FILE_PROTOCOL -- New object field-by-field identical to other. -- Always uses default copying semantics. -- (from ANY) ensure -- from ANY standard_twin_not_void: Result /= Void equal: standard_equal (Result, Current) frozen twin: FILE_PROTOCOL -- New object equal to Current -- `twin` calls `copy`; to change copying/twinning semantics, redefine `copy`. -- (from ANY) ensure -- from ANY twin_not_void: Result /= Void is_equal: Result ~ Current feature -- Basic operations frozen default: detachable FILE_PROTOCOL -- Default value of object's type -- (from ANY) frozen default_pointer: POINTER -- Default value of type POINTER -- (Avoid the need to write p.`default` for -- some p of type POINTER.) -- (from ANY) ensure -- from ANY instance_free: class default_rescue -- Process exception for routines with no Rescue clause. -- (Default: do nothing.) -- (from ANY) frozen do_nothing -- Execute a null action. -- (from ANY) ensure -- from ANY instance_free: class feature -- Access: timeout connect_timeout: INTEGER_32 -- The connect timeout in milliseconds -- (from DATA_RESOURCE) timeout_ns: NATURAL_64 -- Duration of timeout in nanoseconds. -- (from DATA_RESOURCE) feature -- Input read -- Read packet. require -- from DATA_RESOURCE no_error_occurred: not error open: is_open transfer_initated: transfer_initiated readable: is_readable positive_read_buffer_size: read_buffer_size > 0 packet_pending: is_packet_pending ensure -- from DATA_RESOURCE packet_received: is_packet_pending implies last_packet_size > 0 counter_correct: not error implies bytes_transferred = old bytes_transferred + last_packet_size feature -- Output Io: STD_FILES -- Handle to standard file setup -- (from ANY) ensure -- from ANY instance_free: class io_not_void: Result /= Void out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY out_not_void: Result /= Void print (o: detachable ANY) -- Write terse external representation of o -- on standard output. -- (from ANY) ensure -- from ANY instance_free: class put (other: DATA_RESOURCE) -- Write out resource other. require -- from DATA_RESOURCE no_error_occurred: not (error and other.error) other_resource_exists: other /= Void resources_open: is_open and other.is_open writable: is_writable transfer_initated: transfer_initiated frozen tagged_out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY tagged_out_not_void: Result /= Void feature -- Platform Operating_environment: OPERATING_ENVIRONMENT -- Objects available from the operating system -- (from ANY) ensure -- from ANY instance_free: class operating_environment_not_void: Result /= Void invariant -- from DATA_RESOURCE address_assigned: address /= Void packet_constraint: not (has_packet xor last_packet /= Void) pending_constraint: is_packet_pending implies (is_open and is_readable and transfer_initiated) error_definition: error = (error_code /= 0) valid_count_constraint: count > 0 implies Is_count_valid mode_constraint: is_mode_set = read_mode xor write_mode -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) note copyright: "Copyright (c) 1984-2019, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" source: "[ Eiffel Software 5949 Hollister Ave., Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Website http://www.eiffel.com Customer support http://support.eiffel.com ]" end -- class FILE_PROTOCOL
Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:

-- Generated by Eiffel Studio --
For more details: eiffel.org