class SIGNAL_1 [E]

Features exported to INTERNALS_HANDLER

See tutorial/signal/signals.txt for usage

Direct parents

non-conformant parents

ANY

Summary

creation features

exported features

Details

make

Initialize new signal object

ensure

    connect (p: PROCEDURE[TUPLE[TUPLE 1[E]]])

    Connect procedure to be called when signal is emitted See also last_connect_id

    require

    • p /= Void

    ensure

    • last_connect_id = p

    emit (val: E)

    Emit signal, ie. already registred procedure will be called in registration order except if removed by another before.

    require

    • val /= Void

    last_connect_id: PROCEDURE[TUPLE[TUPLE 1[E]]]

    return identifier on the last connect which may be used for disconnect (unregister procedure)

    require

    • not is_empty

    ensure

    • Result /= Void

    disconnect (connect_identifier: PROCEDURE[TUPLE[TUPLE 1[E]]])

    Unregister procedure for this signal. If the same procedure was registred many times, only first is removed.

    ensure

      is_empty: BOOLEAN

      return True if no callback is registred for this signal

      Class invariant