view ui/taskscheduler.h @ 1338:ba7e36306085

(issue164) README updated.
author Emanuel Schuetze <emanuel@intevation.de>
date Thu, 16 Oct 2014 15:00:52 +0200
parents 2a1aa9df8f11
children
line wrap: on
line source
/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU GPL (v>=2)
 * and comes with ABSOLUTELY NO WARRANTY!
 * See LICENSE.txt for details.
 */
#ifndef TASKSCHEDULER_H
#define TASKSCHEDULER_H

/**
 * @file taskscheduler.h
 * @brief Interface to the Task Scheduler API
 * 
 * Provides a Qt / C++ API to work with the windows task scheduler.
 */

#include <QString>
#include <QTime>
#ifndef INITGUID
#define INITGUID
#include <mstask.h>
#undef INITGUID
#endif

//struct ITaskScheduler;

/** @brief Interface to the Task Scheduler API
*
* Provides a Qt / C++ API to work with the windows task scheduler.
*/
class TaskScheduler
{
public:
    /** @brief Initializes the COM objects */
    TaskScheduler();

    /**@brief Uninitializes the COM objects */
    ~TaskScheduler();
    /** @brief create a task that is executed daily if the user is logged in.
     *
     * @param[in] executable Absolute path to the executable to run.
     * @param[in] args the arguements to pass to the executable.
     * @param[in] startTime the preferred time to start the task.
     *
     * @returns True on success, false on error */
    bool createDailyTask(const QString &executable, const QString &args, const QTime &startTime);

    /** @brief check if the Initialization was successful */
    bool isInitialized() {return mInitialized;}

private:
    bool mInitialized;
    ITaskScheduler *mTaskScheduler;
};

#endif // TASKSCHEDULER_H

http://wald.intevation.org/projects/trustbridge/