+
Point of view
All features
class SIGNAL_2 [E_, F_]
Summary
See tutorial/signal/signals.txt for usage
Direct parents
Insert list: ANY
Class invariant
Overview
Creation features
{ANY}
  • make
    Initialize new signal object
Features
{}
{ANY}
  • connect (p: PROCEDURE[TUPLE[TUPLE 2[E_, F_]]])
    Connect procedure to be called when signal is emitted See also last_connect_id
  • emit (val1: E_, val2: F_)
    Emit signal, ie.
  • last_connect_id: PROCEDURE[TUPLE[TUPLE 2[E_, F_]]]
    return identifier on the last connect which may be used for disconnect (unregister procedure)
  • disconnect (connect_identifier: PROCEDURE[TUPLE[TUPLE 2[E_, F_]]])
    Unregister procedure for this signal.
  • is_empty: BOOLEAN
    return True if no callback is registered for this signal
callbacks: FAST_ARRAY[PROCEDURE[TUPLE[TUPLE 2[E_, F_]]]]
writable attribute
{}
index: INTEGER_32
writable attribute
{}
work to do while emit is between index and last.
last: INTEGER_32
writable attribute
{}
work to do while emit is between index and last.
make
effective procedure
{}
Initialize new signal object
ensure
connect (p: PROCEDURE[TUPLE[TUPLE 2[E_, F_]]])
effective procedure
{ANY}
Connect procedure to be called when signal is emitted See also last_connect_id
require
  • p /= Void
ensure
emit (val1: E_, val2: F_)
effective procedure
{ANY}
Emit signal, ie.
already registered procedure will be called in registration order except if removed by another before.
last_connect_id: PROCEDURE[TUPLE[TUPLE 2[E_, F_]]]
effective function
{ANY}
return identifier on the last connect which may be used for disconnect (unregister procedure)
require ensure
  • Result /= Void
disconnect (connect_identifier: PROCEDURE[TUPLE[TUPLE 2[E_, F_]]])
effective procedure
{ANY}
Unregister procedure for this signal.
If the same procedure was registered many times, only first is removed.
ensure
is_empty: BOOLEAN
effective function
{ANY}
return True if no callback is registered for this signal