class EL_EVENT_LISTENER

(source code)

Description

Event notification abstraction

Descendants

EL_EVENT_LISTENER*
   EL_COMMA_SEPARATED_WORDS_LIST
   EL_DEFAULT_EVENT_LISTENER
   EL_BYTE_COUNTING_LISTENER*
      EL_READ_BYTE_COUNTING_LISTENER
      EL_WRITTEN_BYTE_COUNTING_LISTENER
   EL_AGENT_EVENT_LISTENER
   EL_EVENT_LISTENER_PAIR
   EL_EVENT_LISTENER_LIST
   EL_CONSUMER_MAIN_THREAD* [P]
      EL_MAIN_THREAD_REGULAR_INTERVAL_EVENT_CONSUMER*
      EL_COUNT_CONSUMER_MAIN_THREAD*
         EL_TIMED_PROCEDURE_MAIN_THREAD
      EL_PROCEDURE_CALL_CONSUMER_MAIN_THREAD
      EL_ACTION_ARGUMENTS_CONSUMER_MAIN_THREAD [ARGS -> TUPLE create default_create end]
   EL_EVENT_LISTENER_MAIN_THREAD_PROXY
   EL_DELEGATING_CONSUMER_THREAD [P, T -> EL_MANY_TO_ONE_CONSUMER_THREAD [P] create make end]
      EL_LOGGED_DELEGATING_CONSUMER_THREAD [P, T -> EL_MANY_TO_ONE_CONSUMER_THREAD [P] create make end]
note
	description: "Event notification abstraction"
	descendants: "See end of class"

	author: "Finnian Reilly"
	copyright: "Copyright (c) 2001-2017 Finnian Reilly"
	contact: "finnian at eiffel hyphen loop dot com"

	license: "MIT license (See: en.wikipedia.org/wiki/MIT_License)"
	date: "2021-03-08 14:14:49 GMT (Monday 8th March 2021)"
	revision: "4"

deferred class
	EL_EVENT_LISTENER

feature -- Basic operation

	notify
			--
		deferred
		end

feature -- Access

	listener_count: INTEGER
		-- number of active listeners
		do
			Result := 1
		end

note
	descendants: "[
			EL_EVENT_LISTENER*
				[$source EL_COMMA_SEPARATED_WORDS_LIST]
				[$source EL_DEFAULT_EVENT_LISTENER]
				[$source EL_BYTE_COUNTING_LISTENER]*
					[$source EL_READ_BYTE_COUNTING_LISTENER]
					[$source EL_WRITTEN_BYTE_COUNTING_LISTENER]
				[$source EL_AGENT_EVENT_LISTENER]
				[$source EL_EVENT_LISTENER_PAIR]
				[$source EL_EVENT_LISTENER_LIST]
				[$source EL_CONSUMER_MAIN_THREAD]* [P]
					[$source EL_MAIN_THREAD_REGULAR_INTERVAL_EVENT_CONSUMER]*
					[$source EL_COUNT_CONSUMER_MAIN_THREAD]*
						[$source EL_TIMED_PROCEDURE_MAIN_THREAD]
					[$source EL_PROCEDURE_CALL_CONSUMER_MAIN_THREAD]
					[$source EL_ACTION_ARGUMENTS_CONSUMER_MAIN_THREAD] [ARGS -> [$source TUPLE] create default_create end]
				[$source EL_EVENT_LISTENER_MAIN_THREAD_PROXY]
				[$source EL_DELEGATING_CONSUMER_THREAD] [P, T -> [$source EL_MANY_TO_ONE_CONSUMER_THREAD] [P] create make end]
					[$source EL_LOGGED_DELEGATING_CONSUMER_THREAD] [P, T -> [$source EL_MANY_TO_ONE_CONSUMER_THREAD] [P] create make end]

	]"
end