| 589 | } |
| 590 | |
| 591 | void ResourceManager::UnregisterNetworkClient(NetworkClient* network_client) |
| 592 | { |
| 593 | /*-------------------------------------------------------------------------*\ |
| 594 | | Stop the disconnecting client | |
| 595 | \*-------------------------------------------------------------------------*/ |
| 596 | network_client->StopClient(); |
| 597 | |
| 598 | /*-------------------------------------------------------------------------*\ |
| 599 | | Clear callbacks from the client before removal | |
| 600 | \*-------------------------------------------------------------------------*/ |
| 601 | network_client->ClearCallbacks(); |
| 602 | |
| 603 | /*-------------------------------------------------------------------------*\ |
| 604 | | Find the client to remove and remove it from the clients list | |
| 605 | \*-------------------------------------------------------------------------*/ |
| 606 | std::vector<NetworkClient*>::iterator client_it = std::find(clients.begin(), clients.end(), network_client); |
| 607 | |
| 608 | if(client_it != clients.end()) |
| 609 | { |
| 610 | clients.erase(client_it); |
| 611 | } |
| 612 | |
| 613 | /*-------------------------------------------------------------------------*\ |
| 614 | | Delete the client | |
| 615 | \*-------------------------------------------------------------------------*/ |
| 616 | delete network_client; |
| 617 | |
| 618 | UpdateDeviceList(); |
| 619 | } |
| 620 | |
| 621 | std::vector<NetworkClient*>& ResourceManager::GetClients() |
| 622 | { |
no test coverage detected