/*
* Author:          Patrick-Christopher Mattulat
* Co-Author:       Claude Sonnet 4.6 (LLM)
* Company:         Lynar Studios
* E-Mail:          webmaster@lynarstudios.com
* Created:         2024-05-30
* Changed:         2026-06-23
*
* */

#ifndef EVENT_PARAMETER_HPP
#define EVENT_PARAMETER_HPP

#include <list>
#include <ls-std/os/dynamic-goal.hpp>
#include <string>

/*
 * @doc: class(name: 'EventParameter', package: 'event')
 * @doc: event.EventParameter.description('This class holds parameters which can be sent during event invocation.')
 * */

namespace ls::standard::event
{
  class LS_STD_DYNAMIC_GOAL EventParameter
  {
    public:

      EventParameter();
      ~EventParameter();

      void addParameter(const ::std::string &_parameter);
      [[nodiscard]] ::std::list<::std::string> get() const;

    private:

      ::std::list<::std::string> parameters{};
  };
}

#endif
