how to access data from dataEngine::query in javascript?

Thomas Fjellstrom tfjellstrom at shaw.ca
Tue Jun 29 20:12:07 CEST 2010


On June 29, 2010, Thomas Fjellstrom wrote:
> On June 29, 2010, Aaron J. Seigo wrote:
> > On June 29, 2010, Thomas Fjellstrom wrote:
> > > Basically the way the DataEngine is setup right now is each "Host
> > > Source" is given a single Data Source, with a type of "source", and a
> > > QStringList "hosts" property listing the hosts owned by this source.
> > > After that each host that the host source provides is its own source
> > > with a number of other properties (address, type, mac, name, isUp).
> > 
> > so there are discovery mechanisms (zeroconf, e.g.) and hosts, correct?
> > given discovery mechs d1, d2 and d3 and hosts h1..h6, the DataEngine
> > looks something like this:
> > 
> > d1
> > 
> > 	hosts  = h1, h2
> > 
> > d2
> > 
> > 	hosts = h4, h5
> > 
> > d3
> > 
> > 	hosts = h6, h7
> > 
> > h1
> > 
> > 	address =
> > 	type =
> > 	mac =
> > 	name =
> > 	isUp =
> > 
> > h2
> > 
> > 	address =
> > 	type =
> > 	mac =
> > 	name =
> > 	isUp =
> > 
> > h3
> > 
> > 	address =
> > 	type =
> > 	mac =
> > 	name =
> > 	isUp =
> > 
> > h4
> > 
> > 	address =
> > 	type =
> > 	mac =
> > 	name =
> > 	isUp =
> > 
> > h5
> > 
> > 	address =
> > 	type =
> > 	mac =
> > 	name =
> > 	isUp =
> > 
> > h6
> > 
> > 	address =
> > 	type =
> > 	mac =
> > 	name =
> > 	isUp =
> > 
> > is there any reason not just just skip the d1, d2 and d3 sources and
> > just list the hosts directly? does the visualiation need to list "all
> > hosts that were found using libvirt" such that it warrants the above
> > structure?
> 
> It is not absolutely necessary. But I can see wanting to group by type.
> I'm not sure you want your virtual machines mixed up with manual hosts,
> or with the dynamic ones. I was also planning on adding a "cache source"
> of sorts to remember hosts that the zeroconf or other dynamic sources
> have forgotten about for one reason or another (ie: the machine is off,
> but you may want to turn it back on from the plasmoid using WoL), but
> you may not want to have them shown all the time. Imagine it displayed
> using a layout similar to a tree, except without the branches or
> anything. Just headers and items that collapse into the header on
> command.
> 
> > to me, it would seem more natural to just list the hosts and the
> > visualization can initially iterate over all sources() and then connect
> > to the sourceAdded and sourceRemoved signals to be notified when hosts
> > come and go.
> > 
> > that would resolve your issue fairly neatly?
> 
> It is the first design I thought of. I'm not entirely convinced that
> grouping is necessary, but if you have a lot of hosts, you may want to
> hide entire groups of them. With libvirt and Zeroconf/DNDSD sources you
> could easily have many tens, or hundreds of hosts just appear if you
> walk into an office building, a data center, or you're sharing a busy
> wifi network that happens to have wifi-separation turned off. And you
> may also be interested in /some/ of those hosts but not all, so you may
> not want to turn off the dynamic sources.

I think maybe if I can build some kind of SortFilterModel for a plasma 
widget, I can skip the discovery sources completely. Then the model/view 
bits can manage how things are grouped. I hope.

-- 
Thomas Fjellstrom
tfjellstrom at shaw.ca


More information about the Plasma-devel mailing list