00001 /* 00002 This file is part of c0re. 00003 00004 c0re is a multiplayer RTS on a hexagonal map with an evolving unit concept. 00005 Copyright (C) 2007 Stephan Hofmann 00006 00007 c0re is free software: you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation, either version 3 of the License, or 00010 (at your option) any later version. 00011 00012 This program is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with this program. If not, see <http://www.gnu.org/licenses/>. 00019 */ 00020 00021 #include "InputContext.h" 00022 00023 InputContext::InputContext() 00024 { 00025 } 00026 00027 InputContext::~InputContext() 00028 { 00029 } 00030 00031 int InputContext::registerMessagequeue(std::deque<std::string> *p_queue) 00032 { 00033 int ret = 0; 00034 registeredMessageQueues.push_back(p_queue); 00035 return ret; 00036 } 00037 00038 int InputContext::unregisterMessagequeue(std::deque<std::string> *p_queue) 00039 { 00040 int ret = 0; 00041 registeredMessageQueues.remove(p_queue); 00042 return ret; 00043 } 00044 00045 int InputContext::pushMessage(std::string p_msg) 00046 { 00047 int ret = 0; 00048 std::list< std::deque<std::string>* >::iterator it; 00049 for (it = registeredMessageQueues.begin(); it != registeredMessageQueues.end(); it++) 00050 { 00051 (*it)->push_back(p_msg); 00052 } 00053 return ret; 00054 }