1 #ifndef __ROOMS_ERROR_CODES_H
2 #define __ROOMS_ERROR_CODES_H
3 
4 namespace RakNet
5 {
6 
7 enum RoomsErrorCode
8 {
9 	REC_SUCCESS,
10 	REC_USERNAME_IS_EMPTY, // Generic error, when the requester of an operation did not define his username
11 	REC_NOT_LOGGED_IN, // Generic error, when the requester of an operation is not logged in
12 	REC_ADD_TO_ROOM_NO_RESERVED_OR_PUBLIC,
13 	REC_ADD_TO_ROOM_NO_PUBLIC,
14 	REC_ADD_TO_ROOM_NO_SPECTATOR,
15 	REC_ADD_TO_ROOM_ALREADY_IN_THIS_ROOM,
16 	REC_ADD_TO_ROOM_ALREADY_IN_ANOTHER_ROOM,
17 	REC_ADD_TO_ROOM_KICKED_OUT_OF_ROOM,
18 	REC_CHANGE_MEMBER_TYPE_NO_SLOTS,
19 	REC_SEARCH_BY_FILTER_UNKNOWN_TITLE,
20 	REC_JOIN_BY_FILTER_UNKNOWN_TITLE,
21 	REC_JOIN_BY_FILTER_NO_ROOMS,
22 	REC_JOIN_BY_FILTER_CURRENTLY_IN_A_ROOM,
23 	REC_JOIN_BY_FILTER_CURRENTLY_IN_QUICK_JOIN,
24 	REC_JOIN_BY_FILTER_CANNOT_JOIN_AS_MODERATOR,
25 	REC_JOIN_BY_FILTER_ROOM_LOCKED,
26 	REC_JOIN_BY_FILTER_BANNED,
27 	REC_JOIN_BY_FILTER_NO_SLOTS,
28 	REC_JOIN_BY_QUICK_JOIN_CANNOT_JOIN_AS_MODERATOR,
29 	REC_JOIN_BY_QUICK_JOIN_ROOM_LOCKED,
30 	REC_JOIN_BY_QUICK_JOIN_BANNED,
31 	REC_JOIN_BY_QUICK_JOIN_NO_SLOTS,
32 	REC_ADD_TO_QUICK_JOIN_CURRENTLY_IN_A_ROOM,
33 	REC_ADD_TO_QUICK_JOIN_UNKNOWN_TITLE,
34 	REC_ADD_TO_QUICK_JOIN_ALREADY_THERE,
35 	REC_ADD_TO_QUICK_JOIN_INVALID_TIMEOUT_TOO_LOW,
36 	REC_ADD_TO_QUICK_JOIN_INVALID_TIMEOUT_TOO_HIGH,
37 	REC_ADD_TO_QUICK_JOIN_MINIMUM_SLOTS_TOO_LOW,
38 	REC_ADD_TO_QUICK_JOIN_MINIMUM_SLOTS_TOO_HIGH,
39 	REC_REMOVE_FROM_QUICK_UNKNOWN_TITLE,
40 	REC_REMOVE_FROM_QUICK_JOIN_NOT_THERE,
41 	REC_CREATE_ROOM_UNKNOWN_TITLE,
42 	REC_CREATE_ROOM_CURRENTLY_IN_QUICK_JOIN,
43 	REC_CREATE_ROOM_CURRENTLY_IN_A_ROOM,
44 	REC_ROOM_CREATION_PARAMETERS_EMPTY_ROOM_NAME,
45 	REC_ROOM_CREATION_PARAMETERS_RESERVED_QUICK_JOIN_ROOM_NAME,
46 	REC_ROOM_CREATION_PARAMETERS_ROOM_NAME_HAS_PROFANITY,
47 	REC_ROOM_CREATION_PARAMETERS_ROOM_NAME_IN_USE,
48 	REC_ROOM_CREATION_PARAMETERS_NO_PLAYABLE_SLOTS,
49 	REC_SET_ROOM_PROPERTIES_UNKNOWN_ROOM,
50 	REC_LEAVE_ROOM_UNKNOWN_ROOM_ID,
51 	REC_LEAVE_ROOM_CURRENTLY_IN_QUICK_JOIN,
52 	REC_LEAVE_ROOM_NOT_IN_ROOM,
53 	REC_ENTER_ROOM_UNKNOWN_TITLE,
54 	REC_ENTER_ROOM_CURRENTLY_IN_QUICK_JOIN,
55 	REC_ENTER_ROOM_CURRENTLY_IN_A_ROOM,
56 	REC_PROCESS_QUICK_JOINS_UNKNOWN_TITLE,
57 	REC_ROOM_QUERY_TOO_MANY_QUERIES,
58 	REC_ROOM_QUERY_INVALID_QUERIES_POINTER,
59 	REC_SEND_INVITE_UNKNOWN_ROOM_ID,
60 	REC_SEND_INVITE_INVITEE_ALREADY_INVITED,
61 	REC_SEND_INVITE_CANNOT_PERFORM_ON_SELF,
62 	REC_SEND_INVITE_INVITOR_ONLY_MODERATOR_CAN_INVITE, // INVITE_MODE_MODERATOR_ONLY
63 	REC_SEND_INVITE_INVITOR_LACK_INVITE_PERMISSIONS, // Any other INVITE_MODE
64 	REC_SEND_INVITE_INVITOR_NOT_IN_ROOM,
65 	REC_SEND_INVITE_NO_SLOTS,
66 	REC_SEND_INVITE_INVITEE_ALREADY_IN_THIS_ROOM,
67 	REC_SEND_INVITE_INVITEE_BANNED,
68 	REC_SEND_INVITE_RECIPIENT_NOT_ONLINE,
69 	REC_SEND_INVITE_ROOM_LOCKED,
70 	REC_ACCEPT_INVITE_UNKNOWN_ROOM_ID,
71 	REC_ACCEPT_INVITE_CURRENTLY_IN_A_ROOM,
72 	REC_ACCEPT_INVITE_CURRENTLY_IN_QUICK_JOIN,
73 	REC_ACCEPT_INVITE_BANNED,
74 	REC_ACCEPT_INVITE_NO_SLOTS,
75 	REC_ACCEPT_INVITE_ROOM_LOCKED,
76 	REC_ACCEPT_INVITE_NO_SUCH_INVITE,
77 	REC_SLOTS_VALIDATION_NO_PLAYABLE_SLOTS,
78 	REC_SLOTS_VALIDATION_NEGATIVE_PUBLIC_SLOTS,
79 	REC_SLOTS_VALIDATION_NEGATIVE_RESERVED_SLOTS,
80 	REC_SLOTS_VALIDATION_NEGATIVE_SPECTATOR_SLOTS,
81 	REC_START_SPECTATING_UNKNOWN_ROOM_ID,
82 	REC_START_SPECTATING_ALREADY_SPECTATING,
83 	REC_START_SPECTATING_NO_SPECTATOR_SLOTS_AVAILABLE,
84 	REC_START_SPECTATING_NOT_IN_ROOM,
85 	REC_START_SPECTATING_REASSIGN_MODERATOR_BEFORE_SPECTATE,
86 	REC_START_SPECTATING_ROOM_LOCKED,
87 	REC_STOP_SPECTATING_UNKNOWN_ROOM_ID,
88 	REC_STOP_SPECTATING_NOT_IN_ROOM,
89 	REC_STOP_SPECTATING_NOT_CURRENTLY_SPECTATING,
90 	REC_STOP_SPECTATING_NO_SLOTS,
91 	REC_STOP_SPECTATING_ROOM_LOCKED,
92 	REC_GRANT_MODERATOR_UNKNOWN_ROOM_ID,
93 	REC_GRANT_MODERATOR_NEW_MODERATOR_NOT_ONLINE,
94 	REC_GRANT_MODERATOR_NOT_IN_ROOM,
95 	REC_GRANT_MODERATOR_NEW_MODERATOR_NOT_IN_ROOM,
96 	REC_GRANT_MODERATOR_CANNOT_PERFORM_ON_SELF,
97 	REC_GRANT_MODERATOR_MUST_BE_MODERATOR_TO_GRANT_MODERATOR,
98 	REC_GRANT_MODERATOR_NEW_MODERATOR_NOT_IN_PLAYABLE_SLOT,
99 	REC_CHANGE_SLOT_COUNTS_UNKNOWN_ROOM_ID,
100 	REC_CHANGE_SLOT_COUNTS_NOT_IN_ROOM,
101 	REC_CHANGE_SLOT_COUNTS_MUST_BE_MODERATOR,
102 	REC_SET_CUSTOM_ROOM_PROPERTIES_UNKNOWN_ROOM_ID,
103 	REC_SET_CUSTOM_ROOM_PROPERTIES_CONTAINS_DEFAULT_COLUMNS,
104 	REC_SET_CUSTOM_ROOM_PROPERTIES_NOT_IN_ROOM,
105 	REC_SET_CUSTOM_ROOM_PROPERTIES_MUST_BE_MODERATOR,
106 	REC_GET_ROOM_PROPERTIES_EMPTY_ROOM_NAME_AND_NOT_IN_A_ROOM,
107 	REC_GET_ROOM_PROPERTIES_UNKNOWN_ROOM_NAME,
108 	REC_CHANGE_ROOM_NAME_UNKNOWN_ROOM_ID,
109 	REC_CHANGE_ROOM_NAME_NOT_IN_ROOM,
110 	REC_CHANGE_ROOM_NAME_MUST_BE_MODERATOR,
111 	REC_CHANGE_ROOM_NAME_HAS_PROFANITY,
112 	REC_CHANGE_ROOM_NAME_EMPTY_ROOM_NAME,
113 	REC_CHANGE_ROOM_NAME_NAME_ALREADY_IN_USE,
114 	REC_SET_HIDDEN_FROM_SEARCHES_UNKNOWN_ROOM_ID,
115 	REC_SET_HIDDEN_FROM_SEARCHES_NOT_IN_ROOM,
116 	REC_SET_HIDDEN_FROM_SEARCHES_MUST_BE_MODERATOR,
117 	REC_SET_DESTROY_ON_MODERATOR_LEAVE_UNKNOWN_ROOM_ID,
118 	REC_SET_DESTROY_ON_MODERATOR_LEAVE_NOT_IN_ROOM,
119 	REC_SET_DESTROY_ON_MODERATOR_LEAVE_MUST_BE_MODERATOR,
120 	REC_SET_READY_STATUS_UNKNOWN_ROOM_ID,
121 	REC_SET_READY_STATUS_NOT_IN_ROOM,
122 	REC_SET_READY_STATUS_NOT_IN_PLAYABLE_SLOT,
123 	REC_SET_READY_STATUS_AUTO_LOCK_ALL_PLAYERS_READY,
124 	REC_GET_READY_STATUS_NOT_IN_ROOM,
125 	REC_GET_READY_STATUS_UNKNOWN_ROOM_ID,
126 	REC_SET_ROOM_LOCK_STATE_UNKNOWN_ROOM_ID,
127 	REC_SET_ROOM_LOCK_STATE_NOT_IN_ROOM,
128 	REC_SET_ROOM_LOCK_STATE_MUST_BE_MODERATOR,
129 	REC_SET_ROOM_LOCK_STATE_BAD_ENUMERATION_VALUE,
130 	REC_GET_ROOM_LOCK_STATE_UNKNOWN_ROOM_ID,
131 	REC_GET_ROOM_LOCK_STATE_NOT_IN_ROOM,
132 	REC_ARE_ALL_MEMBERS_READY_UNKNOWN_ROOM_ID,
133 	REC_ARE_ALL_MEMBERS_READY_NOT_IN_ROOM,
134 	REC_KICK_MEMBER_UNKNOWN_ROOM_ID,
135 	REC_KICK_MEMBER_NOT_IN_ROOM,
136 	REC_KICK_MEMBER_TARGET_NOT_ONLINE,
137 	REC_KICK_MEMBER_TARGET_NOT_IN_YOUR_ROOM,
138 	REC_KICK_MEMBER_MUST_BE_MODERATOR,
139 	REC_KICK_MEMBER_CANNOT_PERFORM_ON_SELF,
140 	REC_GET_KICK_REASON_UNKNOWN_ROOM_ID,
141 	REC_GET_KICK_REASON_NOT_KICKED,
142 	REC_REMOVE_USER_NOT_IN_ROOM,
143 	REC_ADD_TITLE_ALREADY_IN_USE,
144 	REC_UNBAN_MEMBER_UNKNOWN_ROOM_ID,
145 	REC_UNBAN_MEMBER_NOT_IN_ROOM,
146 	REC_UNBAN_MEMBER_MUST_BE_MODERATOR,
147 	REC_UNBAN_MEMBER_NOT_BANNED,
148 	REC_GET_BAN_REASON_UNKNOWN_ROOM_ID,
149 	REC_GET_BAN_REASON_NOT_BANNED,
150 	REC_CHANGE_HANDLE_NEW_HANDLE_IN_USE,
151 	REC_CHANGE_HANDLE_CONTAINS_PROFANITY,
152 	REC_CHAT_USER_NOT_IN_ROOM,
153 	REC_CHAT_RECIPIENT_NOT_ONLINE,
154 	REC_CHAT_RECIPIENT_NOT_IN_ANY_ROOM,
155 	REC_CHAT_RECIPIENT_NOT_IN_YOUR_ROOM,
156 	REC_BITSTREAM_USER_NOT_IN_ROOM,
157 	REC_BITSTREAM_RECIPIENT_NOT_ONLINE,
158 	REC_BITSTREAM_RECIPIENT_NOT_IN_ANY_ROOM,
159 	REC_BITSTREAM_RECIPIENT_NOT_IN_YOUR_ROOM,
160 
161 	ROOMS_ERROR_CODES_COUNT
162 };
163 
164 struct RoomsErrorCodeDescription
165 {
166 	RoomsErrorCode errorCode;
167 	const char *enumDesc;
168 	const char *englishDesc;
169 
170 	static const char *ToEnglish(RoomsErrorCode result);
171 	static const char *ToEnum(RoomsErrorCode result);
172 	static void Validate(void);
173 };
174 
175 }
176 
177 #endif