System Agent acts a manager for a collection of events, each identified by UID, together with the associated state as represented by a TInt
state variable.
External entites 'push' changes to state variables by calling NotifySaVarChangeL()
on an instance of the RSAVarChangeNotify
class.
This collection of event types and associated state variables consumes memory and can, potentially, grow quite large. This reduces the availability of memory, and has a performance overhead when searching for events. The RSAVarChangeNotify
class offers the ReleaseVariable()
function, which allows an event type and its associated state to be released from System Agent control, reducing memory overhead.
System Agent is not intended to maintain high volumes of data, and once event types and their associated state variables have been 'pushed' to System Agent, memory can only be reclaimed by a soft/hard reset or by use of ReleaseVariable()
.