1 /* Copyright (C) 2009 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 #include "precompiled.h"
19 
20 #include "MessageHandler.h"
21 
22 #include "../CommandProc.h"
23 
24 namespace AtlasMessage {
25 
26 
MESSAGEHANDLER(DoCommand)27 MESSAGEHANDLER(DoCommand)
28 {
29 	Command* c = NULL;
30 	cmdHandlers::const_iterator it = GetCmdHandlers().find("c" + *msg->name);
31 	if (it != GetCmdHandlers().end())
32 	{
33 		c = (it->second)(msg->data);
34 	}
35 	else
36 	{
37 		debug_warn(L"Unrecognised command");
38 		return;
39 	}
40 
41 	GetCommandProc().Submit(c);
42 }
43 
MESSAGEHANDLER(UndoCommand)44 MESSAGEHANDLER(UndoCommand)
45 {
46 	UNUSED2(msg);
47 	GetCommandProc().Undo();
48 }
49 
MESSAGEHANDLER(RedoCommand)50 MESSAGEHANDLER(RedoCommand)
51 {
52 	UNUSED2(msg);
53 	GetCommandProc().Redo();
54 }
55 
MESSAGEHANDLER(MergeCommand)56 MESSAGEHANDLER(MergeCommand)
57 {
58 	UNUSED2(msg);
59 	GetCommandProc().Merge();
60 }
61 
62 
63 }
64