#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