OpenTTD Source: src/network/network_gamelist.cpp File Reference

OpenTTD Source 14.0-RC3

Functions | Variables
network_gamelist.cpp File Reference
`#include "../stdafx.h"`
`#include "../debug.h"`
`#include "../window_func.h"`
`#include "network_internal.h"`
`#include "network_udp.h"`
`#include "network_gamelist.h"`
`#include <atomic>`
`#include "../safeguards.h"`

Go to the source code of this file.

## Functions
NetworkGameList * | NetworkGameListAddItem (const std::string &connection_string)
| Add a new item to the linked gamelist. More...
void | NetworkGameListRemoveItem (NetworkGameList *remove)
| Remove an item from the gamelist linked list. More...
void | NetworkGameListRemoveExpired ()
| Remove all servers that have not recently been updated. More...
void | NetworkAfterNewGRFScan ()
| Rebuild the GRFConfig's of the servers in the game list as we did a rescan and might have found new NewGRFs.

## Variables
NetworkGameList * | _network_game_list = nullptr
| Game list of this client.
int | _network_game_list_version = 0
| Current version of all items in the list.

## Detailed Description

This file handles the GameList Also, it handles the request to a server for data about the server

Definition in file network_gamelist.cpp.

## Function Documentation

## ◆ NetworkGameListAddItem()

NetworkGameList* NetworkGameListAddItem | ( | const std::string & | connection_string | ) |

Add a new item to the linked gamelist.

If the IP and Port match return the existing item instead of adding it again

Parameters

  connection_string | the address of the to-be added item

Returns
  a point to the newly added or already existing item

Definition at line 32 of file network_gamelist.cpp.

References _network_game_list, _network_game_list_version, NetworkGameList::connection_string, ServerAddress::connection_string, NetworkServerGameInfo::gamescript_version, NetworkGameList::info, NETWORK_DEFAULT_PORT, NetworkGameList::next, ServerAddress::Parse(), UpdateNetworkGameWindow(), and NetworkGameList::version.

Referenced by QueryNetworkGameSocketHandler::CloseConnection(), NetworkAddServer(), NetworkQueryServer(), TCPQueryConnecter::OnFailure(), ClientNetworkCoordinatorSocketHandler::Receive_GC_LISTING(), QueryNetworkGameSocketHandler::Receive_SERVER_BANNED(), QueryNetworkGameSocketHandler::Receive_SERVER_ERROR(), QueryNetworkGameSocketHandler::Receive_SERVER_FULL(), and QueryNetworkGameSocketHandler::Receive_SERVER_GAME_INFO().

## ◆ NetworkGameListRemoveExpired()

void NetworkGameListRemoveExpired | ( |  | ) |

Remove all servers that have not recently been updated.

Call this after you received all the servers from the Game Coordinator, so the ones that are no longer listed are removed.

Definition at line 92 of file network_gamelist.cpp.

References _network_game_list, _network_game_list_version, ClearGRFConfigList(), NetworkServerGameInfo::grfconfig, NetworkGameList::info, NetworkGameList::next, and UpdateNetworkGameWindow().

Referenced by ClientNetworkCoordinatorSocketHandler::Receive_GC_LISTING().

## ◆ NetworkGameListRemoveItem()

void NetworkGameListRemoveItem | ( | NetworkGameList * | remove | ) |

Remove an item from the gamelist linked list.

Parameters

  remove | pointer to the item to be removed

Definition at line 64 of file network_gamelist.cpp.

References _network_game_list, ClearGRFConfigList(), NetworkServerGameInfo::grfconfig, NetworkGameList::info, and NetworkGameList::next.