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)27MESSAGEHANDLER(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)44MESSAGEHANDLER(UndoCommand) 45 { 46 UNUSED2(msg); 47 GetCommandProc().Undo(); 48 } 49 MESSAGEHANDLER(RedoCommand)50MESSAGEHANDLER(RedoCommand) 51 { 52 UNUSED2(msg); 53 GetCommandProc().Redo(); 54 } 55 MESSAGEHANDLER(MergeCommand)56MESSAGEHANDLER(MergeCommand) 57 { 58 UNUSED2(msg); 59 GetCommandProc().Merge(); 60 } 61 62 63 } 64