#ifndef TURNSMM_PARTICIPANT_HPP #define TURNSMM_PARTICIPANT_HPP #include "turns-participant.h" #include "turnsmm/enums.hpp" #include #include #include #include namespace Turns { class Participant final : public Glib::Object { public: using BaseClassType = TurnsParticipantClass; using BaseObjectType = TurnsParticipant; using CppClassType = class Participant_Class; using CppObjectType = Participant; Participant(); Participant(Glib::ustring const & name, float priority, Disposition disposition); [[nodiscard]] auto gobj() noexcept -> BaseObjectType *; [[nodiscard]] auto gobj() const -> BaseObjectType const *; [[nodiscard]] auto gobj_copy() noexcept -> BaseObjectType *; [[nodiscard]] auto get_active() const noexcept -> bool; [[nodiscard]] auto get_defeated() const noexcept -> bool; [[nodiscard]] auto get_disposition() const noexcept -> Disposition; [[nodiscard]] auto get_name() const -> Glib::ustring; [[nodiscard]] auto get_priority() const noexcept -> float; auto set_active(bool value) noexcept -> void; auto set_defeated(bool value) noexcept -> void; auto set_disposition(Disposition value) noexcept -> void; auto set_name(Glib::ustring const & value) noexcept -> void; auto set_priority(float value) noexcept -> void; [[nodiscard]] auto property_active() const noexcept -> Glib::PropertyProxy_ReadOnly; [[nodiscard]] auto property_active() noexcept -> Glib::PropertyProxy; [[nodiscard]] auto property_defeated() const noexcept -> Glib::PropertyProxy_ReadOnly; [[nodiscard]] auto property_defeated() noexcept -> Glib::PropertyProxy; [[nodiscard]] auto property_disposition() const noexcept -> Glib::PropertyProxy_ReadOnly; [[nodiscard]] auto property_disposition() noexcept -> Glib::PropertyProxy; [[nodiscard]] auto property_name() const noexcept -> Glib::PropertyProxy_ReadOnly; [[nodiscard]] auto property_name() noexcept -> Glib::PropertyProxy; [[nodiscard]] auto property_priority() const noexcept -> Glib::PropertyProxy_ReadOnly; [[nodiscard]] auto property_priority() noexcept -> Glib::PropertyProxy; protected: friend Participant_Class; explicit Participant(BaseObjectType * gobj); }; } // namespace Turns namespace Glib { auto wrap(TurnsParticipant * object, bool copy = false) -> Glib::RefPtr; } // namespace Glib #endif