Atlas-C++
|
00001 // This file may be redistributed and modified only under the terms of 00002 // the GNU Lesser General Public License (See COPYING for details). 00003 // Copyright 2000-2001 Stefanus Du Toit and Aloril. 00004 // Copyright 2001-2005 Alistair Riddoch. 00005 // Automatically generated using gen_cpp.py. 00006 00007 #ifndef ATLAS_OBJECTS_DISPATCHER_H 00008 #define ATLAS_OBJECTS_DISPATCHER_H 00009 00010 00011 #include <Atlas/Objects/Decoder.h> 00012 00013 #include <Atlas/Objects/Root.h> 00014 #include <Atlas/Objects/Entity.h> 00015 #include <Atlas/Objects/Operation.h> 00016 00017 namespace Atlas { namespace Objects { 00018 00029 class Dispatcher : public Atlas::Objects::ObjectsDecoder 00030 { 00031 typedef void (Dispatcher::*objectArrivedPtr)(const Root&); 00032 typedef std::map<int, objectArrivedPtr> methodMap_t; 00033 public: 00035 virtual ~Dispatcher(); 00036 00038 void addMethod(int, objectArrivedPtr method); 00039 protected: 00041 methodMap_t m_methods; 00042 00044 virtual void unknownObjectArrived(const Root&) { } 00045 00047 virtual void objectArrived(const Root&); 00048 00050 virtual void dispatchObject(const Root& obj); 00051 00053 virtual void objectRootArrived(const Root&) { } 00055 virtual void objectRootEntityArrived(const Entity::RootEntity&) { } 00057 virtual void objectAdminEntityArrived(const Entity::AdminEntity&) { } 00059 virtual void objectAccountArrived(const Entity::Account&) { } 00061 virtual void objectPlayerArrived(const Entity::Player&) { } 00063 virtual void objectAdminArrived(const Entity::Admin&) { } 00065 virtual void objectGameArrived(const Entity::Game&) { } 00067 virtual void objectGameEntityArrived(const Entity::GameEntity&) { } 00069 virtual void objectRootOperationArrived(const Operation::RootOperation&) { } 00071 virtual void objectActionArrived(const Operation::Action&) { } 00073 virtual void objectCreateArrived(const Operation::Create&) { } 00075 virtual void objectCombineArrived(const Operation::Combine&) { } 00077 virtual void objectDivideArrived(const Operation::Divide&) { } 00079 virtual void objectCommunicateArrived(const Operation::Communicate&) { } 00081 virtual void objectTalkArrived(const Operation::Talk&) { } 00083 virtual void objectDeleteArrived(const Operation::Delete&) { } 00085 virtual void objectSetArrived(const Operation::Set&) { } 00087 virtual void objectAffectArrived(const Operation::Affect&) { } 00089 virtual void objectMoveArrived(const Operation::Move&) { } 00091 virtual void objectWieldArrived(const Operation::Wield&) { } 00093 virtual void objectGetArrived(const Operation::Get&) { } 00095 virtual void objectPerceiveArrived(const Operation::Perceive&) { } 00097 virtual void objectLookArrived(const Operation::Look&) { } 00099 virtual void objectListenArrived(const Operation::Listen&) { } 00101 virtual void objectSniffArrived(const Operation::Sniff&) { } 00103 virtual void objectTouchArrived(const Operation::Touch&) { } 00105 virtual void objectLoginArrived(const Operation::Login&) { } 00107 virtual void objectLogoutArrived(const Operation::Logout&) { } 00109 virtual void objectImaginaryArrived(const Operation::Imaginary&) { } 00111 virtual void objectUseArrived(const Operation::Use&) { } 00113 virtual void objectInfoArrived(const Operation::Info&) { } 00115 virtual void objectPerceptionArrived(const Operation::Perception&) { } 00117 virtual void objectSightArrived(const Operation::Sight&) { } 00119 virtual void objectAppearanceArrived(const Operation::Appearance&) { } 00121 virtual void objectDisappearanceArrived(const Operation::Disappearance&) { } 00123 virtual void objectSoundArrived(const Operation::Sound&) { } 00125 virtual void objectSmellArrived(const Operation::Smell&) { } 00127 virtual void objectFeelArrived(const Operation::Feel&) { } 00129 virtual void objectErrorArrived(const Operation::Error&) { } 00131 virtual void objectAnonymousArrived(const Entity::Anonymous&) { } 00133 virtual void objectGenericArrived(const Operation::Generic&) { } 00134 }; 00135 00136 } } // namespace Atlas::Objects 00137 00138 #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.