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

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

class DeviceSettings : public KConfigSkeleton
{
  public:

    DeviceSettings( KSharedConfig::Ptr config,  const QString & udi, QObject *parent = nullptr );
    ~DeviceSettings() override;

    /**
      Set LastNameSeen
    */
    void setName( const QString & v )
    {
      if (!isNameImmutable())
        mName = v;
    }

    /**
      Get LastNameSeen
    */
    QString name() const
    {
      return mName;
    }

    /**
      Is LastNameSeen Immutable
    */
    bool isNameImmutable() const
    {
      return isImmutable( QStringLiteral( "name" ) );
    }

    /**
      Set Icon
    */
    void setIcon( const QString & v )
    {
      if (!isIconImmutable())
        mIcon = v;
    }

    /**
      Get Icon
    */
    QString icon() const
    {
      return mIcon;
    }

    /**
      Is Icon Immutable
    */
    bool isIconImmutable() const
    {
      return isImmutable( QStringLiteral( "Icon" ) );
    }

    /**
      Set EverMounted
    */
    void setIsKnown( bool v )
    {
      if (!isIsKnownImmutable())
        mIsKnown = v;
    }

    /**
      Get EverMounted
    */
    bool isKnown() const
    {
      return mIsKnown;
    }

    /**
      Is EverMounted Immutable
    */
    bool isIsKnownImmutable() const
    {
      return isImmutable( QStringLiteral( "isKnown" ) );
    }

    /**
      Set ForceAttachAutomount
    */
    void setMountOnAttach( bool v )
    {
      if (!isMountOnAttachImmutable())
        mMountOnAttach = v;
    }

    /**
      Get ForceAttachAutomount
    */
    bool mountOnAttach() const
    {
      return mMountOnAttach;
    }

    /**
      Is ForceAttachAutomount Immutable
    */
    bool isMountOnAttachImmutable() const
    {
      return isImmutable( QStringLiteral( "mountOnAttach" ) );
    }

    /**
      Set ForceLoginAutomount
    */
    void setMountOnLogin( bool v )
    {
      if (!isMountOnLoginImmutable())
        mMountOnLogin = v;
    }

    /**
      Get ForceLoginAutomount
    */
    bool mountOnLogin() const
    {
      return mMountOnLogin;
    }

    /**
      Is ForceLoginAutomount Immutable
    */
    bool isMountOnLoginImmutable() const
    {
      return isImmutable( QStringLiteral( "mountOnLogin" ) );
    }

    /**
      Set LastSeenMounted
    */
    void setLastSeenMounted( bool v )
    {
      if (!isLastSeenMountedImmutable())
        mLastSeenMounted = v;
    }

    /**
      Get LastSeenMounted
    */
    bool lastSeenMounted() const
    {
      return mLastSeenMounted;
    }

    /**
      Is LastSeenMounted Immutable
    */
    bool isLastSeenMountedImmutable() const
    {
      return isImmutable( QStringLiteral( "LastSeenMounted" ) );
    }

    /**
      Set ForceAutomount
    */
    void setForceAutomount( bool v )
    {
      if (!isForceAutomountImmutable())
        mForceAutomount = v;
    }

    /**
      Get ForceAutomount
    */
    bool forceAutomount() const
    {
      return mForceAutomount;
    }

    /**
      Is ForceAutomount Immutable
    */
    bool isForceAutomountImmutable() const
    {
      return isImmutable( QStringLiteral( "ForceAutomount" ) );
    }

  protected:
    QString mParamudi;

    // $(udi)
    QString mName;
    QString mIcon;
    bool mIsKnown;
    bool mMountOnAttach;
    bool mMountOnLogin;
    bool mLastSeenMounted;
    bool mForceAutomount;
};

#endif

