Changeset 4882 for branches/erijo-dev

Show
Ignore:
Timestamp:
04/01/07 22:33:24 (20 months ago)
Author:
erijo
Message:

Rename getEventName to getName and add unique event id.

Location:
branches/erijo-dev/licq
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • branches/erijo-dev/licq/licq/interface/event.h

    r4871 r4882  
    7575 
    7676  /** \return Event name passed to create(). */ 
    77   virtual const std::string& getEventName() const = 0; 
     77  virtual const std::string& getName() const = 0; 
     78 
     79  /** \return Globally unique id. */ 
     80  virtual TEventId getId() const = 0; 
    7881 
    7982  /** \return True if the event has a property \a key; otherwise false. */ 
  • branches/erijo-dev/licq/licq/types.h

    r4839 r4882  
    3737typedef unsigned long TPluginId; 
    3838 
    39 /** \brief All events get an unique id of type TEventId when they are sent to the daemon. 
     39/** \brief All events get an unique id of type TEventId when they are created. 
    4040    \ingroup public 
    4141*/ 
  • branches/erijo-dev/licq/src/daemon.cpp

    r4881 r4882  
    2525void Licq::TDaemon::onEvent(const IEventPtr& event) 
    2626{ 
    27   Log.info("TDaemon::onEvent(%s)", event->getEventName().c_str()); 
    28   TEventHandlers::iterator handler = EventHandlers.find(event->getEventName()); 
     27  Log.info("TDaemon::onEvent(%s [%lu])", event->getName().c_str(), event->getId()); 
     28  TEventHandlers::iterator handler = EventHandlers.find(event->getName()); 
    2929  if (handler != EventHandlers.end()) 
    3030  { 
    31     Log.debug("Calling handler for %s", event->getEventName().c_str()); 
     31    Log.debug("Calling handler for %s", event->getName().c_str()); 
    3232    (this->*(handler->second))(event); 
    3333  } 
     
    6262  } 
    6363 
    64   if (count == 5) 
     64  if (count >= 5) 
    6565    Pipe.write("TESTING", sizeof("TESTING") - 1); 
     66 
     67  if (count >= 6) 
     68    EventLoop.removeFileDescriptor(Pipe.getFileDescriptor()); 
     69 
     70  if (count == 7) 
     71    EventLoop.removeTimer(1); 
    6672} 
    6773 
  • branches/erijo-dev/licq/src/event.cpp

    r4841 r4882  
    2525} 
    2626 
     27Licq::TEventId Licq::TEvent::NextEventId = 1; 
     28Licq::TMutex Licq::TEvent::Mutex; 
     29 
    2730Licq::TEvent::TEvent(Licq::TPluginId sender, const std::string& eventName) 
    28   : Sender(sender), EventName(eventName) 
     31  : Sender(sender), Name(eventName) 
    2932{ 
    30   // Empty 
     33  Mutex.lock(); 
     34  Id = NextEventId++; 
     35  Mutex.unlock(); 
    3136} 
    3237 
     
    3641} 
    3742 
    38 bool Licq::TEvent::getProperty(const std::string& key, const boost::any** value) const 
     43bool Licq::TEvent::getProperty(const std::string& key, 
     44                               const boost::any** value) const 
    3945{ 
    4046  TProperties::const_iterator it = Properties.find(key); 
     
    5157} 
    5258 
    53 const std::string& Licq::TEvent::getEventName() const 
     59const std::string& Licq::TEvent::getName() const 
    5460{ 
    55   return EventName; 
     61  return Name; 
     62} 
     63 
     64Licq::TEventId Licq::TEvent::getId() const 
     65{ 
     66  return Id; 
    5667} 
    5768 
  • branches/erijo-dev/licq/src/event.h

    r4841 r4882  
    2323#include "licq/interface/event.h" 
    2424#include "utils/misc.h" 
     25#include "utils/mutex.h" 
    2526 
    2627#include <map> 
     
    4344 
    4445  TPluginId Sender; 
    45   const std::string EventName; 
     46  const std::string Name; 
     47  unsigned long Id; 
    4648 
    4749  typedef std::map<std::string, boost::any> TProperties; 
    4850  TProperties Properties; 
     51 
     52  static TMutex Mutex; 
     53  static TEventId NextEventId; 
    4954 
    5055protected: 
     
    5560  // From IEvent 
    5661  TPluginId getSenderId() const; 
    57   const std::string& getEventName() const; 
     62  const std::string& getName() const; 
     63  TEventId getId() const; 
    5864  bool hasProperty(const std::string& key) const; 
    5965  void setProperty(const std::string& key, const boost::any& value); 
  • branches/erijo-dev/licq/src/tests/eventqueuetest.cpp

    r4839 r4882  
    5959 
    6060  BOOST_CHECK_EQUAL(ret1->getSenderId(), (Licq::TPluginId) 1); 
    61   BOOST_CHECK_EQUAL(ret1->getEventName(), "event-1"); 
     61  BOOST_CHECK_EQUAL(ret1->getName(), "event-1"); 
    6262 
    6363  int answer; 
     
    7272 
    7373  BOOST_CHECK_EQUAL(ret2->getSenderId(), (Licq::TPluginId) 17); 
    74   BOOST_CHECK_EQUAL(ret2->getEventName(), "event-2"); 
     74  BOOST_CHECK_EQUAL(ret2->getName(), "event-2"); 
    7575 
    7676  std::string question; 
     
    9393  BOOST_CHECK_EQUAL(queue.empty(), true); 
    9494 
    95   BOOST_CHECK_EQUAL(list.front()->getEventName(), "event-2"); 
    96   BOOST_CHECK_EQUAL(list.back()->getEventName(), "event-1"); 
     95  BOOST_CHECK_EQUAL(list.front()->getName(), "event-2"); 
     96  BOOST_CHECK_EQUAL(list.back()->getName(), "event-1"); 
    9797  list.clear(); 
    9898} 
  • branches/erijo-dev/licq/src/tests/eventtest.cpp

    r4841 r4882  
    3939  Licq::IEventPtr data = Licq::IEvent::create(1, "test-event"); 
    4040  BOOST_CHECK_EQUAL(data->getSenderId(), Licq::TPluginId(1)); 
    41   BOOST_CHECK_EQUAL(data->getEventName(), "test-event"); 
     41  BOOST_CHECK_EQUAL(data->getName(), "test-event"); 
    4242 
    4343  // Set some data