forked from enlightenment/efl
68 lines
2.0 KiB
Plaintext
68 lines
2.0 KiB
Plaintext
import efl_types;
|
|
|
|
struct @beta @free(efl_observable_tuple_free) Efl.Observable_Tuple
|
|
{
|
|
[[This type describes an observable touple]]
|
|
key: string; [[Touple key]]
|
|
data: iterator<Efl.Observer> @move; [[Touple data]]
|
|
}
|
|
|
|
class @beta Efl.Observable extends Efl.Object {
|
|
[[Efl observable class]]
|
|
methods {
|
|
observer_add {
|
|
[[Add an observer to a group of observers.
|
|
|
|
Note: Observers that observe this observable are grouped by the $key
|
|
and an observer can belong to multiple groups at the same time.
|
|
]]
|
|
params {
|
|
@in key: string; [[A key to classify observer groups]]
|
|
@in obs: Efl.Observer; [[An observer object]]
|
|
}
|
|
}
|
|
observer_del {
|
|
[[Delete an observer from a group of observers.
|
|
|
|
See also @.observer_add().
|
|
]]
|
|
params {
|
|
@in key: string; [[A key to classify observer groups]]
|
|
@in obs: Efl.Observer; [[An observer object]]
|
|
}
|
|
}
|
|
observer_clean {
|
|
[[Clear an observer from all groups of observers.
|
|
]]
|
|
params {
|
|
@in obs: Efl.Observer; [[An observer object]]
|
|
}
|
|
}
|
|
observers_iterator_new {
|
|
[[Return a new iterator associated with a group of observers.
|
|
]]
|
|
return: iterator<Efl.Observer> @move; [[Iterator for observers group]]
|
|
params {
|
|
@in key: string; [[A key to classify observer groups]]
|
|
}
|
|
}
|
|
observers_update {
|
|
[[Update all observers in a group by calling their update() method.
|
|
]]
|
|
params {
|
|
@in key: string; [[A key to classify observer groups]]
|
|
@in data: void_ptr; [[Required data to update observer]]
|
|
}
|
|
}
|
|
iterator_tuple_new {
|
|
[[Return a new iterator associated to this observable.
|
|
]]
|
|
return: iterator<Efl.Observable_Tuple> @move; [[Iterator for observer]]
|
|
}
|
|
}
|
|
implements {
|
|
Efl.Object.constructor;
|
|
Efl.Object.destructor;
|
|
}
|
|
}
|