efl/src/lib/efl/interfaces/efl_observable.eo

66 lines
2.0 KiB
Plaintext

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;
}
}