diff options
Diffstat (limited to 'lib/src/turnsmm/enums.hpp')
| -rw-r--r-- | lib/src/turnsmm/enums.hpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/lib/src/turnsmm/enums.hpp b/lib/src/turnsmm/enums.hpp new file mode 100644 index 0000000..f99a6f1 --- /dev/null +++ b/lib/src/turnsmm/enums.hpp @@ -0,0 +1,37 @@ +#ifndef TURNSMM_ENUMS_HPP +#define TURNSMM_ENUMS_HPP + +#include <glibmm/value.h> + +#include <glib-object.h> + +namespace Turns +{ + enum struct Disposition + { + Neutral, + Friendly, + Hostile, + Secret, + }; + +} // namespace Turns + +namespace Glib +{ + +#define VALUE_SPECIALIZATION(Enum) \ + template<> \ + class Value<Turns::Enum> : public Glib::Value_Enum<Turns::Enum> \ + { \ + public: \ + auto static value_type() -> GType; \ + } + + VALUE_SPECIALIZATION(Disposition); + +#undef VALUE_SPECIALIZATION + +} // namespace Glib + +#endif
\ No newline at end of file |
