From 5bb826fa63b2b2d6f7b8bca354fa4a1606781dc3 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Tue, 16 Jul 2024 10:02:47 +0200 Subject: turns: implement basic disposition integration --- domain/include/turns/domain/participant.hpp | 12 ++++++++++-- domain/include/turns/domain/turn_order.hpp | 3 ++- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'domain/include/turns') diff --git a/domain/include/turns/domain/participant.hpp b/domain/include/turns/domain/participant.hpp index 3f249d5..d845c77 100644 --- a/domain/include/turns/domain/participant.hpp +++ b/domain/include/turns/domain/participant.hpp @@ -1,6 +1,8 @@ #ifndef TURNS_DOMAIN_PARTICIPANT_HPP #define TURNS_DOMAIN_PARTICIPANT_HPP +#include "turns/domain/disposition.hpp" + #include #include @@ -14,12 +16,17 @@ namespace turns::domain struct participant : Glib::Object { - auto static create(Glib::ustring name, float priority) -> Glib::RefPtr; + auto static create(Glib::ustring name, float priority, disposition disposition) -> Glib::RefPtr; - participant(Glib::ustring name, float priority); + participant(Glib::ustring name, float priority, disposition disposition); auto operator<=>(participant const & other) const noexcept -> std::partial_ordering; + auto property_disposition() -> Glib::PropertyProxy; + auto property_disposition() const -> Glib::PropertyProxy_ReadOnly; + auto get_disposition() const noexcept -> disposition; + auto set_disposition(disposition value) -> void; + auto property_name() -> Glib::PropertyProxy; auto property_name() const -> Glib::PropertyProxy_ReadOnly; auto get_name() const -> Glib::ustring; @@ -31,6 +38,7 @@ namespace turns::domain auto set_priority(float value) -> void; private: + Glib::Property m_disposition; Glib::Property m_name; Glib::Property m_priority; }; diff --git a/domain/include/turns/domain/turn_order.hpp b/domain/include/turns/domain/turn_order.hpp index ba9bc3a..d7f8821 100644 --- a/domain/include/turns/domain/turn_order.hpp +++ b/domain/include/turns/domain/turn_order.hpp @@ -1,6 +1,7 @@ #ifndef TURNS_DOMAIN_TURN_ORDER_HPP #define TURNS_DOMAIN_TURN_ORDER_HPP +#include "turns/domain/disposition.hpp" #include "turns/domain/participant.hpp" #include @@ -20,7 +21,7 @@ namespace turns::domain auto static create() -> Glib::RefPtr; auto append(Glib::RefPtr item) -> void; - auto append(Glib::ustring const & name, float priority) -> void; + auto append(Glib::ustring const & name, float priority, disposition disposition) -> void; auto remove(Glib::RefPtr item) -> void; private: -- cgit v1.2.3