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

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

namespace KWin {

class RuleBookSettingsBase : public KConfigSkeleton
{
  public:

    RuleBookSettingsBase( KSharedConfig::Ptr config = KSharedConfig::openConfig(), QObject *parent = nullptr );
    ~RuleBookSettingsBase() override;

    /**
      Set Total rules count (legacy)
    */
    void setCount( int v )
    {
      if (!isCountImmutable())
        mCount = v;
    }

    /**
      Get Total rules count (legacy)
    */
    int count() const
    {
      return mCount;
    }

    /**
      Is Total rules count (legacy) Immutable
    */
    bool isCountImmutable() const
    {
      return isImmutable( QStringLiteral( "count" ) );
    }

    /**
      Set Ordered list of rules groups
    */
    void setRuleGroupList( const QStringList & v )
    {
      if (!isRuleGroupListImmutable())
        mRuleGroupList = v;
    }

    /**
      Get Ordered list of rules groups
    */
    QStringList ruleGroupList() const
    {
      return mRuleGroupList;
    }

    /**
      Is Ordered list of rules groups Immutable
    */
    bool isRuleGroupListImmutable() const
    {
      return isImmutable( QStringLiteral( "ruleGroupList" ) );
    }

  protected:

    // General
    int mCount;
    QStringList mRuleGroupList;
};

}

#endif

