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