1 #include "RoomTypes.h"
2
RoomMemberModeToEnum(RoomMemberMode e)3 const char *RoomMemberModeToEnum(RoomMemberMode e)
4 {
5 switch (e)
6 {
7 case RMM_MODERATOR:
8 return "RMM_MODERATOR";
9 case RMM_PUBLIC:
10 return "RMM_PUBLIC";
11 case RMM_RESERVED:
12 return "RMM_RESERVED";
13 case RMM_SPECTATOR_PUBLIC:
14 return "RMM_SPECTATOR_PUBLIC";
15 case RMM_SPECTATOR_RESERVED:
16 return "RMM_SPECTATOR_RESERVED";
17 case RMM_ANY_PLAYABLE:
18 return "RMM_ANY_PLAYABLE";
19 case RMM_ANY_SPECTATOR:
20 return "RMM_ANY_SPECTATOR";
21 }
22 return "Error in RoomMemberModeToEnum";
23 }
24
25 static DefaultRoomColumns defaultRoomColumns[DefaultRoomColumns::TC_TABLE_COLUMNS_COUNT] =
26 {
27 {DefaultRoomColumns::TC_TITLE_NAME, "Title name", DataStructures::Table::STRING},
28 {DefaultRoomColumns::TC_TITLE_ID, "Title id", DataStructures::Table::NUMERIC},
29 {DefaultRoomColumns::TC_ROOM_NAME, "Room name", DataStructures::Table::STRING},
30 {DefaultRoomColumns::TC_ROOM_ID, "Room id", DataStructures::Table::NUMERIC},
31 {DefaultRoomColumns::TC_TOTAL_SLOTS, "Total slots", DataStructures::Table::NUMERIC},
32 {DefaultRoomColumns::TC_TOTAL_PUBLIC_PLUS_RESERVED_SLOTS, "Total Public plus reserved slots", DataStructures::Table::NUMERIC},
33 {DefaultRoomColumns::TC_USED_SLOTS, "Used slots", DataStructures::Table::NUMERIC},
34 {DefaultRoomColumns::TC_USED_PUBLIC_PLUS_RESERVED_SLOTS, "Used public plus reserved slots", DataStructures::Table::NUMERIC},
35 {DefaultRoomColumns::TC_REMAINING_SLOTS, "Remaining slots", DataStructures::Table::NUMERIC},
36 {DefaultRoomColumns::TC_REMAINING_PUBLIC_PLUS_RESERVED_SLOTS, "Remaining public plus reserved slots", DataStructures::Table::NUMERIC},
37 {DefaultRoomColumns::TC_TOTAL_PUBLIC_SLOTS, "Total public slots", DataStructures::Table::NUMERIC},
38 {DefaultRoomColumns::TC_TOTAL_RESERVED_SLOTS, "Total reserved slots", DataStructures::Table::NUMERIC},
39 {DefaultRoomColumns::TC_TOTAL_SPECTATOR_SLOTS, "Total spectator slots", DataStructures::Table::NUMERIC},
40 {DefaultRoomColumns::TC_USED_PUBLIC_SLOTS, "Used public slots", DataStructures::Table::NUMERIC},
41 {DefaultRoomColumns::TC_USED_RESERVED_SLOTS, "Used reserved slots", DataStructures::Table::NUMERIC},
42 {DefaultRoomColumns::TC_USED_SPECTATOR_SLOTS, "Used spectator slots", DataStructures::Table::NUMERIC},
43 {DefaultRoomColumns::TC_REMAINING_PUBLIC_SLOTS, "Remaining public slots", DataStructures::Table::NUMERIC},
44 {DefaultRoomColumns::TC_REMAINING_RESERVED_SLOTS, "Remaining reserved slots", DataStructures::Table::NUMERIC},
45 {DefaultRoomColumns::TC_REMAINING_SPECTATOR_SLOTS, "Remaining spectator slots", DataStructures::Table::NUMERIC},
46 {DefaultRoomColumns::TC_CREATION_TIME, "Creation time", DataStructures::Table::NUMERIC},
47 {DefaultRoomColumns::TC_DESTROY_ON_MODERATOR_LEAVE, "Destroy on moderator leave", DataStructures::Table::NUMERIC},
48 {DefaultRoomColumns::TC_LOBBY_ROOM_PTR, "Lobby room ptr [Internal]", DataStructures::Table::POINTER},
49 };
50
GetColumnName(int columnId)51 const char *DefaultRoomColumns::GetColumnName(int columnId) {return defaultRoomColumns[columnId].columnName;}
GetColumnType(int columnId)52 DataStructures::Table::ColumnType DefaultRoomColumns::GetColumnType(int columnId) {return defaultRoomColumns[columnId].columnType;}
HasColumnName(const char * columnName)53 bool DefaultRoomColumns::HasColumnName(const char *columnName)
54 {
55 unsigned i;
56 for (i=0; i < TC_TABLE_COLUMNS_COUNT; i++)
57 if (strcmp(columnName,GetColumnName(i))==0)
58 return true;
59 return false;
60 }
GetColumnIndex(const char * columnName)61 int DefaultRoomColumns::GetColumnIndex(const char *columnName)
62 {
63 unsigned i;
64 for (i=0; i < TC_TABLE_COLUMNS_COUNT; i++)
65 if (strcmp(columnName,GetColumnName(i))==0)
66 return i;
67 return -1;
68 }
AddDefaultColumnsToTable(DataStructures::Table * table)69 void DefaultRoomColumns::AddDefaultColumnsToTable(DataStructures::Table *table)
70 {
71 unsigned i;
72 for (i=0; i < DefaultRoomColumns::TC_TABLE_COLUMNS_COUNT; i++)
73 table->AddColumn(DefaultRoomColumns::GetColumnName(i), DefaultRoomColumns::GetColumnType(i));
74 }
HasDefaultColumns(DataStructures::Table * table)75 bool DefaultRoomColumns::HasDefaultColumns(DataStructures::Table *table)
76 {
77 unsigned i;
78 for (i=0; i < DefaultRoomColumns::TC_TABLE_COLUMNS_COUNT; i++)
79 {
80 if (table->ColumnIndex(DefaultRoomColumns::GetColumnName(i))!=-1)
81 return true;
82 }
83 return false;
84 }
85