Atlas-C++
Dispatcher.h
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.