#include "turns/core/disposition.hpp" #include #include #include #include #include namespace turns::core { auto presentation_name_for(Disposition value) -> Glib::ustring { switch (value) { case Disposition::Neutral: return _("Neutral"); case Disposition::Friendly: return _("Friendly"); case Disposition::Hostile: return _("Hostile"); case Disposition::Secret: return _("Secret"); default: return _("Unknown disposition value"); } } } // namespace turns::core namespace Glib { auto Value::value_type() -> GType { auto static is_initialized = std::atomic_flag{false}; auto static const values = std::array{ GEnumValue{static_cast(turns::core::Disposition::Neutral), "TURNS_DISPOSITION_NEUTRAL", "neutral" }, GEnumValue{static_cast(turns::core::Disposition::Friendly), "TURNS_DISPOSITION_FRIENDLY", "friendly"}, GEnumValue{static_cast(turns::core::Disposition::Hostile), "TURNS_DISPOSITION_HOSTILE", "hostile" }, GEnumValue{static_cast(turns::core::Disposition::Secret), "TURNS_DISPOSITION_SECRET", "secret" }, GEnumValue{0, nullptr, nullptr }, }; if (!is_initialized.test_and_set()) { gtype_ = g_enum_register_static("TurnsDisposition", values.data()); } return gtype_; } } // namespace Glib