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

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

#include <compileanalyzeutils.h>

class ClangTidySettings : public KConfigSkeleton
{
  public:

    static ClangTidySettings *self();
    ~ClangTidySettings() override;

    /**
      Get ExecutablePath
    */
    static
    QString clangtidyPath()
    {
      return self()->mClangtidyPath;
    }

    /**
      Is ExecutablePath Immutable
    */
    static
    bool isClangtidyPathImmutable()
    {
      return self()->isImmutable( QStringLiteral( "clangtidyPath" ) );
    }

    /**
      Get Item object corresponding to clangtidyPath()
    */
    ItemPath *clangtidyPathItem()
    {
      return mClangtidyPathItem;
    }

    /**
      Get parallelJobsEnabled
    */
    static
    bool parallelJobsEnabled()
    {
      return self()->mParallelJobsEnabled;
    }

    /**
      Is parallelJobsEnabled Immutable
    */
    static
    bool isParallelJobsEnabledImmutable()
    {
      return self()->isImmutable( QStringLiteral( "parallelJobsEnabled" ) );
    }

    /**
      Get Item object corresponding to parallelJobsEnabled()
    */
    ItemBool *parallelJobsEnabledItem()
    {
      return mParallelJobsEnabledItem;
    }

    /**
      Get parallelJobsAutoCount
    */
    static
    bool parallelJobsAutoCount()
    {
      return self()->mParallelJobsAutoCount;
    }

    /**
      Is parallelJobsAutoCount Immutable
    */
    static
    bool isParallelJobsAutoCountImmutable()
    {
      return self()->isImmutable( QStringLiteral( "parallelJobsAutoCount" ) );
    }

    /**
      Get Item object corresponding to parallelJobsAutoCount()
    */
    ItemBool *parallelJobsAutoCountItem()
    {
      return mParallelJobsAutoCountItem;
    }

    /**
      Get parallelJobsFixedCount
    */
    static
    int parallelJobsFixedCount()
    {
      return self()->mParallelJobsFixedCount;
    }

    /**
      Is parallelJobsFixedCount Immutable
    */
    static
    bool isParallelJobsFixedCountImmutable()
    {
      return self()->isImmutable( QStringLiteral( "parallelJobsFixedCount" ) );
    }

    /**
      Get Item object corresponding to parallelJobsFixedCount()
    */
    ItemInt *parallelJobsFixedCountItem()
    {
      return mParallelJobsFixedCountItem;
    }

  protected:
    ClangTidySettings();
    friend class ClangTidySettingsHelper;


    // ClangTidy
    QString mClangtidyPath;
    bool mParallelJobsEnabled;
    bool mParallelJobsAutoCount;
    int mParallelJobsFixedCount;

  private:
    ItemPath *mClangtidyPathItem;
    ItemBool *mParallelJobsEnabledItem;
    ItemBool *mParallelJobsAutoCountItem;
    ItemInt *mParallelJobsFixedCountItem;
};

#endif

