com::cosylab::logging::engine::ACS::ACSListenersDispatcher Class Reference

Collaboration diagram for com::cosylab::logging::engine::ACS::ACSListenersDispatcher:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void addLogListener (ACSRemoteLogListener listener)
void addErrorListener (ACSRemoteErrorListener listener)
void addRawLogListener (ACSRemoteRawLogListener listener)
void addLogConnectionListener (ACSLogConnectionListener listener)
void publishReport (String message)
void publishError (String error)
void publishConnected (boolean connected)
void publishConnectionLost ()
void publishConnecting ()
void publishLog (ILogEntry newLog)
void publishRawLog (String xmlStr)
void publishSuspended ()
void publishDiscarding ()
boolean removeLogListener (ACSRemoteLogListener listener)
boolean removeErrorListener (ACSRemoteErrorListener listener)
boolean removeRawLogListener (ACSRemoteRawLogListener listener)
boolean removeConnectionListener (ACSRemoteLogListener listener)
boolean hasLogListeners ()
boolean hasRawLogListeners ()
boolean hasConnectionListeners ()

Private Attributes

Vector< ACSRemoteLogListenerlogListeners = new Vector<ACSRemoteLogListener>()
volatile int logListenersNum = 0
Vector< ACSLogConnectionListenerconnectionListeners = new Vector<ACSLogConnectionListener>()
volatile int connListenersNum = 0
Vector< ACSRemoteRawLogListenerrawLogListeners = new Vector<ACSRemoteRawLogListener>()
volatile int rawLogListenersNum = 0
Vector< ACSRemoteErrorListenererrorListeners = new Vector<ACSRemoteErrorListener>()
volatile int errorListenersNum = 0

Detailed Description

Dispatches messages to listeners.

At least one error listener must be present.

Author:
acaproni

Member Function Documentation

void com::cosylab::logging::engine::ACS::ACSListenersDispatcher::addErrorListener ( ACSRemoteErrorListener  listener  )  [inline]

Add an error listener

Parameters:
listener The listener to add

References errorListeners, and errorListenersNum.

Referenced by com::cosylab::logging::engine::ACS::LCEngine::addLogErrorListener().

void com::cosylab::logging::engine::ACS::ACSListenersDispatcher::addLogConnectionListener ( ACSLogConnectionListener  listener  )  [inline]

Add a RAW log listener

Parameters:
listener The listener to add

References connectionListeners, and connListenersNum.

Referenced by com::cosylab::logging::engine::ACS::LCEngine::addLogConnectionListener().

void com::cosylab::logging::engine::ACS::ACSListenersDispatcher::addLogListener ( ACSRemoteLogListener  listener  )  [inline]
void com::cosylab::logging::engine::ACS::ACSListenersDispatcher::addRawLogListener ( ACSRemoteRawLogListener  listener  )  [inline]
boolean com::cosylab::logging::engine::ACS::ACSListenersDispatcher::hasConnectionListeners (  )  [inline]
Returns:
true is there are registerd connection listeners

References connListenersNum.

boolean com::cosylab::logging::engine::ACS::ACSListenersDispatcher::hasLogListeners (  )  [inline]
Returns:
true is there are registerd log listeners

References logListenersNum.

boolean com::cosylab::logging::engine::ACS::ACSListenersDispatcher::hasRawLogListeners (  )  [inline]
Returns:
true is there are registerd raw log listeners

References rawLogListenersNum.

void com::cosylab::logging::engine::ACS::ACSListenersDispatcher::publishConnected ( boolean  connected  )  [inline]
void com::cosylab::logging::engine::ACS::ACSListenersDispatcher::publishConnecting (  )  [inline]
void com::cosylab::logging::engine::ACS::ACSListenersDispatcher::publishConnectionLost (  )  [inline]
void com::cosylab::logging::engine::ACS::ACSListenersDispatcher::publishDiscarding (  )  [inline]
void com::cosylab::logging::engine::ACS::ACSListenersDispatcher::publishError ( String  error  )  [inline]

Notify the listener that an error happened parsing a log. If there are no listeners then prints a message in the stderr

Parameters:
error The string that generated the error

References errorListeners.

Referenced by com::cosylab::logging::engine::ACS::ACSLogRetrieval::addLog(), and com::cosylab::logging::engine::ACS::ACSLogRetrieval::run().

void com::cosylab::logging::engine::ACS::ACSListenersDispatcher::publishLog ( ILogEntry  newLog  )  [inline]

Publish a log to the listeners (if any)

Parameters:
newLog The log to send to the listeners

References com::cosylab::logging::engine::ACS::ACSRemoteLogListener::logEntryReceived(), logListeners, and logListenersNum.

Referenced by com::cosylab::logging::engine::ACS::ACSLogRetrieval::publishLog().

void com::cosylab::logging::engine::ACS::ACSListenersDispatcher::publishRawLog ( String  xmlStr  )  [inline]

Publish a RAW log to the listeners (if any)

Parameters:
newLog The XML string to send to the listeners

References rawLogListeners, rawLogListenersNum, and com::cosylab::logging::engine::ACS::ACSRemoteRawLogListener::xmlEntryReceived().

Referenced by com::cosylab::logging::engine::ACS::ACSLogRetrieval::publishLog().

void com::cosylab::logging::engine::ACS::ACSListenersDispatcher::publishReport ( String  message  )  [inline]
void com::cosylab::logging::engine::ACS::ACSListenersDispatcher::publishSuspended (  )  [inline]
boolean com::cosylab::logging::engine::ACS::ACSListenersDispatcher::removeConnectionListener ( ACSRemoteLogListener  listener  )  [inline]

Remove a connection status listener

Parameters:
listener The listener to remove
Returns:
true if the listener has been effectively removed

References connectionListeners, and connListenersNum.

boolean com::cosylab::logging::engine::ACS::ACSListenersDispatcher::removeErrorListener ( ACSRemoteErrorListener  listener  )  [inline]

Remove an error listener.

Parameters:
listener The listener to remove
Returns:
true if the listener has been effectively removed

References errorListeners, and errorListenersNum.

boolean com::cosylab::logging::engine::ACS::ACSListenersDispatcher::removeLogListener ( ACSRemoteLogListener  listener  )  [inline]

Remove a connection status listener

Parameters:
listener The listener to remove
Returns:
true if the listener has been effectively removed

References logListeners, and logListenersNum.

boolean com::cosylab::logging::engine::ACS::ACSListenersDispatcher::removeRawLogListener ( ACSRemoteRawLogListener  listener  )  [inline]

Remove a connection status listener

Parameters:
listener The listener to remove
Returns:
true if the listener has been effectively removed

References rawLogListeners, and rawLogListenersNum.


Member Data Documentation

The listeners for the errors generated when a generating logs (parsing an XML or building a log from a cache string)

Referenced by addErrorListener(), publishError(), and removeErrorListener().

The log listeners for this connection

Referenced by addLogListener(), publishLog(), and removeLogListener().

The listeners of the XML strings representing a log

Referenced by addRawLogListener(), publishRawLog(), and removeRawLogListener().


The documentation for this class was generated from the following file:

Generated by  doxygen 1.6.2