Changeset 19 for nrEngine


Ignore:
Timestamp:
01/10/07 21:29:46 (13 years ago)
Author:
art
Message:
 
Location:
nrEngine
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • nrEngine/include/Event.h

    r1 r19  
    9393        **/ 
    9494        template<class T> 
    95         static T* event_cast(Event* base) throw (Exception) 
     95        static T* event_cast(Event* base) 
    9696        { 
    9797                T* ptr = NULL; 
    98                 try{ 
    99                         ptr = dynamic_cast<T*>(base); 
    100                         if (ptr == NULL) throw(Result(EVENT_COULD_NOT_CAST)); 
    101  
    102                 }catch (Result i){ 
    103                         NR_EXCEPT(i, 
    104                                                 "Casting from Event* to given type is not possible", 
    105                                                 "Event::event_shared_cast<T>()"); 
    106                 } 
     98                ptr = dynamic_cast<T*>(base); 
    10799                return ptr; 
    108100        } 
     
    118110        { 
    119111                SharedPtr<T> ptr; 
    120                 try 
    121                 { 
    122                         ptr = boost::dynamic_pointer_cast<T, Event>(base); 
    123                         if (ptr == NULL) throw(Result(EVENT_COULD_NOT_CAST)); 
    124  
    125                 }catch (Result i){ 
    126                         NR_EXCEPT(i, 
    127                                                 "Casting from Event* to given type is not possible", 
    128                                                 "Event::event_shared_cast<T>()"); 
    129                 } 
     112                ptr = boost::dynamic_pointer_cast<T, Event>(base); 
    130113                return ptr; 
    131114        } 
  • nrEngine/include/EventActor.h

    r15 r19  
    4242                public: 
    4343 
     44                        //! Create new actor without any name (@see setName() )  
     45                        EventActor(); 
     46                         
    4447                        //! Create a new actor within unique name 
    4548                        EventActor(const std::string& name); 
     
    5558                        const std::string& getName() const; 
    5659 
     60                        /** 
     61                         * Set name for this actor. You have to setup a name before you can 
     62                         * connect the actor to any communication channel. 
     63                         **/ 
     64                        void setName(const std::string& name); 
     65                         
    5766                        /** 
    5867                         * This is a function which will be called from the channel 
  • nrEngine/include/EventChannel.h

    r1 r19  
    9191                         * Get the name of the channel 
    9292                         **/ 
    93                         const std::string& getName () { return mName; } 
     93                        NR_FORCEINLINE const std::string& getName () const { return mName; } 
    9494 
    9595                        /** 
  • nrEngine/include/Result.h

    r18 r19  
    326326                EVENT_FACTORY_NOT_FOUND = EVENT_ERROR | (1 << 7), 
    327327 
     328                //! Given actor is not valid 
     329                EVENT_NO_VALID_ACTOR = EVENT_ERROR | (1 << 8), 
     330                 
    328331                //------------------------------------------------------------------------------ 
    329332                //! Generic group for properties errors 
  • nrEngine/include/nrEngine.h

    r18 r19  
    4444#include "Event.h" 
    4545#include "EventActor.h" 
     46#include "EventChannel.h" 
    4647 
    4748#endif 
  • nrEngine/nrEngine.h

    r18 r19  
    4444#include "include/Event.h" 
    4545#include "include/EventActor.h" 
     46#include "include/EventChannel.h" 
    4647 
    4748#endif 
  • nrEngine/src/EventActor.cpp

    r15 r19  
    2020 
    2121namespace nrEngine{ 
    22                  
     22 
     23        //------------------------------------------------------------------------ 
     24        EventActor::EventActor() 
     25        { 
     26         
     27        } 
     28 
    2329        //------------------------------------------------------------------------ 
    2430        EventActor::EventActor(const std::string& name) : mName(name){ 
     
    3642        } 
    3743 
     44        //------------------------------------------------------------------------ 
     45        void EventActor::setName(const std::string& name) 
     46        { 
     47                mName = name; 
     48        } 
     49         
     50         
    3851        //------------------------------------------------------------------------ 
    3952        const std::string& EventActor::getName() const 
  • nrEngine/src/EventChannel.cpp

    r1 r19  
    3434        Result EventChannel::add(EventActor* actor, bool notice) 
    3535        { 
     36                // check if actor has got a name  
     37                if (actor == NULL) return OK; 
     38                if (actor->getName().length() == 0) 
     39                { 
     40                        NR_Log(Log::LOG_ENGINE, Log::LL_ERROR, "EventChannel (%s): Want to connect nameless actor", getName().c_str()); 
     41                        return EVENT_NO_VALID_ACTOR; 
     42                } 
     43                 
    3644                // we first check whenever the actor is already connected 
    3745                if (isConnected(actor->getName())) return EVENT_ALREADY_CONNECTED; 
     
    5260        Result EventChannel::del(EventActor* actor, bool notice) 
    5361        { 
     62                if (actor == NULL) return OK; 
     63                 
    5464                // we first check whenever the actor is already connected 
    5565                if (!isConnected(actor->getName())) return EVENT_NOT_CONNECTED; 
Note: See TracChangeset for help on using the changeset viewer.