take_static_value


Description:

public Value? take_static_value (Value value, bool value_changed) throws Error

Sets the const value within the holder.

If this is an alias for another holder, then the value is also set for that other holder.

The value will not be freed, and user should take care of it, either for its freeing or for its correct value at the moment of query.

If the value is not different from the one already contained within this, then this is not changed and no signal is emitted.

Note1: if this can't accept the value value, then this method returns NULL, and this will be left in an invalid state.

Note2: before the change is accepted by this, the "validate-change" signal will be emitted (the value of which can prevent the change from happening) which can be connected to to have a greater control of which values this can have, or implement some business rules.

Parameters:

this

a Holder object

value

a const value to set the holder to

value_changed

a boolean set with TRUE if the value changes, FALSE elsewhere.

Returns:

NULL if an error occurred or if the previous GValue was NULL itself. It returns the static GValue user set previously, so that he can free it.