----- Original Message ---- > From: BRM <[email protected]> > ----- Original Message ---- > > From: Thiago Macieira <[email protected]> > > On Thursday, 19 de May de 2011 08:48:29 [email protected] wrote: > > > On 19/05/2011, at 4:42 AM, Thiago Macieira wrote: > > > > On Wednesday, 18 de May de 2011 11:20:25 BRM wrote: > > > >> It could also use some TLC, for example: > > > > Who's going to give it that TLC? > > > > > > Well, if Nokia shows interest in adding the QtService functionality to Qt > > > and you ask nicely...... > > > > > > That's one of the things this list is for, right? ;) > > > > Nokia has no interest in adding it. The question is whether you do, not us. > > > > I have an interest in seeing it added as I use it for 90% of my Qt-based > applications right now. Presently I have to map in the existing QtService as > a > > 3rd party extension, which I then instantiate a template from, and derive > from > > that to make my own service class for how my services work. As a result, I >have > > to map that code in twice - once in the static library for my service class, >and > > again in the main application build (I just refer to the code for the > library >to > > keep down the redundancy) - which is a pain to do. It's also frustrating > that
> there have been no updates to it since 4.5, and while it works with 4.6 and >4.7 > > it doesn't list them as supported either. > > So I'd certainly be interested in being a co-developer with someone on this > - > I'm not sure my employer will go for it - especially as it is very > peripheral >to > > our main issues at the moment, but they'd certainly benefit; and I do have >quite > > a few applications I can use as a test bed of sorts - though I can't make > them > > available for all. I suspect some KDE stuff could potentially use it too - > or >at > > least derive from it for someone more KDE centric - the benefit being that > background applications for KDE on Windows would be able to be full Windows > Services as well (e.g. kded4, klauncher - don't know just a couple quick > examples I pulled from Process Explorer). It also wouldn't be hard to make a >few > > examples either. > > > QtService is presently only supported via an add-on to Qt. I would be >very > > > > helpful to have it be part of the official Qt instead of an add-on - > > > e.g. > > >it's > > > distributed with Qt just like QtGui. > > > It could also use some TLC, for example: > > > - QtService is presently a set of template classes, making use of > >Signal/slots > > > hard. It could probably be better done using Abstract classes to define >the > > > > interface. > > > - It would be useful to schedule shutdown as opposed to having the '-t' > >option > > > simply terminate it; probably '-t' should be "--force-shutdown" instead. > > > - The "Interactive Service" functionality could probably be removed > > > given > > >that > > > (i) adding GUIs to services is not adviced, and (ii) Windows no longer > >supports > > > it (as of Vista). Other platforms may but we probably should follow > > > best > > > practices and encourage developers to split the service from the GUI. > > I very much agree with this, and given that the move to Qt5 is going to >have > > >binary compatibility breaks, it would seem to be an opportune time to > >really > > >consider bringing an improved/restructured QtService class into Qt proper. > >I > > >agree with Ben's view that the current templated approach is both >unnecessary > > >and a hinderance. Dispensing with the GUI support should make for a much > >cleaner class, and as Ben pointed out, a GUI should really be split from > >the > > >service itself anyway. QtService is one of those things that I find myself > >asking "Why isn't this part of the main Qt libraries already?". It makes >sense > > >and fits nicely with the other set of classes provided by Qt. I put it at > >a > >similar level as QDesktopServices, QProcess and QSharedMemory. > > One of the trickier bits of using QtService at the moment is if you want > > to > > >support additional command-line options beyond those defined by QtService. >This > > >is hard enough to do robustly that we basically don't want to do it and >instead > > >work around it. Maybe the command-line handling should be done separately >from > > >the QtService class and have QtService provide member functions to do the > >equivalent instead? FWIW, we ended up implementing our own generic (and > >extensible) command line argument processing class for some other work, so >we > > >have the other half of this picture. I could understand if others would be >less > > >keen to forego the bundled command-line capabilities within QtService as it > > >is > > >currently implemented. > I would probably suggest it be in parallel to QCoreApplication/QApplication > - >a > > simple QService/QDaemon/QDaemonService. > > I also very much agree that the command-line support needs great improvement >as > > well. Though I'm not sure that can be done with the present communications > mechanism between the controller and actual daemon - at least as it stands >now. > > Not sure if continuing the 'file' controller interface is best, or whether a > shared memory or network interface would be better - or may even a > combination > > thereof (e.g. continue with the file interface for some basic commands, but >then > > use another interface via network or shared memory to do more advanced >things.). > Yes - I am volunteering to jointly develop this with someone, whether I get paid (by my employer) to do so or not. I will be able to test Linux Embedded, X11, and Windows platforms. We would need someone to help out with Mac, especially given some of the neat/weird things daemons/services do on Mac; as well as other platforms (e.g. mobile platforms, etc.) Thiago, What do I need to do to help with this? Do I need to setup a project on SF.net for the time being and then later get it accepted into Qt? Or is there a way I can work in a Qt provided sandbox (e.g. project space provided by Nokia/Qt)? Thanks, Ben _______________________________________________ Qt5-feedback mailing list [email protected] http://lists.qt.nokia.com/mailman/listinfo/qt5-feedback
