1 /*************************************************************************** 2 * Copyright (C) 2005-2019 by the FIFE team * 3 * http://www.fifengine.net * 4 * This file is part of FIFE. * 5 * * 6 * FIFE is free software; you can redistribute it and/or * 7 * modify it under the terms of the GNU Lesser General Public * 8 * License as published by the Free Software Foundation; either * 9 * version 2.1 of the License, or (at your option) any later version. * 10 * * 11 * This library is distributed in the hope that it will be useful, * 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 14 * Lesser General Public License for more details. * 15 * * 16 * You should have received a copy of the GNU Lesser General Public * 17 * License along with this library; if not, write to the * 18 * Free Software Foundation, Inc., * 19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 20 ***************************************************************************/ 21 22 #ifndef FIFE_EVENTCHANNEL_ITEXT_CONTROLLER_H 23 #define FIFE_EVENTCHANNEL_ITEXT_CONTROLLER_H 24 25 // Standard C++ library includes 26 // 27 28 // 3rd party library includes 29 // 30 31 // FIFE includes 32 // These includes are split up in two parts, separated by one empty line 33 // First block: files included from the FIFE root src directory 34 // Second block: files included from the same folder 35 // 36 37 namespace FIFE { 38 class ITextListener; 39 40 /** Controller provides a way to receive events from the system 41 * Using this interface, clients can subscribe themselves to receive events 42 */ 43 class ITextController { 44 public: 45 46 /** Adds a listener to the back of the listener deque 47 * Listener will be notified via the corresponding events 48 * @param listener listener to add 49 */ 50 virtual void addTextListener(ITextListener* listener) = 0; 51 52 /** Adds a listener to the front of the listener deque 53 * Listener will be notified via the corresponding events 54 * @param listener listener to add 55 */ 56 virtual void addTextListenerFront(ITextListener* listener) = 0; 57 58 /** Removes an added listener from the controller. 59 * Listener will not be notified anymore via the corresponding events 60 * @param listener listener to remove 61 */ 62 virtual void removeTextListener(ITextListener* listener) = 0; 63 ~ITextController()64 virtual ~ITextController() {} 65 }; 66 67 } //FIFE 68 69 #endif 70