diff options
author | glx <glx@openttd.org> | 2019-12-16 20:56:10 +0100 |
---|---|---|
committer | Niels Martin Hansen <nielsm@indvikleren.dk> | 2019-12-21 20:13:03 +0100 |
commit | 41232f18c18c9ca444282a9e959b7dfd6c93eff5 (patch) | |
tree | dce6e69fc4e0c7d441cf4916700aa3156be88e62 /src/network/network_admin.h | |
parent | 09fa39c5b59d88a076a244cf1623a53b0ffa1434 (diff) | |
download | openttd-41232f18c18c9ca444282a9e959b7dfd6c93eff5.tar.xz |
Codechange: Replace network related FOR_ALL with range-based for loops
Diffstat (limited to 'src/network/network_admin.h')
-rw-r--r-- | src/network/network_admin.h | 32 |
1 files changed, 11 insertions, 21 deletions
diff --git a/src/network/network_admin.h b/src/network/network_admin.h index bf3dc2242..98dbab481 100644 --- a/src/network/network_admin.h +++ b/src/network/network_admin.h @@ -82,28 +82,18 @@ public: { return "admin"; } -}; - -/** - * Iterate over all the sockets from a given starting point. - * @param var The variable to iterate with. - * @param start The start of the iteration. - */ -#define FOR_ALL_ADMIN_SOCKETS_FROM(var, start) FOR_ALL_ITEMS_FROM(ServerNetworkAdminSocketHandler, adminsocket_index, var, start) -/** - * Iterate over all the sockets. - * @param var The variable to iterate with. - */ -#define FOR_ALL_ADMIN_SOCKETS(var) FOR_ALL_ADMIN_SOCKETS_FROM(var, 0) - -/** - * Iterate over all the active sockets. - * @param var The variable to iterate with. - */ -#define FOR_ALL_ACTIVE_ADMIN_SOCKETS(var) \ - FOR_ALL_ADMIN_SOCKETS(var) \ - if (var->GetAdminStatus() == ADMIN_STATUS_ACTIVE) + /** + * Returns an iterable ensemble of all active admin sockets + * @param from index of the first socket to consider + * @return an iterable ensemble of all active admin sockets + */ + static Pool::IterateWrapper<ServerNetworkAdminSocketHandler> IterateActive(size_t from = 0) + { + return Pool::IterateWrapper<ServerNetworkAdminSocketHandler>(from, + [](size_t index) { return ServerNetworkAdminSocketHandler::Get(index)->GetAdminStatus() == ADMIN_STATUS_ACTIVE; }); + } +}; void NetworkAdminClientInfo(const NetworkClientSocket *cs, bool new_client = false); void NetworkAdminClientUpdate(const NetworkClientInfo *ci); |