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

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

class StateConfig : public KConfigSkeleton
{
  Q_OBJECT
  public:

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

    /**
      Set LastLoggedInUser
    */
    static
    void setLastLoggedInUser( const QString & v )
    {
      if (v != self()->mLastLoggedInUser && !self()->isLastLoggedInUserImmutable()) {
        self()->mLastLoggedInUser = v;
        Q_EMIT self()->LastLoggedInUserChanged();
      }
    }

    Q_PROPERTY(QString lastLoggedInUser READ lastLoggedInUser WRITE setLastLoggedInUser NOTIFY LastLoggedInUserChanged)
    Q_PROPERTY(bool isLastLoggedInUserImmutable READ isLastLoggedInUserImmutable CONSTANT)
    /**
      Get LastLoggedInUser
    */
    static
    QString lastLoggedInUser()
    {
      return self()->mLastLoggedInUser;
    }

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

    /**
      Set LastLoggedInSession
    */
    static
    void setLastLoggedInSession( const QString & v )
    {
      if (v != self()->mLastLoggedInSession && !self()->isLastLoggedInSessionImmutable()) {
        self()->mLastLoggedInSession = v;
        Q_EMIT self()->LastLoggedInSessionChanged();
      }
    }

    Q_PROPERTY(QString lastLoggedInSession READ lastLoggedInSession WRITE setLastLoggedInSession NOTIFY LastLoggedInSessionChanged)
    Q_PROPERTY(bool isLastLoggedInSessionImmutable READ isLastLoggedInSessionImmutable CONSTANT)
    /**
      Get LastLoggedInSession
    */
    static
    QString lastLoggedInSession()
    {
      return self()->mLastLoggedInSession;
    }

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


    enum {
      signalLastLoggedInUserChanged = 1,
      signalLastLoggedInSessionChanged = 2
    };

  Q_SIGNALS:
    void LastLoggedInUserChanged();

    void LastLoggedInSessionChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:
    StateConfig();
    friend class StateConfigHelper;


    // General
    QString mLastLoggedInUser;
    QString mLastLoggedInSession;
};

#endif

