Open-Typer
Open source typewriting tutor program
Loading...
Searching...
No Matches
IConfigParser.h
1/*
2 * IConfigParser.h
3 * This file is part of Open-Typer
4 *
5 * Copyright (C) 2023 - adazem009
6 *
7 * Open-Typer is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * Open-Typer is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with Open-Typer. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#ifndef ICONFIGPARSER_H
22#define ICONFIGPARSER_H
23
24#include "global/modularity/ioc.h"
25
26class IConfigParser : MODULE_EXPORT_INTERFACE
27{
28 public:
29 virtual ~IConfigParser() { }
30
31 virtual std::shared_ptr<IConfigParser> createInstance() const = 0;
32 virtual bool open(const QString fileName) = 0;
33 virtual void loadToBuffer(const QByteArray content) = 0;
34 virtual QByteArray data(void) = 0;
35 virtual bool bufferOpened(void) = 0;
36 virtual void close(void) = 0;
37 virtual QString fileName(void) = 0;
38 virtual int lessonCount(void) = 0;
39 virtual int sublessonCount(int lesson) = 0;
40 virtual int exerciseCount(int lesson, int sublesson) = 0;
41 virtual int exerciseLine(int lesson, int sublesson, int exercise) = 0;
42 virtual bool exerciseRepeatBool(int lesson, int sublesson, int exercise) = 0;
43 virtual QString exerciseRepeatType(int lesson, int sublesson, int exercise) = 0;
44 virtual int exerciseRepeatLimit(int lesson, int sublesson, int exercise) = 0;
45 virtual int exerciseLineLength(int lesson, int sublesson, int exercise) = 0;
46 virtual QString lessonDesc(int lesson) = 0;
47 virtual QString parseDesc(QString desc) = 0;
48 virtual QString sublessonName(int id) = 0;
49 virtual QString lessonTr(int id) = 0;
50 virtual QString sublessonTr(int id) = 0;
51 virtual QString exerciseTr(int id) = 0;
52 virtual QString exerciseRawText(int lesson, int sublesson, int exercise) = 0;
53 virtual QString exerciseText(int lesson, int sublesson, int exercise) = 0;
54 virtual QString initExercise(QString exercise, int lineLength) = 0;
55 virtual QString initExercise(QString exercise, int lineLength, bool lineCountLimit, int currentLine) = 0;
56 virtual QString initText(QString rawText) = 0;
57 virtual bool addExercise(int lesson, int sublesson, int exercise, bool repeat, QString repeatType, int repeatLimit, int lineLength, QString desc, QString rawText) = 0;
58 virtual int defaultRepeatLimit(void) = 0;
59 virtual int defaultLineLength(void) = 0;
60 virtual void setCurrentLesson(int value) = 0;
61 virtual int currentLesson(void) = 0;
62 virtual void setCurrentSublesson(int value) = 0;
63 virtual int currentSublesson(void) = 0;
64 virtual void setCurrentExercise(int value) = 0;
65 virtual int currentExercise(void) = 0;
66};
67
68#endif // ICONFIGPARSER_H
Definition IConfigParser.h:27