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

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

class KWalletSettings : public KConfigSkeleton
{
  public:

    KWalletSettings( );
    ~KWalletSettings() override;

    /**
      Set First Use
    */
    void setFirstUse( bool v )
    {
      if (!isFirstUseImmutable())
        mFirstUse = v;
    }

    /**
      Get First Use
    */
    bool firstUse() const
    {
      return mFirstUse;
    }

    /**
      Is First Use Immutable
    */
    bool isFirstUseImmutable() const
    {
      return isImmutable( QStringLiteral( "FirstUse" ) );
    }

    /**
      Set Launch Manager
    */
    void setLaunchManager( bool v )
    {
      if (!isLaunchManagerImmutable())
        mLaunchManager = v;
    }

    /**
      Get Launch Manager
    */
    bool launchManager() const
    {
      return mLaunchManager;
    }

    /**
      Is Launch Manager Immutable
    */
    bool isLaunchManagerImmutable() const
    {
      return isImmutable( QStringLiteral( "LaunchManager" ) );
    }

    /**
      Set Close When Idle
    */
    void setCloseWhenIdle( bool v )
    {
      if (!isCloseWhenIdleImmutable())
        mCloseWhenIdle = v;
    }

    /**
      Get Close When Idle
    */
    bool closeWhenIdle() const
    {
      return mCloseWhenIdle;
    }

    /**
      Is Close When Idle Immutable
    */
    bool isCloseWhenIdleImmutable() const
    {
      return isImmutable( QStringLiteral( "CloseWhenIdle" ) );
    }

    /**
      Set Prompt on Open
    */
    void setPromptonOpen( bool v )
    {
      if (!isPromptonOpenImmutable())
        mPromptonOpen = v;
    }

    /**
      Get Prompt on Open
    */
    bool promptonOpen() const
    {
      return mPromptonOpen;
    }

    /**
      Is Prompt on Open Immutable
    */
    bool isPromptonOpenImmutable() const
    {
      return isImmutable( QStringLiteral( "PromptonOpen" ) );
    }

    /**
      Set Leave Open
    */
    void setLeaveOpen( bool v )
    {
      if (!isLeaveOpenImmutable())
        mLeaveOpen = v;
    }

    /**
      Get Leave Open
    */
    bool leaveOpen() const
    {
      return mLeaveOpen;
    }

    /**
      Is Leave Open Immutable
    */
    bool isLeaveOpenImmutable() const
    {
      return isImmutable( QStringLiteral( "LeaveOpen" ) );
    }

    /**
      Set Enabled
    */
    void setKWalletDEnabled( bool v )
    {
      if (!isKWalletDEnabledImmutable())
        mKWalletDEnabled = v;
    }

    /**
      Get Enabled
    */
    bool kWalletDEnabled() const
    {
      return mKWalletDEnabled;
    }

    /**
      Is Enabled Immutable
    */
    bool isKWalletDEnabledImmutable() const
    {
      return isImmutable( QStringLiteral( "KWalletDEnabled" ) );
    }

    /**
      Set Idle Timeout
    */
    void setIdleTimeout( int v )
    {
      if (!isIdleTimeoutImmutable())
        mIdleTimeout = v;
    }

    /**
      Get Idle Timeout
    */
    int idleTimeout() const
    {
      return mIdleTimeout;
    }

    /**
      Is Idle Timeout Immutable
    */
    bool isIdleTimeoutImmutable() const
    {
      return isImmutable( QStringLiteral( "IdleTimeout" ) );
    }

    /**
      Set Default Wallet
    */
    void setDefaultWallet( const QString & v )
    {
      if (!isDefaultWalletImmutable())
        mDefaultWallet = v;
    }

    /**
      Get Default Wallet
    */
    QString defaultWallet() const
    {
      return mDefaultWallet;
    }

    /**
      Is Default Wallet Immutable
    */
    bool isDefaultWalletImmutable() const
    {
      return isImmutable( QStringLiteral( "DefaultWallet" ) );
    }

    /**
      Set Use One Wallet
    */
    void setUseOneWallet( bool v )
    {
      if (!isUseOneWalletImmutable())
        mUseOneWallet = v;
    }

    /**
      Get Use One Wallet
    */
    bool useOneWallet() const
    {
      return mUseOneWallet;
    }

    /**
      Is Use One Wallet Immutable
    */
    bool isUseOneWalletImmutable() const
    {
      return isImmutable( QStringLiteral( "UseOneWallet" ) );
    }

    /**
      Set Local Wallet
    */
    void setLocalWallet( const QString & v )
    {
      if (!isLocalWalletImmutable())
        mLocalWallet = v;
    }

    /**
      Get Local Wallet
    */
    QString localWallet() const
    {
      return mLocalWallet;
    }

    /**
      Is Local Wallet Immutable
    */
    bool isLocalWalletImmutable() const
    {
      return isImmutable( QStringLiteral( "LocalWallet" ) );
    }

    /**
      Set Enabled
    */
    void setKSecretDEnabled( bool v )
    {
      if (!isKSecretDEnabledImmutable())
        mKSecretDEnabled = v;
    }

    /**
      Get Enabled
    */
    bool kSecretDEnabled() const
    {
      return mKSecretDEnabled;
    }

    /**
      Is Enabled Immutable
    */
    bool isKSecretDEnabledImmutable() const
    {
      return isImmutable( QStringLiteral( "KSecretDEnabled" ) );
    }

    /**
      Set MigrateTo3rdParty
    */
    void setMigrateTo3rdParty( bool v )
    {
      if (!isMigrateTo3rdPartyImmutable())
        mMigrateTo3rdParty = v;
    }

    /**
      Get MigrateTo3rdParty
    */
    bool migrateTo3rdParty() const
    {
      return mMigrateTo3rdParty;
    }

    /**
      Is MigrateTo3rdParty Immutable
    */
    bool isMigrateTo3rdPartyImmutable() const
    {
      return isImmutable( QStringLiteral( "MigrateTo3rdParty" ) );
    }

    /**
      Set WalletsMigratedToSecretService
    */
    void setWalletsMigratedToSecretService( const QStringList & v )
    {
      if (!isWalletsMigratedToSecretServiceImmutable())
        mWalletsMigratedToSecretService = v;
    }

    /**
      Get WalletsMigratedToSecretService
    */
    QStringList walletsMigratedToSecretService() const
    {
      return mWalletsMigratedToSecretService;
    }

    /**
      Is WalletsMigratedToSecretService Immutable
    */
    bool isWalletsMigratedToSecretServiceImmutable() const
    {
      return isImmutable( QStringLiteral( "WalletsMigratedToSecretService" ) );
    }

    /**
      Set apiEnabled
    */
    void setFdoSecretsApiEnabled( bool v )
    {
      if (!isFdoSecretsApiEnabledImmutable())
        mFdoSecretsApiEnabled = v;
    }

    /**
      Get apiEnabled
    */
    bool fdoSecretsApiEnabled() const
    {
      return mFdoSecretsApiEnabled;
    }

    /**
      Is apiEnabled Immutable
    */
    bool isFdoSecretsApiEnabledImmutable() const
    {
      return isImmutable( QStringLiteral( "fdoSecretsApiEnabled" ) );
    }

  protected:

    // Wallet
    bool mFirstUse;
    bool mLaunchManager;
    bool mCloseWhenIdle;
    bool mPromptonOpen;
    bool mLeaveOpen;
    bool mKWalletDEnabled;
    int mIdleTimeout;
    QString mDefaultWallet;
    bool mUseOneWallet;
    QString mLocalWallet;

    // KSecretD
    bool mKSecretDEnabled;

    // Migration
    bool mMigrateTo3rdParty;
    QStringList mWalletsMigratedToSecretService;

    // org.freedesktop.secrets
    bool mFdoSecretsApiEnabled;
};

#endif

