Atlas-C++
Dispatcher.h
1 // This file may be redistributed and modified only under the terms of
2 // the GNU Lesser General Public License (See COPYING for details).
3 // Copyright 2000-2001 Stefanus Du Toit and Aloril.
4 // Copyright 2001-2005 Alistair Riddoch.
5 // Automatically generated using gen_cpp.py.
6 
7 #ifndef ATLAS_OBJECTS_DISPATCHER_H
8 #define ATLAS_OBJECTS_DISPATCHER_H
9 
10 
11 #include <Atlas/Objects/Decoder.h>
12 
13 #include <Atlas/Objects/Root.h>
14 #include <Atlas/Objects/Entity.h>
15 #include <Atlas/Objects/Operation.h>
16 
17 namespace Atlas { namespace Objects {
18 
30 {
31  typedef void (Dispatcher::*objectArrivedPtr)(const Root&);
32  typedef std::map<int, objectArrivedPtr> methodMap_t;
33 public:
35  virtual ~Dispatcher();
36 
38  void addMethod(int, objectArrivedPtr method);
39 protected:
41  methodMap_t m_methods;
42 
44  virtual void unknownObjectArrived(const Root&) { }
45 
47  virtual void objectArrived(const Root&);
48 
50  virtual void dispatchObject(const Root& obj);
51 
53  virtual void objectRootArrived(const Root&) { }
59  virtual void objectAccountArrived(const Entity::Account&) { }
61  virtual void objectPlayerArrived(const Entity::Player&) { }
63  virtual void objectAdminArrived(const Entity::Admin&) { }
65  virtual void objectGameArrived(const Entity::Game&) { }
71  virtual void objectActionArrived(const Operation::Action&) { }
73  virtual void objectCreateArrived(const Operation::Create&) { }
75  virtual void objectCombineArrived(const Operation::Combine&) { }
77  virtual void objectDivideArrived(const Operation::Divide&) { }
81  virtual void objectTalkArrived(const Operation::Talk&) { }
83  virtual void objectDeleteArrived(const Operation::Delete&) { }
85  virtual void objectSetArrived(const Operation::Set&) { }
87  virtual void objectAffectArrived(const Operation::Affect&) { }
89  virtual void objectMoveArrived(const Operation::Move&) { }
91  virtual void objectWieldArrived(const Operation::Wield&) { }
93  virtual void objectGetArrived(const Operation::Get&) { }
95  virtual void objectPerceiveArrived(const Operation::Perceive&) { }
97  virtual void objectLookArrived(const Operation::Look&) { }
99  virtual void objectListenArrived(const Operation::Listen&) { }
101  virtual void objectSniffArrived(const Operation::Sniff&) { }
103  virtual void objectTouchArrived(const Operation::Touch&) { }
105  virtual void objectLoginArrived(const Operation::Login&) { }
107  virtual void objectLogoutArrived(const Operation::Logout&) { }
111  virtual void objectUseArrived(const Operation::Use&) { }
113  virtual void objectInfoArrived(const Operation::Info&) { }
117  virtual void objectSightArrived(const Operation::Sight&) { }
123  virtual void objectSoundArrived(const Operation::Sound&) { }
125  virtual void objectSmellArrived(const Operation::Smell&) { }
127  virtual void objectFeelArrived(const Operation::Feel&) { }
129  virtual void objectErrorArrived(const Operation::Error&) { }
131  virtual void objectAnonymousArrived(const Entity::Anonymous&) { }
133  virtual void objectGenericArrived(const Operation::Generic&) { }
134 };
135 
136 } } // namespace Atlas::Objects
137 
138 #endif // ATLAS_OBJECTS_DISPATCHER_H

Copyright 2000-2004 the respective authors.

This document can be licensed under the terms of the GNU Free Documentation License or the GNU General Public License and may be freely distributed under the terms given by one of these licenses.