Home

qtservice.h

This is the verbatim text of the qtservice.h include file. It is provided only for illustration; the copyright remains with Trolltech.


#ifndef QTSERVICE_H
#define QTSERVICE_H

#include <qstring.h>
#include <qnamespace.h>

class QtServicePrivate;
class QtServiceSysPrivate;

class QtService : public Qt
{
public:
    enum EventType
    {
	Success = 0, Error, Warning, Information
    };
    enum StartupType
    {
	Auto = 0, Manual
    };

    QtService( const QString &name, const QString &desc = QString::null, StartupType startup = Auto );
    virtual ~QtService();

    int parseArguments( int argc, char **argv );

    virtual bool isInstalled() const;
    virtual bool isRunning() const;
    StartupType startupType() const;

    virtual bool install();
    virtual bool uninstall();
    virtual void reportEvent( const QString &, EventType type = Success, int ID = 0, uint category = 0, const QByteArray &data = QByteArray() );

    virtual int exec( int argc, char **argv );
    virtual bool terminate();
    virtual void requestPause();
    virtual void requestResume();
    virtual void sendCommand(int code);

    QString serviceName() const;
    QString serviceDescription() const;

protected:
    virtual bool initialize();
    virtual int  run( int argc, char **argv ) = 0;
    virtual bool start();
    virtual void stop();
    virtual void pause();
    virtual void resume();
    virtual void user( int code );

private:
    friend class QtServiceSysPrivate;
    void sysInit();
    void sysCleanup();

    QtServicePrivate *d;
    QtServiceSysPrivate *sysd;
};

extern QtService *qService;

#endif // QTSERVICE_H

Copyright © 2003-2005 TrolltechTrademarks
Qt Solutions