Main Page | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

MessagerAgent Class Reference

Inheritance diagram for MessagerAgent:

Inheritance graph
[legend]
Collaboration diagram for MessagerAgent:

Collaboration graph
[legend]

Detailed Description

List of listeners.

Definition at line 14 of file MessagerAgent.h.

Public Member Functions

void addListener (BaseListener *listener)
 Remember listener under his name.
void removeListener (const std::string &name)
 Forget listener.
void forwardNewMsg (BaseMsg *msg)
 Forward message to her destination.


Member Function Documentation

void MessagerAgent::addListener BaseListener listener  ) 
 

Remember listener under his name.

NOTE: listeners may be added before own_init()

Parameters:
listener listener, borowed pointer

Definition at line 26 of file MessagerAgent.cpp.

00027 {
00028     m_listeners[listener->getName()] = listener;
00029 }

void MessagerAgent::forwardNewMsg BaseMsg msg  ) 
 

Forward message to her destination.

Parameters:
msg message, will be deleted
Exceptions:
NameException when listener cannot be found

Definition at line 47 of file MessagerAgent.cpp.

00048 {
00049     std::auto_ptr<BaseMsg> sure_delete(msg);
00050 
00051     const std::string &listenerName = msg->getListenerName();
00052     LOG_DEBUG(ExInfo("received new message")
00053             .addInfo("msg", msg->toString()));
00054 
00055     t_listeners::iterator it = m_listeners.find(listenerName);
00056     if (m_listeners.end() == it) {
00057         throw NameException(ExInfo("cannot find listener")
00058                 .addInfo("name", listenerName));
00059     }
00060 
00061     msg->sendActual(it->second);
00062 }

void MessagerAgent::removeListener const std::string &  listenerName  ) 
 

Forget listener.

Parameters:
listenerName listener name

Definition at line 36 of file MessagerAgent.cpp.

00037 {
00038     m_listeners.erase(listenerName);
00039 }


The documentation for this class was generated from the following files:
Generated on Wed Jun 1 09:55:55 2005 for Fish Fillets - Next Generation by  doxygen 1.4.2