File indexing completed on 2024-04-28 05:49:11

0001 /* This file is part of the KDE project
0002    SPDX-FileCopyrightText: 2014 Martin Sandsmark <martin.sandsmark@kde.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <QObject>
0010 
0011 class QIODevice;
0012 
0013 class ReplicodeSettings : public QObject
0014 {
0015     Q_OBJECT
0016 public:
0017     explicit ReplicodeSettings(QObject *parent = nullptr);
0018     void load();
0019     void save();
0020     void setDefaults();
0021 
0022     ///////
0023     // Load
0024     QString userOperatorPath;
0025     QString userClassPath;
0026     QString sourcePath;
0027 
0028     ///////
0029     // Init
0030     int basePeriod = 0;
0031     int reductionCoreCount = 0;
0032     int timeCoreCount = 0;
0033 
0034     /////////
0035     // System
0036     int perfSamplingPeriod = 0;
0037     float floatTolerance = 0;
0038     int timeTolerance = 0;
0039     int primaryTimeHorizon = 0;
0040     int secondaryTimeHorizon = 0;
0041 
0042     // Model
0043     float mdlInertiaSuccessRateThreshold = 0;
0044     int mdlInertiaCountThreshold = 0;
0045 
0046     // Targeted Pattern Extractor
0047     float tpxDeltaSuccessRateThreshold = 0;
0048     int tpxTimehorizon{};
0049 
0050     // Simulation
0051     int minimumSimulationTimeHorizon = 0;
0052     int maximumSimulationTimeHorizon = 0;
0053     float simulationTimeHorizon = 0;
0054 
0055     ////////
0056     // Debug
0057     bool debug = false;
0058     int notificationMarkerResilience = 0;
0059     int goalPredictionSuccessResilience = 0;
0060     int debugWindows = 0;
0061     int traceLevels = 0;
0062 
0063     bool getObjects = false;
0064     bool decompileObjects = false;
0065     QString decompilationFilePath;
0066     bool ignoreNamedObjects = false;
0067     QString objectsPath;
0068     bool testObjects = false;
0069 
0070     //////
0071     // Run
0072     int runTime = 0;
0073     int probeLevel = 0;
0074 
0075     bool getModels = false;
0076     bool decompileModels = false;
0077     bool ignoreNamedModels = false;
0078     QString modelsPath;
0079     bool testModels = false;
0080 };