From: <Jef...@us...> - 2007-10-09 22:26:21
|
Revision: 257 http://libirc.svn.sourceforge.net/libirc/?rev=257&view=rev Author: JeffM2501 Date: 2007-10-09 15:26:19 -0700 (Tue, 09 Oct 2007) Log Message: ----------- client events for clients, server events for servers Modified Paths: -------------- trunk/libirc/include/IRCClient.h trunk/libirc/include/IRCEvents.h trunk/libirc/src/IRCClient.cpp Modified: trunk/libirc/include/IRCClient.h =================================================================== --- trunk/libirc/include/IRCClient.h 2007-10-09 22:18:05 UTC (rev 256) +++ trunk/libirc/include/IRCClient.h 2007-10-09 22:26:19 UTC (rev 257) @@ -82,7 +82,7 @@ virtual void log ( IRCClient &client, int level, std::string line ) = 0; }; -class IRCClient : public TCPClientDataPendingListener, IRCBasicEventCallback +class IRCClient : public TCPClientDataPendingListener, IRCClientEventCallback { public: IRCClient( CIRCClientNetworkHandler* h = NULL); @@ -162,8 +162,8 @@ IRCUserManager& getUserManager ( void ){return userManager;} //event handler methods.... for higher level API - virtual bool registerEventHandler ( teIRCEventType eventType, IRCBasicEventCallback *handler ); - virtual bool removeEventHandler ( teIRCEventType eventType, IRCBasicEventCallback *handler ); + virtual bool registerEventHandler ( teIRCEventType eventType, IRCClientEventCallback *handler ); + virtual bool removeEventHandler ( teIRCEventType eventType, IRCClientEventCallback *handler ); virtual void callEventHandler ( teIRCEventType eventType, trBaseEventInfo &info ); //command handler methods... for lower level API @@ -285,10 +285,10 @@ void registerDefaultCommandHandlers ( void ); // event handlers - tmIRCEventMap defaultEventHandlers; - tmIRCEventListMap userEventHandlers; + tmIRCClientEventMap defaultEventHandlers; + tmIRCClientEventListMap userEventHandlers; - void addDefaultEventHandlers ( teIRCEventType eventType, IRCBasicEventCallback* handler ); + void addDefaultEventHandlers ( teIRCEventType eventType, IRCClientEventCallback* handler ); void clearDefaultEventHandlers ( void ); void registerDefaultEventHandlers ( void ); Modified: trunk/libirc/include/IRCEvents.h =================================================================== --- trunk/libirc/include/IRCEvents.h 2007-10-09 22:18:05 UTC (rev 256) +++ trunk/libirc/include/IRCEvents.h 2007-10-09 22:26:19 UTC (rev 257) @@ -20,6 +20,7 @@ #include "IRCTextUtils.h" class IRCClient; +class IRCServer; class IRCServerConnectedClient; typedef enum @@ -122,17 +123,28 @@ std::string getAsString ( int start = 0, int end = -1 ) {return string_util::getStringFromList(params," ",start,end);} }trClientMessageEventInfo; -class IRCBasicEventCallback +class IRCClientEventCallback { public: - virtual ~IRCBasicEventCallback(){return;} + virtual ~IRCClientEventCallback(){return;} virtual bool process ( IRCClient &ircClient, teIRCEventType eventType, trBaseEventInfo &info ) = 0; }; -typedef std::vector<IRCBasicEventCallback*> tvIRCEventList; -typedef std::map<teIRCEventType,tvIRCEventList> tmIRCEventListMap; -typedef std::map<teIRCEventType,IRCBasicEventCallback*> tmIRCEventMap; +class IRCServerEventCallback +{ +public: + virtual ~IRCServerEventCallback(){return;} + virtual bool process ( IRCServer *ircServer, teIRCEventType eventType, trBaseServerEventInfo &info ) = 0; +}; +typedef std::vector<IRCClientEventCallback*> tvIRCClientEventList; +typedef std::map<teIRCEventType,tvIRCClientEventList> tmIRCClientEventListMap; +typedef std::map<teIRCEventType,IRCClientEventCallback*> tmIRCClientEventMap; + +typedef std::vector<IRCServerEventCallback*> tvIRCServerEventList; +typedef std::map<teIRCEventType,tvIRCServerEventList> tmIRCServerEventListMap; +typedef std::map<teIRCEventType,IRCServerEventCallback*> tmIRCServerEventMap; + #endif // __IRC_EVENTS_H__ // Local Variables: *** // mode: C++ *** Modified: trunk/libirc/src/IRCClient.cpp =================================================================== --- trunk/libirc/src/IRCClient.cpp 2007-10-09 22:18:05 UTC (rev 256) +++ trunk/libirc/src/IRCClient.cpp 2007-10-09 22:26:19 UTC (rev 257) @@ -570,7 +570,7 @@ //tmIRCEventMap defaultEventHandlers; //tmIRCEventListMap userEventHandlers; -void IRCClient::addDefaultEventHandlers ( teIRCEventType eventType, IRCBasicEventCallback* handler ) +void IRCClient::addDefaultEventHandlers ( teIRCEventType eventType, IRCClientEventCallback* handler ) { if (handler) defaultEventHandlers[eventType] = handler; @@ -578,7 +578,7 @@ void IRCClient::clearDefaultEventHandlers ( void ) { - tmIRCEventMap::iterator itr = defaultEventHandlers.begin(); + tmIRCClientEventMap::iterator itr = defaultEventHandlers.begin(); while ( itr != defaultEventHandlers.end()) { @@ -597,15 +597,15 @@ addDefaultEventHandlers(eIRCNickNameError,this); } -bool IRCClient::registerEventHandler ( teIRCEventType eventType, IRCBasicEventCallback *handler ) +bool IRCClient::registerEventHandler ( teIRCEventType eventType, IRCClientEventCallback *handler ) { if (!handler) return false; - tmIRCEventListMap::iterator eventListItr = userEventHandlers.find(eventType); + tmIRCClientEventListMap::iterator eventListItr = userEventHandlers.find(eventType); if (eventListItr == userEventHandlers.end()) { - tvIRCEventList handlerList; + tvIRCClientEventList handlerList; handlerList.push_back(handler); userEventHandlers[eventType] = handlerList; } @@ -615,17 +615,17 @@ return true; } -bool IRCClient::removeEventHandler ( teIRCEventType eventType, IRCBasicEventCallback *handler ) +bool IRCClient::removeEventHandler ( teIRCEventType eventType, IRCClientEventCallback *handler ) { if (!handler) return false; - tmIRCEventListMap::iterator eventListItr = userEventHandlers.find(eventType); + tmIRCClientEventListMap::iterator eventListItr = userEventHandlers.find(eventType); if (eventListItr == userEventHandlers.end()) return false; else { - tvIRCEventList::iterator itr = eventListItr->second.begin(); + tvIRCClientEventList::iterator itr = eventListItr->second.begin(); while ( itr != eventListItr->second.end()) { if ((*itr)== handler) @@ -641,7 +641,7 @@ { bool callDefault = true; - tmIRCEventListMap::iterator eventListItr = userEventHandlers.find(eventType); + tmIRCClientEventListMap::iterator eventListItr = userEventHandlers.find(eventType); // make sure the event type is cool info.eventType = eventType; @@ -652,7 +652,7 @@ callDefault = false; // is this right? // should we do them all? or just the first one that "HANDLES" it? - tvIRCEventList::iterator itr = eventListItr->second.begin(); + tvIRCClientEventList::iterator itr = eventListItr->second.begin(); while (itr != eventListItr->second.end()) { if ( (*itr)->process(*this,eventType,info)) @@ -665,7 +665,7 @@ if (callDefault) // check for the default { - tmIRCEventMap::iterator itr = defaultEventHandlers.find(eventType); + tmIRCClientEventMap::iterator itr = defaultEventHandlers.find(eventType); if (itr != defaultEventHandlers.end()) { itr->second->process(*this,eventType,info); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |