view ui/taskscheduler.h @ 1099:3d4a81eff3fd

(issue111) Rename updates button to pending changes
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 15 Sep 2014 12:48:09 +0200
parents 78798d3af8f0
children 2a1aa9df8f11
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;

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/