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

#include "notificationmanager_export.h"

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

namespace NotificationManager {

class NOTIFICATIONMANAGER_EXPORT EventSettings : public KConfigSkeleton
{
  public:

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

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

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

    /**
      Get Comment
    */
    QString comment() const
    {
      return mComment;
    }

    /**
      Is Comment Immutable
    */
    bool isCommentImmutable() const
    {
      return isImmutable( QStringLiteral( "comment" ) );
    }

    /**
      Get IconName
    */
    QString iconName() const
    {
      return mIconName;
    }

    /**
      Is IconName Immutable
    */
    bool isIconNameImmutable() const
    {
      return isImmutable( QStringLiteral( "iconName" ) );
    }

    /**
      Get Context
    */
    QString context() const
    {
      return mContext;
    }

    /**
      Is Context Immutable
    */
    bool isContextImmutable() const
    {
      return isImmutable( QStringLiteral( "context" ) );
    }

    /**
      Get Urgency
    */
    QString urgency() const
    {
      return mUrgency;
    }

    /**
      Is Urgency Immutable
    */
    bool isUrgencyImmutable() const
    {
      return isImmutable( QStringLiteral( "urgency" ) );
    }

    /**
      Set Action
    */
    void setAction( const QString & v )
    {
      if (!isActionImmutable())
        mAction = v;
    }

    /**
      Get Action
    */
    QString action() const
    {
      return mAction;
    }

    /**
      Is Action Immutable
    */
    bool isActionImmutable() const
    {
      return isImmutable( QStringLiteral( "action" ) );
    }

    /**
      Set Sound
    */
    void setSound( const QString & v )
    {
      if (!isSoundImmutable())
        mSound = v;
    }

    /**
      Get Sound
    */
    QString sound() const
    {
      return mSound;
    }

    /**
      Is Sound Immutable
    */
    bool isSoundImmutable() const
    {
      return isImmutable( QStringLiteral( "sound" ) );
    }

  protected:
    QString mParameventId;

    // Event/$(eventId)
    QString mName;
    QString mComment;
    QString mIconName;
    QString mContext;
    QString mUrgency;
    QString mAction;
    QString mSound;
};

}

#endif

