Pyrogenesis  trunk
SimulationCommand.h
Go to the documentation of this file.
1 /* Copyright (C) 2015 Wildfire Games.
2  * This file is part of 0 A.D.
3  *
4  * 0 A.D. is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * 0 A.D. is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with 0 A.D. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef INCLUDED_SIMULATIONCOMMAND
19 #define INCLUDED_SIMULATIONCOMMAND
20 
23 
24 /**
25  * Simulation command, typically received over the network in multiplayer games.
26  */
28 {
29  SimulationCommand(player_id_t player, JSContext* cx, JS::HandleValue val)
30  : player(player), data(cx, val)
31  {
32  }
33 
35  : player(cmd.player), data(cmd.data)
36  {
37  }
38 
39  // std::vector::insert requires the move assignment operator at compilation time,
40  // but apparently never uses it (it uses the move constructor).
42  {
43  this->player = other.player;
44  this->data = other.data;
45  return *this;
46  }
47 
49  JS::PersistentRootedValue data;
50 };
51 
52 #endif // INCLUDED_SIMULATIONCOMMAND
SimulationCommand & operator=(SimulationCommand &&other)
Definition: SimulationCommand.h:41
int32_t player_id_t
valid player IDs are non-negative (see ICmpOwnership)
Definition: Player.h:24
player_id_t player
Definition: SimulationCommand.h:48
Simulation command, typically received over the network in multiplayer games.
Definition: SimulationCommand.h:27
JS::PersistentRootedValue data
Definition: SimulationCommand.h:49
SimulationCommand(SimulationCommand &&cmd)
Definition: SimulationCommand.h:34
SimulationCommand(player_id_t player, JSContext *cx, JS::HandleValue val)
Definition: SimulationCommand.h:29