2019-03-09 05:27:23 -08:00
|
|
|
struct @beta @free(efl_observable_tuple_free) Efl.Observable_Tuple
|
2019-02-14 12:41:23 -08:00
|
|
|
{
|
|
|
|
[[This type describes an observable touple]]
|
|
|
|
key: string; [[Touple key]]
|
2019-09-06 08:01:05 -07:00
|
|
|
data: iterator<Efl.Observer> @move; [[Touple data]]
|
2019-02-14 12:41:23 -08:00
|
|
|
}
|
|
|
|
|
2019-02-14 08:37:02 -08:00
|
|
|
class @beta Efl.Observable extends Efl.Object {
|
2016-11-03 01:59:58 -07:00
|
|
|
[[Efl observable class]]
|
2016-11-01 10:59:09 -07:00
|
|
|
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.
|
2019-03-20 11:46:44 -07:00
|
|
|
]]
|
2016-11-01 10:59:09 -07:00
|
|
|
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().
|
2019-03-20 11:46:44 -07:00
|
|
|
]]
|
2016-11-01 10:59:09 -07:00
|
|
|
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.
|
2019-03-20 11:46:44 -07:00
|
|
|
]]
|
2016-11-01 10:59:09 -07:00
|
|
|
params {
|
|
|
|
@in obs: Efl.Observer; [[An observer object]]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
observers_iterator_new {
|
|
|
|
[[Return a new iterator associated with a group of observers.
|
2019-03-20 11:46:44 -07:00
|
|
|
]]
|
2019-09-06 08:01:05 -07:00
|
|
|
return: iterator<Efl.Observer> @move; [[Iterator for observers group]]
|
2016-11-01 10:59:09 -07:00
|
|
|
params {
|
|
|
|
@in key: string; [[A key to classify observer groups]]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
observers_update {
|
|
|
|
[[Update all observers in a group by calling their update() method.
|
2019-03-20 11:46:44 -07:00
|
|
|
]]
|
2016-11-01 10:59:09 -07:00
|
|
|
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.
|
2019-03-20 11:46:44 -07:00
|
|
|
]]
|
2019-11-29 05:48:09 -08:00
|
|
|
return: iterator<Efl.Observable_Tuple> @move; [[Iterator for observer]]
|
2016-11-01 10:59:09 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
implements {
|
|
|
|
Efl.Object.constructor;
|
|
|
|
Efl.Object.destructor;
|
|
|
|
}
|
|
|
|
}
|