diff options
Diffstat (limited to 'lib/src/turnsmm/participant.hpp')
| -rw-r--r-- | lib/src/turnsmm/participant.hpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/lib/src/turnsmm/participant.hpp b/lib/src/turnsmm/participant.hpp new file mode 100644 index 0000000..1eb5c1e --- /dev/null +++ b/lib/src/turnsmm/participant.hpp @@ -0,0 +1,53 @@ +#ifndef TURNSMM_PARTICIPANT_HPP +#define TURNSMM_PARTICIPANT_HPP + +#include "turns-participant.h" + +#include <glibmm/object.h> +#include <glibmm/refptr.h> +#include <glibmm/ustring.h> + +namespace Turns +{ + + class Participant final : public Glib::Object + { + public: + using BaseClassType = TurnsParticipantClass; + using BaseObjectType = TurnsParticipant; + using CppClassType = class Participant_Class; + using CppObjectType = Participant; + + Participant(); + Participant(Glib::ustring const & name, float priority, int disposition); + + [[nodiscard]] auto gobj() noexcept -> BaseObjectType *; + [[nodiscard]] auto gobj() const -> BaseObjectType const *; + [[nodiscard]] auto gobj_copy() noexcept -> BaseObjectType *; + + [[nodiscard]] auto get_active() const noexcept -> bool; + [[nodiscard]] auto get_defeated() const noexcept -> bool; + [[nodiscard]] auto get_disposition() const noexcept -> int; + [[nodiscard]] auto get_name() const -> Glib::ustring; + [[nodiscard]] auto get_priority() const noexcept -> float; + + auto set_active(bool value) noexcept -> void; + auto set_defeated(bool value) noexcept -> void; + auto set_disposition(int value) noexcept -> void; + auto set_name(Glib::ustring const & value) noexcept -> void; + auto set_priority(float value) noexcept -> void; + + protected: + friend Participant_Class; + + explicit Participant(BaseObjectType * gobj); + }; + +} // namespace Turns + +namespace Glib +{ + auto wrap(TurnsParticipant * object, bool copy = false) -> Glib::RefPtr<Turns::Participant>; +} // namespace Glib + +#endif
\ No newline at end of file |
