# class SignalCacheModel

###

Module | soprano
Namespace | Soprano::Util
Class | SignalCacheModel
Inherits | Soprano::FilterModel

\class SignalCacheModel signalcachemodel.h Soprano/Util/SignalCacheModel

Caches multiple signals into one to avoid slowdown when adding or removing many statements.

When adding or removing many statements with separate calls to Model.addStatement or Model.removeStatement Model emits signals Model.statementsAdded and Model.statementsRemoved over and over for each call. This can slow down an application that monitors the state of the model.

The SignalCacheModel caches multiple emitted signals into one, trying to ensure that only one signal is delivered in a certain time. The downside of this is that signals are not delivered immiadetely but through the event loop. This, however, should seldomly be a problem.

Author Sebastian Trueg <trueg@kde.org>

\since 2.1

### methods

- SignalCacheModel (parent)

  returns ctor

  Argument | Type | Default
  --- | --- | ---
  parent | Soprano.Model | 0

  Create a new SignalCacheModel.

  parent - The parent Model to forward the actual calls to.

- cacheTime ( )

  returns int

  The cache time.

  See also setCacheTime

- parentStatementsAdded ( )

  returns Nothing

  Reimplemented to do the actual signal caching.

- parentStatementsRemoved ( )

  returns Nothing

  Reimplemented to do the actual signal caching.

- setCacheTime (msec)

  returns Nothing

  Argument | Type | Default
  --- | --- | ---
  msec | int |

  Signals are only delivered once every msec milliseconds.

  Default value is 50

- timerEvent (event)

  returns Nothing

  Argument | Type | Default
  --- | --- | ---
  event | QTimerEvent |