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

#include <powerdevilcore_export.h>

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

namespace PowerDevil {

class POWERDEVILCORE_EXPORT ActivitySettings : public KConfigSkeleton
{
  Q_OBJECT
  public:

    ActivitySettings( const QString & ActivityId, QObject *parent = nullptr );
    ~ActivitySettings() override;

    /**
      Set InhibitScreenManagement
    */
    void setInhibitScreenManagement( bool v )
    {
      if (v != mInhibitScreenManagement && !isInhibitScreenManagementImmutable()) {
        mInhibitScreenManagement = v;
        Q_EMIT InhibitScreenManagementChanged();
      }
    }

    Q_PROPERTY(bool inhibitScreenManagement READ inhibitScreenManagement WRITE setInhibitScreenManagement NOTIFY InhibitScreenManagementChanged)
    Q_PROPERTY(bool isInhibitScreenManagementImmutable READ isInhibitScreenManagementImmutable CONSTANT)
    Q_PROPERTY(bool defaultInhibitScreenManagementValue READ defaultInhibitScreenManagementValue CONSTANT)
    /**
      Get InhibitScreenManagement
    */
    bool inhibitScreenManagement() const
    {
      return mInhibitScreenManagement;
    }

    /**
      Is InhibitScreenManagement Immutable
    */
    bool isInhibitScreenManagementImmutable() const
    {
      return isImmutable( QStringLiteral( "InhibitScreenManagement" ) );
    }

    /**
      Get InhibitScreenManagement default value
    */
    bool defaultInhibitScreenManagementValue() const
    {
        return defaultInhibitScreenManagementValue_helper();
    }

    /**
      Set InhibitSuspend
    */
    void setInhibitSuspend( bool v )
    {
      if (v != mInhibitSuspend && !isInhibitSuspendImmutable()) {
        mInhibitSuspend = v;
        Q_EMIT InhibitSuspendChanged();
      }
    }

    Q_PROPERTY(bool inhibitSuspend READ inhibitSuspend WRITE setInhibitSuspend NOTIFY InhibitSuspendChanged)
    Q_PROPERTY(bool isInhibitSuspendImmutable READ isInhibitSuspendImmutable CONSTANT)
    Q_PROPERTY(bool defaultInhibitSuspendValue READ defaultInhibitSuspendValue CONSTANT)
    /**
      Get InhibitSuspend
    */
    bool inhibitSuspend() const
    {
      return mInhibitSuspend;
    }

    /**
      Is InhibitSuspend Immutable
    */
    bool isInhibitSuspendImmutable() const
    {
      return isImmutable( QStringLiteral( "InhibitSuspend" ) );
    }

    /**
      Get InhibitSuspend default value
    */
    bool defaultInhibitSuspendValue() const
    {
        return defaultInhibitSuspendValue_helper();
    }


    enum {
      signalInhibitScreenManagementChanged = 1,
      signalInhibitSuspendChanged = 2
    };

  Q_SIGNALS:
    void InhibitScreenManagementChanged();

    void InhibitSuspendChanged();

  private:
    void itemChanged(quint64 signalFlag);

  protected:
    QString mParamActivityId;

    // $(ActivityId)
    bool mInhibitScreenManagement;
    bool defaultInhibitScreenManagementValue_helper() const;
    bool mInhibitSuspend;
    bool defaultInhibitSuspendValue_helper() const;
};

}

#endif

