[Kde-hardware-devel] Solid UPnP GSoC idea
Kevin Ottens
ervin at kde.org
Mon Apr 12 09:09:24 CEST 2010
On Sunday 11 April 2010 17:02:12 Friedrich W. H. Kossebau wrote:
> Jeudi, le 8 avril 2010, à 23:57, Kevin Ottens a écrit:
> > Not sure what you have in mind here with "module". But the way I see it,
> > the only thing required would be a Solid::NetworkGateway class
> > (inheriting from DeviceInterface) which would provide two methods (one
> > to open a port, one to close it). This way once you get a hold on a
> > device which is IGD you could just:
> > Solid::Device d = ...;
> > d.as<Solid::NetworkGateway>()->openPort(...);
> > ...
> > d.as<Solid::NetworkGateway>()->closePort(...);
> >
> > Sounds fairly easy to use from any application out there.
>
> Just that this enlarges the Solid lib for every program using Solid, most
> anything but interested in punching gateway holes.
Yes, it enlarges it by one class (API wise). I don't really see that as a
problem, it's part of the libsolid design decision since day one. We give
access to all the hardware, up to us to actually make sure we have things
which are not only interesting to a single app or policy agent in there.
> Shouldn't this be rather part of some SolidControl lib?
Nope, as the plan is to make solidcontrol disappear mid/long-term.
> Or being solved by some dl'opened plugin for each device implementation?
Well, then you tie up frontend and backend together? Doesn't seem like a good
idea.
That said, part of the libsolid architecture changes I have in mind is to
allow not loading some of the backends if you're not interested in their
capabilities. That's still in the "not done" department though.
> > I'd say no. That'd definitely be opening the pandora box. :-)
> >
> > I think we should limit ourselves to multimedia devices/network storage
> > (just like we used to report media players... but now they're connected
> > via ethernet/wifi and not simply USB) and to those very focused headless
> > devices (network gateway, possibly home automation devices).
> >
> > "http server" lacks some focus I'd say. We shouldn't simply report
> > anything which has a port open to the outside. ;-)
>
> Why not?
Because at one point we have to draw a line in the sand or it'll get
unmanageable...
> After all it's a property/ability of that device/hardware. Where
> else should it be reported? And how would you think the overlap should be
> handled, if it was reported elsewhere?
I think one should have to think about use cases of the library really. In the
case of UPnP for instance it's fine to add it as we have some well known
interfaces to it, it's really a consumer electronics oriented protocol. So you
get a communication channel with a specific device feature and you can drive
it (just like USB, only it's on an IP stack).
If you start pulling http into the mix it's much more different as it's too
generic. You've no idea what can be done with the device feature apart from
pointing a web browser to it. And since we're at it we could report imap,
smtp, ssh? Now we're dealing with general purpose network protocols, not
device access protocols.
Regards.
--
Kévin Ottens, http://ervin.ipsquad.net
KDAB - proud patron of KDE, http://www.kdab.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-hardware-devel/attachments/20100412/97f81609/attachment.sig
More information about the Kde-hardware-devel
mailing list