class SIGNAL_4 [E, F, G, H]

Features exported to ANY

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 4[EFGH]]])

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

    require

    • p /= Void

    ensure

    • last_connect_id = p

    emit (val1: E, val2: F, val3: G, val4: H)

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

    require

    • val1 /= Void

      TODO: Why ? If E is expanded type ?

    • val2 /= Void
    • val3 /= Void
    • val4 /= Void

    last_connect_id: PROCEDURE[TUPLE[TUPLE 4[EFGH]]]

    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 4[EFGH]]])

    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