From 2925b20acb9f70d032cd5981687642a770778c53 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 22 Mar 2012 01:44:36 +0300 Subject: Rename object event to depricatedevent because current implimentation very bad and must be replaced with better implimentation. --- src/event.h | 171 ------------------------------------------------------------ 1 file changed, 171 deletions(-) delete mode 100644 src/event.h (limited to 'src/event.h') diff --git a/src/event.h b/src/event.h deleted file mode 100644 index 7dffaad21..000000000 --- a/src/event.h +++ /dev/null @@ -1,171 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2010 The Mana Developers - * Copyright (C) 2011-2012 The ManaPlus Developers - * - * This file is part of The ManaPlus Client. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef MANA_EVENT_H -#define MANA_EVENT_H - -#include -#include -#include - -enum Channels -{ - CHANNEL_ACTORSPRITE = 0, - CHANNEL_ATTRIBUTES, - CHANNEL_BUYSELL, - CHANNEL_CHAT, - CHANNEL_CLIENT, - CHANNEL_GAME, - CHANNEL_ITEM, - CHANNEL_NOTICES, - CHANNEL_NPC, - CHANNEL_STATUS, - CHANNEL_STORAGE -}; - -enum Events -{ - EVENT_ANNOUNCEMENT = 0, - EVENT_BEING, - EVENT_CLOSE, - EVENT_CLOSEALL, - EVENT_CONSTRUCTED, - EVENT_DBSLOADING, - EVENT_DESTROYED, - EVENT_DESTRUCTED, - EVENT_DESTRUCTING, - EVENT_DOCLOSE, - EVENT_DOCLOSEINVENTORY, - EVENT_DODROP, - EVENT_DOEQUIP, - EVENT_DOINTEGERINPUT, - EVENT_DOMENU, - EVENT_DOMOVE, - EVENT_DONEXT, - EVENT_DOSENDLETTER, - EVENT_DOSPLIT, - EVENT_DOSTRINGINPUT, - EVENT_DOTALK, - EVENT_DOUNEQUIP, - EVENT_DOUSE, - EVENT_END, - EVENT_ENGINESINITALIZED, - EVENT_ENGINESINITALIZING, - EVENT_GUIWINDOWSLOADED, - EVENT_GUIWINDOWSLOADING, - EVENT_GUIWINDOWSUNLOADED, - EVENT_GUIWINDOWSUNLOADING, - EVENT_INTEGERINPUT, - EVENT_MAPLOADED, - EVENT_MENU, - EVENT_MESSAGE, - EVENT_NEXT, - EVENT_NPCCOUNT, - EVENT_PLAYER, - EVENT_POST, - EVENT_POSTCOUNT, - EVENT_SERVERNOTICE, - EVENT_STATECHANGE, - EVENT_STORAGECOUNT, - EVENT_STRINGINPUT, - EVENT_STUN, - EVENT_TRADING, - EVENT_UPDATEATTRIBUTE, - EVENT_UPDATESTAT, - EVENT_UPDATESTATUSEFFECT, - EVENT_WHISPER, - EVENT_WHISPERERROR -}; - -// Possible exception that can be thrown -enum BadEvent -{ - BAD_KEY = 0, - BAD_VALUE, - KEY_ALREADY_EXISTS -}; - -class Listener; -class VariableData; -typedef std::map VariableMap; - -typedef std::set ListenerSet; -typedef std::map ListenMap; - -#define SERVER_NOTICE(message) { \ -Event event(EVENT_SERVERNOTICE); \ -event.setString("message", message); \ -Event::trigger(CHANNEL_NOTICES, event); } - -class Event -{ - public: - // String passed can be retivered with getName() - // and is to used to identify what type of event - // this is. - Event(Events name) - { mEventName = name; } - - ~Event(); - - Events getName() const - { return mEventName; } - - // Sets or gets a interger with a key to identify - void setInt(const std::string &key, int value) - throw (BadEvent); - - int getInt(const std::string &key) - const throw (BadEvent); - - // Sets or gets a string with a key to identify - void setString(const std::string &key, - const std::string &value) - throw (BadEvent); - - const std::string &getString(const std::string &key) - const throw (BadEvent); - - // Sets or gets a floating point number with key to identify - void setFloat(const std::string &key, double value) - throw (BadEvent); - double getFloat(const std::string &key) - const throw (BadEvent); - - // Sends event to all listener on the channel - static void trigger(Channels channel, const Event &event); - - // Removes a listener from all channels - static void remove(Listener *listener); - - // Adds or removes a listener to a channel. - static void bind(Listener *listener, Channels channel); - static void unbind(Listener *listener, Channels channel); - - private: - Events mEventName; - - static ListenMap mBindings; - - VariableMap mData; -}; - -#endif -- cgit v1.2.3-70-g09d2