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

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

class MainConfig : public KConfigSkeleton
{
  public:

    MainConfig( std::unique_ptr<KConfig> config );
    ~MainConfig() override;

    /**
      Get ServerPath
    */
    QString x11ServerPath() const
    {
      return mX11ServerPath;
    }

    /**
      Is ServerPath Immutable
    */
    bool isX11ServerPathImmutable() const
    {
      return isImmutable( QStringLiteral( "X11ServerPath" ) );
    }

    /**
      Get ServerArguments
    */
    QString x11ServerArguments() const
    {
      return mX11ServerArguments;
    }

    /**
      Is ServerArguments Immutable
    */
    bool isX11ServerArgumentsImmutable() const
    {
      return isImmutable( QStringLiteral( "X11ServerArguments" ) );
    }

    /**
      Get SessionLogFile
    */
    QString x11SessionLogFile() const
    {
      return mX11SessionLogFile;
    }

    /**
      Is SessionLogFile Immutable
    */
    bool isX11SessionLogFileImmutable() const
    {
      return isImmutable( QStringLiteral( "X11SessionLogFile" ) );
    }

    /**
      Get SessionLogFile
    */
    QString waylandSessionLogFile() const
    {
      return mWaylandSessionLogFile;
    }

    /**
      Is SessionLogFile Immutable
    */
    bool isWaylandSessionLogFileImmutable() const
    {
      return isImmutable( QStringLiteral( "WaylandSessionLogFile" ) );
    }

    /**
      Get User
    */
    QString autologinUser() const
    {
      return mAutologinUser;
    }

    /**
      Is User Immutable
    */
    bool isAutologinUserImmutable() const
    {
      return isImmutable( QStringLiteral( "AutologinUser" ) );
    }

    /**
      Get Session
    */
    QString autologinSession() const
    {
      return mAutologinSession;
    }

    /**
      Is Session Immutable
    */
    bool isAutologinSessionImmutable() const
    {
      return isImmutable( QStringLiteral( "AutologinSession" ) );
    }

    /**
      Get Relogin
    */
    bool autologinRelogin() const
    {
      return mAutologinRelogin;
    }

    /**
      Is Relogin Immutable
    */
    bool isAutologinReloginImmutable() const
    {
      return isImmutable( QStringLiteral( "AutologinRelogin" ) );
    }

    /**
      Get Namespaces
    */
    QStringList namespaces() const
    {
      return mNamespaces;
    }

    /**
      Is Namespaces Immutable
    */
    bool isNamespacesImmutable() const
    {
      return isImmutable( QStringLiteral( "Namespaces" ) );
    }

    /**
      Get DefaultPath
    */
    QString defaultPath() const
    {
      return mDefaultPath;
    }

    /**
      Is DefaultPath Immutable
    */
    bool isDefaultPathImmutable() const
    {
      return isImmutable( QStringLiteral( "DefaultPath" ) );
    }

  protected:

    // X11
    QString mX11ServerPath;
    QString mX11ServerArguments;
    QString mX11SessionLogFile;

    // Wayland
    QString mWaylandSessionLogFile;

    // Autologin
    QString mAutologinUser;
    QString mAutologinSession;
    bool mAutologinRelogin;

    // General
    QStringList mNamespaces;

    // Users
    QString mDefaultPath;
};

#endif

