File indexing completed on 2024-05-12 05:06:47

0001 /*
0002     SPDX-FileCopyrightText: 2013-2015 Christian Dávid <christian-david@web.de>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef ONLINEJOBFOLDER_H
0007 #define ONLINEJOBFOLDER_H
0008 
0009 /**
0010  * @brief Folder to organize @ref onlineJob "onlineJobs"
0011  *
0012  * This class is mainly for forward compatibility. At the monent there are only four default
0013  * folders outbox(), drafts(), templates(), historic(). These static methods are also the only
0014  * way to create a folder.
0015  *
0016  * If job organizing becomes more complicated this class can be extended.
0017  *
0018  */
0019 class onlineJobFolder
0020 {
0021 public:
0022     onlineJobFolder(const onlineJobFolder &other); // krazy:exclude=explicit
0023 
0024     static onlineJobFolder outbox();
0025     static onlineJobFolder drafts();
0026     static onlineJobFolder templates();
0027     static onlineJobFolder historic();
0028 
0029 private:
0030     enum onlineJobFolders {
0031         folderOutbox,
0032         folderDrafts,
0033         folderTemplates,
0034         folderHistoric,
0035     };
0036 
0037     onlineJobFolder();
0038     explicit onlineJobFolder(const onlineJobFolders& folder);
0039 
0040     onlineJobFolders m_folder;
0041 };
0042 
0043 #endif // ONLINEJOBFOLDER_H