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

#include <settings/sessionconfigskeleton.h>

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

class BGSettings : public KDevelop::SessionConfigSkeleton
{
  public:

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

    /**
      Get Enabled
    */
    static
    bool enable()
    {
      return self()->mEnable;
    }

    /**
      Is Enabled Immutable
    */
    static
    bool isEnableImmutable()
    {
      return self()->isImmutable( QStringLiteral( "enable" ) );
    }

    /**
      Get Item object corresponding to enable()
    */
    ItemBool *enableItem()
    {
      return mEnableItem;
    }

    /**
      Get Delay
    */
    static
    int delay()
    {
      return self()->mDelay;
    }

    /**
      Is Delay Immutable
    */
    static
    bool isDelayImmutable()
    {
      return self()->isImmutable( QStringLiteral( "delay" ) );
    }

    /**
      Get Item object corresponding to delay()
    */
    ItemInt *delayItem()
    {
      return mDelayItem;
    }

    /**
      Get Number of Threads
    */
    static
    int threads()
    {
      return self()->mThreads;
    }

    /**
      Is Number of Threads Immutable
    */
    static
    bool isThreadsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "threads" ) );
    }

    /**
      Get Item object corresponding to threads()
    */
    ItemInt *threadsItem()
    {
      return mThreadsItem;
    }

  protected:
    BGSettings();
    friend class BGSettingsHelper;


    // Background Parser
    bool mEnable;
    int mDelay;
    int mThreads;

  private:
    ItemBool *mEnableItem;
    ItemInt *mDelayItem;
    ItemInt *mThreadsItem;
};

#endif

