DataEngine and regular polling.

Thomas Fjellstrom tfjellstrom at shaw.ca
Thu Jul 15 21:04:50 CEST 2010


On July 14, 2010, Aaron J. Seigo wrote:
> On July 14, 2010, Thomas Fjellstrom wrote:
> > > one way around that is to not use the setData API in DataEngine, but
> > > to instead create subclasses of DataContainer for each sourc. when
> > > all the data is retreived, then the DataContainer can call
> > > checkForUpdate(). that should work better for your use case.
> > 
> > Hmm, so after I receive the updates from QHostInfo/QProcess, I should
> > call checkForUpdate in my new custom DataContainer?
> 
> right.

Okidok. Switched over to a DataContainer subclass, but checkForUpdate won't 
trigger an update when I set some new data. I tried setNeedsUpdate(true) 
before the checkForUpdate but that didn't seem to help. forceImmediateUpdate 
works though.

Is there some gotcha about checkForUpdate I'm missing? When I call It I know 
some data has changed, other wise my updateHostInfo function would never 
have even been called (which is what is calling checkForUpdate).

> > > > > > 2. DataEngine::setPollingInterval seems to poll only once.
> > > > > 
> > > > > yes, that's an engine-wide polling interval.
> > > > 
> > > > I mean once period. I expected it to actually setup a regular poll,
> > > > not a one shot timer.
> > > 
> > > that was a bug; i've just fixed it. it now does set up a regular poll
> > > as it is supposed to :)
> > 
> > Will the fix make it into 4.5?
> 
> yes, i backported it.

Very nice :) Thanks.

-- 
Thomas Fjellstrom
tfjellstrom at shaw.ca


More information about the Plasma-devel mailing list