utils::optional -> std::optional for 8058dab
This commit is contained in:
parent
8058daba84
commit
255fc0d450
4 changed files with 38 additions and 40 deletions
|
@ -775,7 +775,7 @@ void game::send_leave_game(player_iterator user) const
|
|||
server.async_send_doc_queued(user->socket(), leave_game);
|
||||
}
|
||||
|
||||
utils::optional<player_iterator> game::kick_member(const simple_wml::node& kick, player_iterator kicker)
|
||||
std::optional<player_iterator> game::kick_member(const simple_wml::node& kick, player_iterator kicker)
|
||||
{
|
||||
if(kicker != owner_) {
|
||||
send_server_message("You cannot kick: not the game host", kicker);
|
||||
|
@ -807,7 +807,7 @@ utils::optional<player_iterator> game::kick_member(const simple_wml::node& kick,
|
|||
return user;
|
||||
}
|
||||
|
||||
utils::optional<player_iterator> game::ban_user(const simple_wml::node& ban, player_iterator banner)
|
||||
std::optional<player_iterator> game::ban_user(const simple_wml::node& ban, player_iterator banner)
|
||||
{
|
||||
if(banner != owner_) {
|
||||
send_server_message("You cannot ban: not the game host", banner);
|
||||
|
@ -1542,7 +1542,7 @@ bool game::remove_player(player_iterator player, const bool disconnect, const bo
|
|||
return false;
|
||||
}
|
||||
|
||||
void game::send_user_list(utils::optional<player_iterator> exclude)
|
||||
void game::send_user_list(std::optional<player_iterator> exclude)
|
||||
{
|
||||
// If the game hasn't started yet, then send all players a list of the users in the game.
|
||||
if(started_ /*|| description_ == nullptr*/) {
|
||||
|
@ -1630,7 +1630,7 @@ void game::load_next_scenario(player_iterator user)
|
|||
}
|
||||
|
||||
template<typename Container>
|
||||
void game::send_to_players(simple_wml::document& data, const Container& players, utils::optional<player_iterator> exclude)
|
||||
void game::send_to_players(simple_wml::document& data, const Container& players, std::optional<player_iterator> exclude)
|
||||
{
|
||||
for(const auto& player : players) {
|
||||
if(player != exclude) {
|
||||
|
@ -1639,14 +1639,14 @@ void game::send_to_players(simple_wml::document& data, const Container& players,
|
|||
}
|
||||
}
|
||||
|
||||
void game::send_data(simple_wml::document& data, utils::optional<player_iterator> exclude, std::string /*packet_type*/)
|
||||
void game::send_data(simple_wml::document& data, std::optional<player_iterator> exclude, std::string /*packet_type*/)
|
||||
{
|
||||
send_to_players(data, all_game_users(), exclude);
|
||||
}
|
||||
|
||||
void game::send_data_sides(simple_wml::document& data,
|
||||
const simple_wml::string_span& sides,
|
||||
utils::optional<player_iterator> exclude)
|
||||
std::optional<player_iterator> exclude)
|
||||
{
|
||||
std::vector<int> sides_vec = ::split<int>(sides, ::split_conv_impl);
|
||||
|
||||
|
@ -1688,7 +1688,7 @@ std::string game::has_same_ip(player_iterator user) const
|
|||
return clones;
|
||||
}
|
||||
|
||||
void game::send_observerjoins(utils::optional<player_iterator> player)
|
||||
void game::send_observerjoins(std::optional<player_iterator> player)
|
||||
{
|
||||
for(auto ob : observers_) {
|
||||
if(ob == player) {
|
||||
|
@ -1918,7 +1918,7 @@ std::string game::debug_sides_info() const
|
|||
return result.str();
|
||||
}
|
||||
|
||||
utils::optional<player_iterator> game::find_user(const simple_wml::string_span& name)
|
||||
std::optional<player_iterator> game::find_user(const simple_wml::string_span& name)
|
||||
{
|
||||
auto player { player_connections_.get<name_t>().find(name.to_string()) };
|
||||
if(player != player_connections_.get<name_t>().end()) {
|
||||
|
@ -1928,7 +1928,7 @@ utils::optional<player_iterator> game::find_user(const simple_wml::string_span&
|
|||
}
|
||||
}
|
||||
|
||||
void game::send_and_record_server_message(const char* message, utils::optional<player_iterator> exclude)
|
||||
void game::send_and_record_server_message(const char* message, std::optional<player_iterator> exclude)
|
||||
{
|
||||
auto doc = std::make_unique<simple_wml::document>();
|
||||
send_server_message(message, {}, doc.get());
|
||||
|
@ -1939,14 +1939,14 @@ void game::send_and_record_server_message(const char* message, utils::optional<p
|
|||
}
|
||||
}
|
||||
|
||||
void game::send_server_message_to_all(const char* message, utils::optional<player_iterator> exclude)
|
||||
void game::send_server_message_to_all(const char* message, std::optional<player_iterator> exclude)
|
||||
{
|
||||
simple_wml::document doc;
|
||||
send_server_message(message, {}, &doc);
|
||||
send_data(doc, exclude, "message");
|
||||
}
|
||||
|
||||
void game::send_server_message(const char* message, utils::optional<player_iterator> player, simple_wml::document* docptr) const
|
||||
void game::send_server_message(const char* message, std::optional<player_iterator> player, simple_wml::document* docptr) const
|
||||
{
|
||||
simple_wml::document docbuf;
|
||||
if(docptr == nullptr) {
|
||||
|
|
|
@ -20,9 +20,8 @@
|
|||
#include "server/common/simple_wml.hpp"
|
||||
#include "utils/make_enum.hpp"
|
||||
|
||||
#include "utils/optional_fwd.hpp"
|
||||
|
||||
#include <map>
|
||||
#include <optional>
|
||||
#include <vector>
|
||||
|
||||
// class player;
|
||||
|
@ -30,7 +29,7 @@
|
|||
namespace wesnothd
|
||||
{
|
||||
typedef std::vector<player_iterator> user_vector;
|
||||
typedef std::vector<utils::optional<player_iterator>> side_vector;
|
||||
typedef std::vector<std::optional<player_iterator>> side_vector;
|
||||
class server;
|
||||
|
||||
class game
|
||||
|
@ -165,7 +164,7 @@ public:
|
|||
* @return The iterator to the removed member if
|
||||
* successful, empty optional otherwise.
|
||||
*/
|
||||
utils::optional<player_iterator> kick_member(const simple_wml::node& kick, player_iterator kicker);
|
||||
std::optional<player_iterator> kick_member(const simple_wml::node& kick, player_iterator kicker);
|
||||
|
||||
/**
|
||||
* Ban and kick a user by name.
|
||||
|
@ -175,7 +174,7 @@ public:
|
|||
* @return The iterator to the banned player if he
|
||||
* was in this game, empty optional otherwise.
|
||||
*/
|
||||
utils::optional<player_iterator> ban_user(const simple_wml::node& ban, player_iterator banner);
|
||||
std::optional<player_iterator> ban_user(const simple_wml::node& ban, player_iterator banner);
|
||||
|
||||
void unban_user(const simple_wml::node& unban, player_iterator unbanner);
|
||||
|
||||
|
@ -244,30 +243,30 @@ public:
|
|||
*/
|
||||
bool describe_slots();
|
||||
|
||||
void send_server_message_to_all(const char* message, utils::optional<player_iterator> exclude = {});
|
||||
void send_server_message_to_all(const std::string& message, utils::optional<player_iterator> exclude = {})
|
||||
void send_server_message_to_all(const char* message, std::optional<player_iterator> exclude = {});
|
||||
void send_server_message_to_all(const std::string& message, std::optional<player_iterator> exclude = {})
|
||||
{
|
||||
send_server_message_to_all(message.c_str(), exclude);
|
||||
}
|
||||
|
||||
void send_server_message(
|
||||
const char* message, utils::optional<player_iterator> player = {}, simple_wml::document* doc = nullptr) const;
|
||||
const char* message, std::optional<player_iterator> player = {}, simple_wml::document* doc = nullptr) const;
|
||||
void send_server_message(
|
||||
const std::string& message, utils::optional<player_iterator> player = {}, simple_wml::document* doc = nullptr) const
|
||||
const std::string& message, std::optional<player_iterator> player = {}, simple_wml::document* doc = nullptr) const
|
||||
{
|
||||
send_server_message(message.c_str(), player, doc);
|
||||
}
|
||||
|
||||
/** Send data to all players in this game except 'exclude'. */
|
||||
void send_and_record_server_message(const char* message, utils::optional<player_iterator> exclude = {});
|
||||
void send_and_record_server_message(const std::string& message, utils::optional<player_iterator> exclude = {})
|
||||
void send_and_record_server_message(const char* message, std::optional<player_iterator> exclude = {});
|
||||
void send_and_record_server_message(const std::string& message, std::optional<player_iterator> exclude = {})
|
||||
{
|
||||
send_and_record_server_message(message.c_str(), exclude);
|
||||
}
|
||||
|
||||
template<typename Container>
|
||||
void send_to_players(simple_wml::document& data, const Container& players, utils::optional<player_iterator> exclude = {});
|
||||
void send_data(simple_wml::document& data, utils::optional<player_iterator> exclude = {}, std::string packet_type = "");
|
||||
void send_to_players(simple_wml::document& data, const Container& players, std::optional<player_iterator> exclude = {});
|
||||
void send_data(simple_wml::document& data, std::optional<player_iterator> exclude = {}, std::string packet_type = "");
|
||||
|
||||
void clear_history();
|
||||
void record_data(std::unique_ptr<simple_wml::document> data);
|
||||
|
@ -350,7 +349,7 @@ private:
|
|||
return nsides_ ? (current_side_index_ % nsides_) : 0;
|
||||
}
|
||||
|
||||
utils::optional<player_iterator> current_player() const
|
||||
std::optional<player_iterator> current_player() const
|
||||
{
|
||||
return sides_[current_side()];
|
||||
}
|
||||
|
@ -402,16 +401,16 @@ private:
|
|||
*/
|
||||
void send_data_sides(simple_wml::document& data,
|
||||
const simple_wml::string_span& sides,
|
||||
utils::optional<player_iterator> exclude = {});
|
||||
std::optional<player_iterator> exclude = {});
|
||||
|
||||
void send_data_observers(
|
||||
simple_wml::document& data, utils::optional<player_iterator> exclude = {}, std::string packet_type = "") const;
|
||||
simple_wml::document& data, std::optional<player_iterator> exclude = {}, std::string packet_type = "") const;
|
||||
|
||||
/**
|
||||
* Send [observer] tags of all the observers in the game to the user or
|
||||
* everyone if none given.
|
||||
*/
|
||||
void send_observerjoins(utils::optional<player_iterator> player = {});
|
||||
void send_observerjoins(std::optional<player_iterator> player = {});
|
||||
void send_observerquit(player_iterator observer);
|
||||
void send_history(player_iterator sock) const;
|
||||
|
||||
|
@ -419,7 +418,7 @@ private:
|
|||
void notify_new_host();
|
||||
|
||||
/** Shortcut to a convenience function for finding a user by name. */
|
||||
utils::optional<player_iterator> find_user(const simple_wml::string_span& name);
|
||||
std::optional<player_iterator> find_user(const simple_wml::string_span& name);
|
||||
|
||||
bool observers_can_label() const
|
||||
{
|
||||
|
@ -453,7 +452,7 @@ private:
|
|||
*
|
||||
* Only sends data if the game is initialized but not yet started.
|
||||
*/
|
||||
void send_user_list(utils::optional<player_iterator> exclude = {});
|
||||
void send_user_list(std::optional<player_iterator> exclude = {});
|
||||
|
||||
/** Returns the name of the user or "(unfound)". */
|
||||
std::string username(player_iterator pl) const;
|
||||
|
|
|
@ -1892,7 +1892,7 @@ void server::remove_player(player_iterator iter)
|
|||
if(game_ended) delete_game(g->id());
|
||||
}
|
||||
|
||||
void server::send_to_lobby(simple_wml::document& data, utils::optional<player_iterator> exclude)
|
||||
void server::send_to_lobby(simple_wml::document& data, std::optional<player_iterator> exclude)
|
||||
{
|
||||
for(const auto& p : player_connections_.get<game_t>().equal_range(0)) {
|
||||
auto player { player_connections_.iterator_to(p) };
|
||||
|
@ -1902,7 +1902,7 @@ void server::send_to_lobby(simple_wml::document& data, utils::optional<player_it
|
|||
}
|
||||
}
|
||||
|
||||
void server::send_server_message_to_lobby(const std::string& message, utils::optional<player_iterator> exclude)
|
||||
void server::send_server_message_to_lobby(const std::string& message, std::optional<player_iterator> exclude)
|
||||
{
|
||||
for(const auto& p : player_connections_.get<game_t>().equal_range(0)) {
|
||||
auto player { player_connections_.iterator_to(p) };
|
||||
|
@ -1912,7 +1912,7 @@ void server::send_server_message_to_lobby(const std::string& message, utils::opt
|
|||
}
|
||||
}
|
||||
|
||||
void server::send_server_message_to_all(const std::string& message, utils::optional<player_iterator> exclude)
|
||||
void server::send_server_message_to_all(const std::string& message, std::optional<player_iterator> exclude)
|
||||
{
|
||||
for(auto player = player_connections_.begin(); player != player_connections_.end(); ++player) {
|
||||
if(player != exclude) {
|
||||
|
@ -2914,7 +2914,7 @@ void server::delete_game(int gameid, const std::string& reason)
|
|||
}
|
||||
}
|
||||
|
||||
void server::update_game_in_lobby(const wesnothd::game& g, utils::optional<player_iterator> exclude)
|
||||
void server::update_game_in_lobby(const wesnothd::game& g, std::optional<player_iterator> exclude)
|
||||
{
|
||||
simple_wml::document diff;
|
||||
if(make_change_diff(*games_and_users_list_.child("gamelist"), "gamelist", "game", g.description(), diff)) {
|
||||
|
|
|
@ -23,10 +23,9 @@
|
|||
#include "server/common/server_base.hpp"
|
||||
#include "server/wesnothd/player_connection.hpp"
|
||||
|
||||
#include "utils/optional_fwd.hpp"
|
||||
|
||||
#include <boost/asio/steady_timer.hpp>
|
||||
|
||||
#include <optional>
|
||||
#include <random>
|
||||
|
||||
namespace wesnothd
|
||||
|
@ -64,9 +63,9 @@ private:
|
|||
void send_server_message(player_iterator player, const std::string& message, const std::string& type) {
|
||||
send_server_message(player->socket(), message, type);
|
||||
}
|
||||
void send_to_lobby(simple_wml::document& data, utils::optional<player_iterator> exclude = {});
|
||||
void send_server_message_to_lobby(const std::string& message, utils::optional<player_iterator> exclude = {});
|
||||
void send_server_message_to_all(const std::string& message, utils::optional<player_iterator> exclude = {});
|
||||
void send_to_lobby(simple_wml::document& data, std::optional<player_iterator> exclude = {});
|
||||
void send_server_message_to_lobby(const std::string& message, std::optional<player_iterator> exclude = {});
|
||||
void send_server_message_to_all(const std::string& message, std::optional<player_iterator> exclude = {});
|
||||
|
||||
bool player_is_in_game(player_iterator player) const {
|
||||
return player->get_game() != nullptr;
|
||||
|
@ -194,7 +193,7 @@ private:
|
|||
|
||||
void delete_game(int, const std::string& reason="");
|
||||
|
||||
void update_game_in_lobby(const game& g, utils::optional<player_iterator> exclude = {});
|
||||
void update_game_in_lobby(const game& g, std::optional<player_iterator> exclude = {});
|
||||
|
||||
void start_new_server();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue