// This file is generated by kconfig_compiler_kf6 from projectsettings.kcfg.
// All changes you do to this file will be lost.
#ifndef CPPCHECK_PROJECTSETTINGS_H
#define CPPCHECK_PROJECTSETTINGS_H

#include <qglobal.h>
#include <kconfigskeleton.h>
#include <QCoreApplication>
#include <QDebug>

#include "parameters.h"

namespace cppcheck {

class ProjectSettings : public KConfigSkeleton
{
  public:

    ProjectSettings( );
    ~ProjectSettings() override;

    /**
      Get checkStyle
    */
    bool checkStyle() const
    {
      return mCheckStyle;
    }

    /**
      Is checkStyle Immutable
    */
    bool isCheckStyleImmutable() const
    {
      return isImmutable( QStringLiteral( "checkStyle" ) );
    }

    /**
      Get checkPerformance
    */
    bool checkPerformance() const
    {
      return mCheckPerformance;
    }

    /**
      Is checkPerformance Immutable
    */
    bool isCheckPerformanceImmutable() const
    {
      return isImmutable( QStringLiteral( "checkPerformance" ) );
    }

    /**
      Get checkPortability
    */
    bool checkPortability() const
    {
      return mCheckPortability;
    }

    /**
      Is checkPortability Immutable
    */
    bool isCheckPortabilityImmutable() const
    {
      return isImmutable( QStringLiteral( "checkPortability" ) );
    }

    /**
      Get checkInformation
    */
    bool checkInformation() const
    {
      return mCheckInformation;
    }

    /**
      Is checkInformation Immutable
    */
    bool isCheckInformationImmutable() const
    {
      return isImmutable( QStringLiteral( "checkInformation" ) );
    }

    /**
      Get checkUnusedFunction
    */
    bool checkUnusedFunction() const
    {
      return mCheckUnusedFunction;
    }

    /**
      Is checkUnusedFunction Immutable
    */
    bool isCheckUnusedFunctionImmutable() const
    {
      return isImmutable( QStringLiteral( "checkUnusedFunction" ) );
    }

    /**
      Get checkMissingInclude
    */
    bool checkMissingInclude() const
    {
      return mCheckMissingInclude;
    }

    /**
      Is checkMissingInclude Immutable
    */
    bool isCheckMissingIncludeImmutable() const
    {
      return isImmutable( QStringLiteral( "checkMissingInclude" ) );
    }

    /**
      Get inconclusiveAnalysis
    */
    bool inconclusiveAnalysis() const
    {
      return mInconclusiveAnalysis;
    }

    /**
      Is inconclusiveAnalysis Immutable
    */
    bool isInconclusiveAnalysisImmutable() const
    {
      return isImmutable( QStringLiteral( "inconclusiveAnalysis" ) );
    }

    /**
      Get forceCheck
    */
    bool forceCheck() const
    {
      return mForceCheck;
    }

    /**
      Is forceCheck Immutable
    */
    bool isForceCheckImmutable() const
    {
      return isImmutable( QStringLiteral( "forceCheck" ) );
    }

    /**
      Get checkConfig
    */
    bool checkConfig() const
    {
      return mCheckConfig;
    }

    /**
      Is checkConfig Immutable
    */
    bool isCheckConfigImmutable() const
    {
      return isImmutable( QStringLiteral( "checkConfig" ) );
    }

    /**
      Get useProjectIncludes
    */
    bool useProjectIncludes() const
    {
      return mUseProjectIncludes;
    }

    /**
      Is useProjectIncludes Immutable
    */
    bool isUseProjectIncludesImmutable() const
    {
      return isImmutable( QStringLiteral( "useProjectIncludes" ) );
    }

    /**
      Get useSystemIncludes
    */
    bool useSystemIncludes() const
    {
      return mUseSystemIncludes;
    }

    /**
      Is useSystemIncludes Immutable
    */
    bool isUseSystemIncludesImmutable() const
    {
      return isImmutable( QStringLiteral( "useSystemIncludes" ) );
    }

    /**
      Get ignoredIncludes
    */
    QString ignoredIncludes() const
    {
      return mIgnoredIncludes;
    }

    /**
      Is ignoredIncludes Immutable
    */
    bool isIgnoredIncludesImmutable() const
    {
      return isImmutable( QStringLiteral( "ignoredIncludes" ) );
    }

    /**
      Get extraParameters
    */
    QString extraParameters() const
    {
      return mExtraParameters;
    }

    /**
      Is extraParameters Immutable
    */
    bool isExtraParametersImmutable() const
    {
      return isImmutable( QStringLiteral( "extraParameters" ) );
    }

  protected:

    // Cppcheck
    bool mCheckStyle;
    bool mCheckPerformance;
    bool mCheckPortability;
    bool mCheckInformation;
    bool mCheckUnusedFunction;
    bool mCheckMissingInclude;
    bool mInconclusiveAnalysis;
    bool mForceCheck;
    bool mCheckConfig;
    bool mUseProjectIncludes;
    bool mUseSystemIncludes;
    QString mIgnoredIncludes;
    QString mExtraParameters;
};

}

#endif

