summaryrefslogtreecommitdiff
path: root/src/event.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2012-03-22 01:44:36 +0300
committerAndrei Karas <akaras@inbox.ru>2012-03-22 01:44:36 +0300
commit2925b20acb9f70d032cd5981687642a770778c53 (patch)
treee9dd3bd137dd359b8a0845487520ac28f5e3bdb7 /src/event.h
parentab0b6df9f69a736f79d2233508d8aa88b8e11800 (diff)
downloadmv-2925b20acb9f70d032cd5981687642a770778c53.tar.gz
mv-2925b20acb9f70d032cd5981687642a770778c53.tar.bz2
mv-2925b20acb9f70d032cd5981687642a770778c53.tar.xz
mv-2925b20acb9f70d032cd5981687642a770778c53.zip
Rename object event to depricatedevent because current implimentation very
bad and must be replaced with better implimentation.
Diffstat (limited to 'src/event.h')
-rw-r--r--src/event.h171
1 files changed, 0 insertions, 171 deletions
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 <http://www.gnu.org/licenses/>.
- */
-
-#ifndef MANA_EVENT_H
-#define MANA_EVENT_H
-
-#include <map>
-#include <set>
-#include <string>
-
-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<std::string, VariableData *> VariableMap;
-
-typedef std::set<Listener *> ListenerSet;
-typedef std::map<Channels, ListenerSet > 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