summaryrefslogtreecommitdiff
path: root/lib/src/turns-turn-order.h
blob: fd888ec75a76080af68ec710834d47909ca7f121 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef TURNS_TURN_ORDER_H
#define TURNS_TURN_ORDER_H

#include "turns-participant.h"

#include <glib-object.h>
#include <glib.h>

G_BEGIN_DECLS

typedef enum
{
  TURNS_TURN_ORDER_SORT_MODE_DESCENDING,
  TURNS_TURN_ORDER_SORT_MODE_ASCENDING,
} TurnsTurnOrderSortMode;

GType turns_turn_order_sort_mode_get_type(void) G_GNUC_CONST;
#define TURNS_TYPE_TURN_ORDER_SORT_MODE (turns_turn_order_sort_mode_get_type())

#define TURNS_TYPE_TURN_ORDER turns_turn_order_get_type()
G_DECLARE_FINAL_TYPE(TurnsTurnOrder, turns_turn_order, TURNS, TURN_ORDER, GObject)

TurnsTurnOrder * turns_turn_order_new(void) G_GNUC_WARN_UNUSED_RESULT;

void turns_turn_order_add(TurnsTurnOrder * self, TurnsParticipant * participant);

gsize turns_turn_order_get_participant_count(TurnsTurnOrder const * self) G_GNUC_WARN_UNUSED_RESULT;
gboolean turns_turn_order_get_running(TurnsTurnOrder const * self) G_GNUC_WARN_UNUSED_RESULT;
TurnsTurnOrderSortMode turns_turn_order_get_sort_mode(TurnsTurnOrder const * self) G_GNUC_WARN_UNUSED_RESULT;

void turns_turn_order_set_sort_mode(TurnsTurnOrder * self, TurnsTurnOrderSortMode sort_mode);

G_END_DECLS

#endif