1 /* ------------------ operationClass.h --------------------------------------------------------------------------------------
2  header file for luckyBackup project
3 
4 ===============================================================================================================================
5 ===============================================================================================================================
6      This file is part of "luckyBackup" project
7      Copyright, Loukas Avgeriou
8      luckyBackup is distributed under the terms of the GNU General Public License
9      luckyBackup is free software: you can redistribute it and/or modify
10      it under the terms of the GNU General Public License as published by
11      the Free Software Foundation, either version 3 of the License, or
12      (at your option) any later version.
13 
14      luckyBackup is distributed in the hope that it will be useful,
15      but WITHOUT ANY WARRANTY; without even the implied warranty of
16      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17      GNU General Public License for more details.
18 
19      You should have received a copy of the GNU General Public License
20      along with luckyBackup.  If not, see <http://www.gnu.org/licenses/>.
21 
22 
23  project version    : Please see "main.cpp" for project version
24 
25  developer          : luckyb
26  last modified      : 22 May 2016
27 ===============================================================================================================================
28 ===============================================================================================================================
29 */
30 
31 
32 #ifndef OPERATIONCLASS_H
33 #define OPERATIONCLASS_H
34 #include <QDateTime>
35 #include <QStringList>
36 
37 //==============================================================================================================
38 //Declaration of operation class (this is the class that holds operation's name & arguments)
39 class operation
40 {
41     public:
operation()42         operation()                                 //constructor
43         {
44             itsName = "";
45             itsArguments.clear();   //itsArguments << "";
46             itsDescription = "";
47             itsSource = "";
48             itsDestination = "";
49             itsConnectRestore = "";
50             itsLastExecutionErrors = -1;
51             itsExclude = false;
52             itsInclude = false;
53             itsIncludeModeNormal = false;
54             itsByPassWARNING = false;
55             itsCloneWARNING = true;
56             itsRepeatOnFail = 0;
57             itsKeepSnapshots = 1;
58             itsSnapshotsList.clear();
59             itsOptionsFATntfs = false;
60             itsOptionsSuper = false;
61             itsOptionsNumericIDs = false;
62             itsOptionsVss = false;
63             itsOptionsRestorent = false;
64             itsIncludeFromFile = false;
65             itsExcludeFromFile = false;
66             itsExcludeGVFS = false;
67             itsExecuteBeforeList.clear();
68             itsExecuteBeforeListState.clear();
69             itsExecuteAfterList.clear();
70             itsExecuteAfterListState.clear();
71         }
~operation()72         ~operation() {}                             //destructor
73 
74         //Functions - get class operation data--------------------------------------------------------------------------------------
GetName()75         QString GetName() const                 {return itsName;}
GetDescription()76         QString GetDescription() const          {return itsDescription;}
GetArgs()77         QStringList GetArgs() const             {return itsArguments;}
GetIncluded()78         bool GetIncluded () const               {return itsIncluded;}
GetCRITICAL()79         bool GetCRITICAL () const               {return itsCRITICAL;}
GetWARNING()80         bool GetWARNING () const                {return itsWARNING;}
GetOK()81         bool GetOK () const                     {return itsOK;}
GetDestMounted()82         bool GetDestMounted () const            {return itsDestMounted;}
GetSourceMounted()83         bool GetSourceMounted () const          {return itsSourceMounted;}
GetSourcePerms()84         bool GetSourcePerms() const             {return itsSourcePerms;}
GetDestPerms()85         bool GetDestPerms () const              {return itsDestPerms;}
GetPerform()86         bool GetPerform () const                {return itsPerform;}
GetByPassWARNING()87         bool GetByPassWARNING () const          {return itsByPassWARNING;}
GetCloneWARNING()88         bool GetCloneWARNING () const           {return itsCloneWARNING;}
GetRepeatOnFail()89         int GetRepeatOnFail() const             {return itsRepeatOnFail;}
90 
GetLastExecutionTime()91         QDateTime GetLastExecutionTime() const  {return itsLastExecutionTime;}
GetLastExecutionErrors()92         int GetLastExecutionErrors() const      {return itsLastExecutionErrors;}
GetSnapshotsListSize()93         int GetSnapshotsListSize () const       {return itsSnapshotsList.size();}
GetSnapshotsList()94         QStringList GetSnapshotsList () const   {return itsSnapshotsList;}
GetSnapshotsListItem(int itemPosition)95         QString GetSnapshotsListItem (int itemPosition) const {return itsSnapshotsList.value(itemPosition);}
GetKeepSnapshots()96         int GetKeepSnapshots () const           {return itsKeepSnapshots;}
97 
GetConnectRestore()98         QString GetConnectRestore () const      {return itsConnectRestore;}
99 
GetTypeDirContents()100         bool GetTypeDirContents () const        {return itsTypeDirContents;}
GetTypeDirName()101         bool GetTypeDirName () const            {return itsTypeDirName;}
GetTypeSync()102         bool GetTypeSync () const               {return itsTypeSync;}
103 
GetSource()104         QString GetSource() const               {return itsSource;}
GetDestination()105         QString GetDestination() const          {return itsDestination;}
106 
GetExclude()107         bool GetExclude() const                 {return itsExclude;}
GetExcludeFromFile()108         bool GetExcludeFromFile() const         {return itsExcludeFromFile;}
GetExcludeFile()109         QString GetExcludeFile() const          {return itsExcludeFile;}
GetExcludeTemp()110         bool GetExcludeTemp() const             {return itsExcludeTemp;}
GetExcludeCache()111         bool GetExcludeCache () const           {return itsExcludeCache;}
GetExcludeBackup()112         bool GetExcludeBackup () const          {return itsExcludeBackup;}
GetExcludeMount()113         bool GetExcludeMount() const            {return itsExcludeMount;}
GetExcludeLostFound()114         bool GetExcludeLostFound() const        {return itsExcludeLostFound;}
GetExcludeSystem()115         bool GetExcludeSystem() const           {return itsExcludeSystem;}
GetExcludeTrash()116         bool GetExcludeTrash() const            {return itsExcludeTrash;}
GetExcludeGVFS()117         bool GetExcludeGVFS() const             {return itsExcludeGVFS;}
GetExcludeListSize()118         int GetExcludeListSize () const         {return itsExcludeList.size();}
GetExcludeListItem(int itemPosition)119         QString GetExcludeListItem (int itemPosition) const {return itsExcludeList.value(itemPosition);}
120 
GetInclude()121         bool GetInclude() const                 {return itsInclude;}
GetIncludeFromFile()122         bool GetIncludeFromFile() const         {return itsIncludeFromFile;}
GetIncludeModeNormal()123         bool GetIncludeModeNormal() const       {return itsIncludeModeNormal;}
GetIncludeFile()124         QString GetIncludeFile() const          {return itsIncludeFile;}
GetIncludeListSize()125         int GetIncludeListSize () const         {return itsIncludeList.size();}
GetIncludeListItem(int itemPosition)126         QString GetIncludeListItem (int itemPosition) const {return itsIncludeList.value(itemPosition);}
127 
GetRemote()128         bool GetRemote () const                 {return itsRemote;}
GetRemoteModule()129         bool GetRemoteModule () const           {return itsRemoteModule;}
GetRemoteDestination()130         bool GetRemoteDestination () const      {return itsRemoteDestination;}
GetRemoteSource()131         bool GetRemoteSource () const           {return itsRemoteSource;}
GetRemoteSSH()132         bool GetRemoteSSH () const              {return itsRemoteSSH;}
GetRemoteHost()133         QString GetRemoteHost () const          {return itsRemoteHost;}
GetRemoteUser()134         QString GetRemoteUser () const          {return itsRemoteUser;}
GetRemotePassword()135         QString GetRemotePassword () const      {return itsRemotePassword;}
GetRemoteSSHPassword()136         QString GetRemoteSSHPassword () const   {return itsRemoteSSHPassword;}
GetRemoteSSHPasswordStr()137         QString GetRemoteSSHPasswordStr () const{return itsRemoteSSHPasswordStr;}
GetRemoteSSHOptions()138         QString GetRemoteSSHOptions () const    {return itsRemoteSSHOptions;}
GetRemoteSSHPort()139         int GetRemoteSSHPort () const           {return itsRemoteSSHPort;}
140 
GetOptionsUpdate()141         bool GetOptionsUpdate () const          {return itsOptionsUpdate;}
GetOptionsDelete()142         bool GetOptionsDelete () const          {return itsOptionsDelete;}
GetOptionsRecurse()143         bool GetOptionsRecurse () const         {return itsOptionsRecurse;}
GetOptionsOwnership()144         bool GetOptionsOwnership () const       {return itsOptionsOwnership;}
GetOptionsSymlinks()145         bool GetOptionsSymlinks () const        {return itsOptionsSymlinks;}
GetOptionsPermissions()146         bool GetOptionsPermissions () const     {return itsOptionsPermissions;}
GetOptionsDevices()147         bool GetOptionsDevices () const         {return itsOptionsDevices;}
GetOptionsCVS()148         bool GetOptionsCVS () const             {return itsOptionsCVS;}
GetOptionsHardLinks()149         bool GetOptionsHardLinks () const       {return itsOptionsHardLinks;}
GetOptionsFATntfs()150         bool GetOptionsFATntfs() const          {return itsOptionsFATntfs;}
GetOptionsSuper()151         bool GetOptionsSuper() const            {return itsOptionsSuper;}
GetOptionsNumericIDs()152         bool GetOptionsNumericIDs() const       {return itsOptionsNumericIDs;}
153         //windows related
GetOptionsVss()154         bool GetOptionsVss () const             {return itsOptionsVss;}
GetOptionsRestorent()155         bool GetOptionsRestorent () const       {return itsOptionsRestorent;}
GetTempPath()156         QString GetTempPath () const            {return itsTempPath;}
GetLuckyBackupDir()157         QString GetLuckyBackupDir ( )           {return itsAppDir;}
GetVshadowDir()158         QString GetVshadowDir () const          {return itsVshadowDir;}
GetRsyncCommand()159         QString GetRsyncCommand () const        {return itsRsyncCommand;}
GetDosdevCommand()160         QString GetDosdevCommand () const       {return itsDosdevCommand;}
GetCygpathCommand()161         QString GetCygpathCommand () const      {return itsCygpathCommand;}
GetSshCommand()162         QString GetSshCommand () const          {return itsSshCommand;}
163         // user options
GetOptionsListSize()164         int GetOptionsListSize () const         {return itsOptionsList.size();}
GetOptionsListItem(int itemPosition)165         QString GetOptionsListItem (int itemPosition) const {return itsOptionsList.value(itemPosition);}
166 
GetExecuteBeforeListSize()167         int GetExecuteBeforeListSize () const   {return itsExecuteBeforeList.size();}
GetExecuteBeforeListItem(int itemPosition)168         QString GetExecuteBeforeListItem (int itemPosition) const {return itsExecuteBeforeList.value(itemPosition);}
GetExecuteBeforeListItemState(int itemPosition)169         bool GetExecuteBeforeListItemState (int itemPosition) const {return itsExecuteBeforeListState.value(itemPosition);}
GetExecuteAfterListSize()170         int GetExecuteAfterListSize () const    {return itsExecuteAfterList.size();}
GetExecuteAfterListItem(int itemPosition)171         QString GetExecuteAfterListItem (int itemPosition) const {return itsExecuteAfterList.value(itemPosition);}
GetExecuteAfterListItemState(int itemPosition)172         bool GetExecuteAfterListItemState (int itemPosition) const {return itsExecuteAfterListState.value(itemPosition);}
173 
174         //Functions - set class operation data --------------------------------------------------------------------------------------
SetName(QString name)175         void SetName(QString name)                          {itsName = name;}
SetDescription(QString description)176         void SetDescription(QString description)            {itsDescription = description;}
177 
178         // Task state & general properties
SetIncluded(bool included)179         void SetIncluded(bool included)                     {itsIncluded = included;}
SetWARNING(bool warning)180         void SetWARNING(bool warning)                       {itsWARNING = warning;}
SetCRITICAL(bool critical)181         void SetCRITICAL(bool critical)                     {itsCRITICAL = critical;}
SetOK(bool ok)182         void SetOK(bool ok)                                 {itsOK = ok;}
SetSourceMounted(bool mounted)183         void SetSourceMounted(bool mounted)                 {itsSourceMounted = mounted;}
SetDestMounted(bool mounted)184         void SetDestMounted(bool mounted)                   {itsDestMounted = mounted;}
SetSourcePerms(bool sourceperms)185         void SetSourcePerms(bool sourceperms)               {itsSourcePerms = sourceperms;}
SetDestPerms(bool destperms)186         void SetDestPerms(bool destperms)                   {itsDestPerms = destperms;}
SetPerform(bool perform)187         void SetPerform(bool perform)                       {itsPerform = perform;}
SetByPassWARNING(bool ByPassWARNING)188         void SetByPassWARNING(bool ByPassWARNING)           {itsByPassWARNING = ByPassWARNING;}
SetCloneWARNING(bool CloneWARNING)189         void SetCloneWARNING(bool CloneWARNING)             {itsCloneWARNING = CloneWARNING;}
SetRepeatOnFail(int RepeatOnFail)190         void SetRepeatOnFail(int RepeatOnFail)              {itsRepeatOnFail = RepeatOnFail;}
191 
192         // last execution time & errors
SetLastExecutionTime(QDateTime lastTime)193         void SetLastExecutionTime(QDateTime lastTime)       {itsLastExecutionTime = lastTime;}
SetLastExecutionErrors(int LastExecutionErrors)194         void SetLastExecutionErrors(int LastExecutionErrors){itsLastExecutionErrors = LastExecutionErrors;}
195 
196         // snapshots list
SetSnapshotsList(QStringList snapslist)197         void SetSnapshotsList (QStringList snapslist)       {itsSnapshotsList = snapslist;}
AddSnapshotsListItem(QString itemText)198         void AddSnapshotsListItem (QString itemText)        {itsSnapshotsList.append(itemText);}
ReplaceSnapshotsListItem(int position,QString text)199         void ReplaceSnapshotsListItem (int position,QString text)   {itsSnapshotsList.replace(position,text);}
RemoveSnapshotsListItem(int position)200         void RemoveSnapshotsListItem  (int position)        {itsSnapshotsList.removeAt(position);}
ClearSnapshotsList()201         void ClearSnapshotsList ()                          {itsSnapshotsList.clear();}
SnapshotsListIsEmpty()202         bool SnapshotsListIsEmpty ()                        {return itsSnapshotsList.isEmpty();}
SetKeepSnapshots(int keepsnapshots)203         void SetKeepSnapshots(int keepsnapshots)            {itsKeepSnapshots = keepsnapshots;}
204 
205         // Arguments list
SetArgs(QStringList arguments)206         void SetArgs (QStringList arguments)                {itsArguments = arguments;}
AppendArg(QString argument)207         void AppendArg (QString argument)                   {if (argument!="") itsArguments.append(argument);}
InsertDryRunArg()208         void InsertDryRunArg ()                             {itsArguments.insert(itsArguments.size()-2,"--dry-run");}
209 
210         // connection with other task
SetConnectRestore(QString Connection)211         void SetConnectRestore (QString Connection)         {  itsConnectRestore = Connection;}
212 
213         // Task type
SetTypeDirContents(bool TypeDirContents)214         void SetTypeDirContents (bool TypeDirContents)      { itsTypeDirContents = TypeDirContents;}
SetTypeDirName(bool TypeDirName)215         void SetTypeDirName (bool TypeDirName)              { itsTypeDirName = TypeDirName;}
SetTypeSync(bool TypeSync)216         void SetTypeSync (bool TypeSync)                    { itsTypeSync = TypeSync;}
217 
218         // source & destination
SetSource(QString source)219         void SetSource(QString source)                      {itsSource = source;}
SetDestination(QString destination)220         void SetDestination(QString destination)            {itsDestination = destination;}
221 
222         // Exclude ~~~~~~~~~~~
223         // Exclude boolean
SetExclude()224         void SetExclude()                      { if ( ((itsExcludeFromFile) && !(itsExcludeFile=="")) || (itsExcludeTemp)||(itsExcludeCache)||(itsExcludeBackup)||
225                                     (itsExcludeMount)||(itsExcludeLostFound)||(itsExcludeSystem)||
226                                     (itsExcludeTrash)||(itsExcludeGVFS)||(itsExcludeList.size()>0) )
227                                         itsExclude = true;
228                                     else     itsExclude = false; }
229         // Exclude templates
SetExcludeTemp(bool ExcludeTemp)230         void SetExcludeTemp(bool ExcludeTemp)               { itsExcludeTemp = ExcludeTemp;}
SetExcludeCache(bool ExcludeCache)231         void SetExcludeCache (bool ExcludeCache)            { itsExcludeCache = ExcludeCache;}
SetExcludeBackup(bool ExcludeBackup)232         void SetExcludeBackup (bool ExcludeBackup)          { itsExcludeBackup = ExcludeBackup;}
SetExcludeMount(bool ExcludeMount)233         void SetExcludeMount(bool ExcludeMount)             { itsExcludeMount = ExcludeMount;}
SetExcludeLostFound(bool ExcludeLostFound)234         void SetExcludeLostFound(bool ExcludeLostFound)     { itsExcludeLostFound = ExcludeLostFound;}
SetExcludeSystem(bool ExcludeSystem)235         void SetExcludeSystem(bool ExcludeSystem)           { itsExcludeSystem = ExcludeSystem;}
SetExcludeTrash(bool ExcludeTrash)236         void SetExcludeTrash(bool ExcludeTrash)             { itsExcludeTrash = ExcludeTrash;}
SetExcludeGVFS(bool ExcludeGVFS)237         void SetExcludeGVFS(bool ExcludeGVFS)               { itsExcludeGVFS = ExcludeGVFS;}
238         // Exclude from file
SetExcludeFromFile(bool ExcludeFromFile)239         void SetExcludeFromFile(bool ExcludeFromFile)       { itsExcludeFromFile = ExcludeFromFile;}
SetExcludeFile(QString ExcludeFile)240         void SetExcludeFile(QString ExcludeFile)            { itsExcludeFile = ExcludeFile;}
241         //Exclude list - user defined
AddExcludeListItem(QString itemText)242         void AddExcludeListItem (QString itemText)          { itsExcludeList.append(itemText);}
243 
244         // Include ~~~~~~~~~~~~~
245         // Include boolean
SetInclude()246         void SetInclude()                      {  if ( ((itsIncludeFromFile) && !(itsIncludeFile=="")) ||
247                                             (itsIncludeList.size()>0) )
248                                         itsInclude = true;
249                                     else    itsInclude = false;}
250         // Include from file
SetIncludeFromFile(bool IncludeFromFile)251         void SetIncludeFromFile(bool IncludeFromFile)       { itsIncludeFromFile = IncludeFromFile;}
252         // Include mode
SetIncludeModeNormal(bool IncludeModeNormal)253         void SetIncludeModeNormal(bool IncludeModeNormal)   { itsIncludeModeNormal = IncludeModeNormal;}
254 
SetIncludeFile(QString IncludeFile)255         void SetIncludeFile(QString IncludeFile)            { itsIncludeFile = IncludeFile;}
256         // Include list
AddIncludeListItem(QString itemText)257         void AddIncludeListItem (QString itemText)          { itsIncludeList.append(itemText);}
258 
259         // Remote
SetRemote(bool Remote)260         void SetRemote (bool Remote)                        { itsRemote = Remote;}
SetRemoteModule(bool RemoteModule)261         void SetRemoteModule (bool RemoteModule)            { itsRemoteModule = RemoteModule;}
SetRemoteDestination(bool RemoteDestination)262         void SetRemoteDestination (bool RemoteDestination)  { itsRemoteDestination = RemoteDestination;}
SetRemoteSource(bool RemoteSource)263         void SetRemoteSource (bool RemoteSource)            { itsRemoteSource = RemoteSource;}
SetRemoteSSH(bool RemoteSSH)264         void SetRemoteSSH (bool RemoteSSH)                  { itsRemoteSSH = RemoteSSH;}
SetRemoteHost(QString RemoteHost)265         void SetRemoteHost (QString RemoteHost)             { itsRemoteHost = RemoteHost;}
SetRemoteUser(QString RemoteUser)266         void SetRemoteUser (QString RemoteUser)             { itsRemoteUser = RemoteUser;}
SetRemotePassword(QString RemotePassword)267         void SetRemotePassword (QString RemotePassword)     { itsRemotePassword = RemotePassword;}
SetRemoteSSHPassword(QString RemoteSSHPassword)268         void SetRemoteSSHPassword (QString RemoteSSHPassword) { itsRemoteSSHPassword = RemoteSSHPassword;}
SetRemoteSSHPasswordStr(QString RemoteSSHPassword)269         void SetRemoteSSHPasswordStr (QString RemoteSSHPassword) { itsRemoteSSHPasswordStr = RemoteSSHPassword;}
SetRemoteSSHOptions(QString RemoteSSHOptions)270         void SetRemoteSSHOptions (QString RemoteSSHOptions) { itsRemoteSSHOptions = RemoteSSHOptions;}
SetRemoteSSHPort(int RemoteSSHPort)271         void SetRemoteSSHPort (int RemoteSSHPort)           { itsRemoteSSHPort = RemoteSSHPort;}
272 
273         // Command options - templates
SetOptionsUpdate(bool OptionsUpdate)274         void SetOptionsUpdate (bool OptionsUpdate)          { itsOptionsUpdate = OptionsUpdate;}
SetOptionsDelete(bool OptionsDelete)275         void SetOptionsDelete (bool OptionsDelete)          { itsOptionsDelete = OptionsDelete;}
SetOptionsRecurse(bool OptionsRecurse)276         void SetOptionsRecurse (bool OptionsRecurse)        { itsOptionsRecurse = OptionsRecurse;}
SetOptionsOwnership(bool OptionsOwnership)277         void SetOptionsOwnership (bool OptionsOwnership)    { itsOptionsOwnership = OptionsOwnership;}
SetOptionsSymlinks(bool OptionsSymlinks)278         void SetOptionsSymlinks (bool OptionsSymlinks)      { itsOptionsSymlinks = OptionsSymlinks;}
SetOptionsPermissions(bool OptionsPermissions)279         void SetOptionsPermissions (bool OptionsPermissions){ itsOptionsPermissions = OptionsPermissions;}
SetOptionsDevices(bool OptionsDevices)280         void SetOptionsDevices (bool OptionsDevices)        { itsOptionsDevices = OptionsDevices;}
SetOptionsCVS(bool OptionsCVS)281         void SetOptionsCVS (bool OptionsCVS)                { itsOptionsCVS = OptionsCVS;}
SetOptionsHardLinks(bool OptionsHardLinks)282         void SetOptionsHardLinks (bool OptionsHardLinks)    { itsOptionsHardLinks = OptionsHardLinks;}
SetOptionsFATntfs(bool OptionsFATntfs)283         void SetOptionsFATntfs (bool OptionsFATntfs)        { itsOptionsFATntfs = OptionsFATntfs;}
SetOptionsSuper(bool OptionsSuper)284         void SetOptionsSuper (bool OptionsSuper)            { itsOptionsSuper = OptionsSuper;}
SetOptionsNumericIDs(bool OptionsNumeriIDs)285         void SetOptionsNumericIDs (bool OptionsNumeriIDs)   { itsOptionsNumericIDs = OptionsNumeriIDs;}
286         // windows related options
SetOptionsRestorent(bool Options)287         void SetOptionsRestorent (bool Options)             { itsOptionsRestorent = Options;}
SetOptionsVss(bool Options)288         void SetOptionsVss (bool Options)                   { itsOptionsVss = Options;}
SetTempPath(QString s)289         void SetTempPath (QString s)                        {itsTempPath = s;}
SetLuckyBackupDir(QString s)290         void SetLuckyBackupDir (QString s)                  { itsAppDir = s; }
SetVshadowDir(QString s)291         void SetVshadowDir (QString s)                      {itsVshadowDir = s;}
SetRsyncCommand(QString s)292         void SetRsyncCommand (QString s)                    {itsRsyncCommand = s;}
SetDosdevCommand(QString s)293         void SetDosdevCommand (QString s)                   {itsDosdevCommand = s;}
SetCygpathCommand(QString s)294         void SetCygpathCommand (QString s)                  {itsCygpathCommand = s;}
SetSshCommand(QString s)295         void SetSshCommand (QString s)                      {itsSshCommand = s;}
296         // Command options list - user defined
AddOptionsListItem(QString itemText)297         void AddOptionsListItem (QString itemText)          { itsOptionsList.append(itemText);}
298 
299         // Execute before/after list
AddExecuteBeforeListItem(QString itemText)300         void AddExecuteBeforeListItem (QString itemText)    { itsExecuteBeforeList.append(itemText);}
AddExecuteBeforeListItemState(bool itemState)301         void AddExecuteBeforeListItemState (bool itemState) { itsExecuteBeforeListState.append(itemState);}
AddExecuteAfterListItem(QString itemText)302         void AddExecuteAfterListItem (QString itemText)     { itsExecuteAfterList.append(itemText);}
AddExecuteAfterListItemState(bool itemState)303         void AddExecuteAfterListItemState (bool itemState)  { itsExecuteAfterListState.append(itemState);}
304 
305     private:
306         QString itsName;
307         QStringList itsArguments;
308         QString itsDescription;
309         bool itsIncluded;
310         bool itsCRITICAL;
311         bool itsWARNING;
312         bool itsOK;
313         bool itsSourceMounted;
314         bool itsDestMounted;
315         bool itsSourcePerms;
316         bool itsDestPerms;
317         bool itsPerform;
318         bool itsByPassWARNING;
319         bool itsCloneWARNING;
320         int itsRepeatOnFail;
321         QDateTime itsLastExecutionTime;
322         int itsLastExecutionErrors;
323         QStringList itsSnapshotsList;
324         int itsKeepSnapshots;
325 
326         QString itsConnectRestore;
327 
328         bool itsTypeDirName;
329         bool itsTypeDirContents;
330         bool itsTypeSync;
331 
332         QString itsDestination;
333         QString itsSource;
334 
335         bool itsExclude;
336         bool itsExcludeTemp;
337         bool itsExcludeCache;
338         bool itsExcludeBackup;
339         bool itsExcludeMount;
340         bool itsExcludeLostFound;
341         bool itsExcludeSystem;
342         bool itsExcludeTrash;
343         bool itsExcludeGVFS;
344         bool itsExcludeFromFile;
345         QString itsExcludeFile;
346         QStringList itsExcludeList;
347 
348         bool itsInclude;
349         bool itsIncludeFromFile;
350         bool itsIncludeModeNormal;
351         QString itsIncludeFile;
352         QStringList itsIncludeList;
353 
354         bool itsRemote;
355         bool itsRemoteModule;
356         bool itsRemoteDestination;
357         bool itsRemoteSource;
358         bool itsRemoteSSH;
359         QString itsRemoteHost;
360         QString itsRemoteUser;
361         QString itsRemotePassword;
362         QString itsRemoteSSHPassword;
363         QString itsRemoteSSHPasswordStr;
364         QString itsRemoteSSHOptions;
365         int itsRemoteSSHPort;
366 
367         bool itsOptionsUpdate;
368         bool itsOptionsDelete;
369         bool itsOptionsRecurse;
370         bool itsOptionsOwnership;
371         bool itsOptionsSymlinks;
372         bool itsOptionsPermissions;
373         bool itsOptionsDevices;
374         bool itsOptionsCVS;
375         bool itsOptionsHardLinks;
376         bool itsOptionsFATntfs;
377         bool itsOptionsSuper;
378         bool itsOptionsNumericIDs;
379         //windows related variables
380         bool itsOptionsVss;
381         bool itsOptionsRestorent;
382         QString itsTempPath;
383         QString itsAppDir;
384         QString itsVshadowDir;
385         QString itsRsyncCommand;
386         QString itsDosdevCommand;
387         QString itsCygpathCommand;
388         QString itsSshCommand;
389         //user defined options list
390         QStringList itsOptionsList;
391 
392         QStringList itsExecuteBeforeList;
393         QList<bool> itsExecuteBeforeListState;
394         QStringList itsExecuteAfterList;
395         QList<bool> itsExecuteAfterListState;
396 };
397 
398 #endif
399 
400 // end of operationClass.h--------------------------------------------------------------
401