summaryrefslogtreecommitdiff
path: root/lib/src/turnsmm/participant.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/src/turnsmm/participant.cpp')
-rw-r--r--lib/src/turnsmm/participant.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/src/turnsmm/participant.cpp b/lib/src/turnsmm/participant.cpp
index 8932b83..38dfb3e 100644
--- a/lib/src/turnsmm/participant.cpp
+++ b/lib/src/turnsmm/participant.cpp
@@ -1,8 +1,7 @@
#include "turnsmm/participant.hpp"
-#include "turns-disposition.h"
#include "turns-participant.h"
-#include "turnsmm/enums.hpp"
+#include "turnsmm/enum_helpers.hpp"
#include "turnsmm/private/participant_p.hpp"
#include <glibmm/class.h>
@@ -133,7 +132,7 @@ namespace Turns
auto Participant::set_disposition(Disposition value) noexcept -> void
{
- return turns_participant_set_disposition(unwrap(this), static_cast<TurnsDisposition>(value));
+ return turns_participant_set_disposition(unwrap(this), static_cast<TurnsParticipantDisposition>(value));
}
auto Participant::set_name(Glib::ustring const & value) noexcept -> void
@@ -199,12 +198,18 @@ namespace Turns
Participant::Participant(BaseObjectType * gobj)
: Glib::Object((GObject *)gobj)
{
+ static_assert(enum_matches<Disposition::Neutral, TURNS_PARTICIPANT_DISPOSITION_NEUTRAL>);
+ static_assert(enum_matches<Disposition::Friendly, TURNS_PARTICIPANT_DISPOSITION_FRIENDLY>);
+ static_assert(enum_matches<Disposition::Hostile, TURNS_PARTICIPANT_DISPOSITION_HOSTILE>);
+ static_assert(enum_matches<Disposition::Secret, TURNS_PARTICIPANT_DISPOSITION_SECRET>);
}
} // namespace Turns
namespace Glib
{
+ TURNS_DEFINE_VALUE_SPECIALIZATION(Participant::Disposition, participant_disposition);
+
auto wrap(TurnsParticipant * object, bool copy) -> Glib::RefPtr<Turns::Participant>
{
return Glib::make_refptr_for_instance<Turns::Participant>(dynamic_cast<Turns::Participant *>(Glib::wrap_auto(G_OBJECT(object), copy)));