Mercurial > trustbridge
view ui/taskscheduler.h @ 1143:cc7a5c12a429 runafterinstall
Runafterinstall has been merged into master
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 18 Sep 2014 10:30:27 +0200 |
parents | 8de162b91a22 |
children | 78798d3af8f0 |
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 Interface to the Task Scheduler API * @brief 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