#include <CeylanEventSource.h>
Public Types | |
enum | TextOutputFormat { rawText, html } |
Defines what text output formats for TextDisplayable instances are available. More... | |
Public Member Functions | |
EventSource () | |
Basic constructor with no listener registered. | |
EventSource (EventListener &listener) | |
Constructs an event source with already one listener registered. | |
virtual | ~EventSource () throw () |
Basic virtual destructor. | |
virtual void | add (EventListener &listener) |
Registers the specified listener to this source, so that forthcoming events will be sent to it as well. | |
virtual void | remove (const EventListener &listener) |
Unregisters the specified listener from this source, no forthcoming event will be sent to the listener. | |
virtual void | removeAllListeners () |
Unsubscribes all registered listeners from this source, no forthcoming event will be sent. | |
virtual const std::string | toString (Ceylan::VerbosityLevels level=Ceylan::high) const |
Returns a user-friendly description of the state of this object. | |
Static Public Member Functions | |
static const std::string | ToString (std::list< TextDisplayable * > displayables, Ceylan::VerbosityLevels level=Ceylan::high) |
Returns a user-friendly description of this list of pointers to text displayable instances. | |
static TextOutputFormat | GetOutputFormat () |
Returns the current overall text format to be used by TextDisplayable instances. | |
static void | SetOutputFormat (TextOutputFormat newOutputFormat) |
Sets the current overall text format to be used by TextDisplayable instances. | |
Protected Member Functions | |
virtual void | notifyAllListeners (const Event &newEvent) |
Notifies all currently registered listeners of a new event. | |
virtual bool | isRegistered (const EventListener &listener) |
Tells whether specified listener is registered to this source. | |
Protected Attributes | |
std::list< EventListener * > | _listeners |
The registered event listeners. | |
Static Protected Attributes | |
static TextOutputFormat | _OutputFormat = rawText |
The text format to be used currently by TextDisplayable instances. | |
Private Member Functions | |
EventSource (const EventSource &source) | |
Copy constructor made private to ensure that it will be never called. | |
EventSource & | operator= (const EventSource &source) |
Assignment operator made private to ensure that it will be never called. |
Event sources are supposed to always be able to answer to any listener asking for their latest event.
To do so, they may keep their last message, forge a new summary event on purpose, etc.
Any listener can be registered at most one time to an event source: attempt of multiple registrations result in an exception.
Definition at line 77 of file CeylanEventSource.h.
enum Ceylan::TextDisplayable::TextOutputFormat [inherited] |
Defines what text output formats for TextDisplayable instances are available.
Definition at line 124 of file CeylanTextDisplayable.h.
EventSource::EventSource | ( | ) |
EventSource::EventSource | ( | EventListener & | listener | ) | [explicit] |
Constructs an event source with already one listener registered.
Definition at line 59 of file CeylanEventSource.cc.
EventSource::~EventSource | ( | ) | throw () [virtual] |
Basic virtual destructor.
Definition at line 70 of file CeylanEventSource.cc.
References _listeners, and Ceylan::toString().
Ceylan::EventSource::EventSource | ( | const EventSource & | source | ) | [private] |
Copy constructor made private to ensure that it will be never called.
The compiler should complain whenever this undefined constructor is called, implicitly or not.
void EventSource::add | ( | EventListener & | listener | ) | [virtual] |
Registers the specified listener to this source, so that forthcoming events will be sent to it as well.
EventException | if listener is already registered to the event source. |
Definition at line 118 of file CeylanEventSource.cc.
References _listeners, and Ceylan::EventListener::toString().
Referenced by Ceylan::EventListener::subscribeTo().
TextDisplayable::TextOutputFormat TextDisplayable::GetOutputFormat | ( | ) | [static, inherited] |
Returns the current overall text format to be used by TextDisplayable instances.
Definition at line 63 of file CeylanTextDisplayable.cc.
References Ceylan::TextDisplayable::_OutputFormat.
Referenced by Ceylan::formatStringList(), Ceylan::formatStringMap(), Ceylan::XML::XMLMarkup::toString(), Ceylan::Maths::Linear::Vector3::toString(), Ceylan::Maths::Linear::Vector2::toString(), Ceylan::Maths::Linear::Tripoint::toString(), Ceylan::Module::toString(), Ceylan::Maths::Linear::Matrix3::toString(), Ceylan::Maths::Linear::Matrix2::toString(), Ceylan::Maths::Linear::HomogeneousMatrix3::toString(), and Ceylan::Maths::Linear::Bipoint::toString().
bool EventSource::isRegistered | ( | const EventListener & | listener | ) | [protected, virtual] |
Tells whether specified listener is registered to this source.
Definition at line 252 of file CeylanEventSource.cc.
References _listeners, and generalUtils::false.
void EventSource::notifyAllListeners | ( | const Event & | newEvent | ) | [protected, virtual] |
Notifies all currently registered listeners of a new event.
Definition at line 270 of file CeylanEventSource.cc.
References _listeners.
Referenced by Ceylan::Locatable::changed(), and Ceylan::Model::notifyAllViews().
EventSource& Ceylan::EventSource::operator= | ( | const EventSource & | source | ) | [private] |
Assignment operator made private to ensure that it will be never called.
The compiler should complain whenever this undefined operator is called, implicitly or not.
void EventSource::remove | ( | const EventListener & | listener | ) | [virtual] |
Unregisters the specified listener from this source, no forthcoming event will be sent to the listener.
EventException | if listener was not already registered to the event source. |
Definition at line 142 of file CeylanEventSource.cc.
References _listeners, generalUtils::false, Ceylan::EventListener::toString(), and generalUtils::true.
void EventSource::removeAllListeners | ( | ) | [virtual] |
Unsubscribes all registered listeners from this source, no forthcoming event will be sent.
This source will request each of its listeners to unsubscribe from it, then the source will forget them in turn.
The links will be removed, but no instance will be deleted by this call.
Definition at line 204 of file CeylanEventSource.cc.
References _listeners.
Referenced by Ceylan::Model::removeAllViews(), and Ceylan::Locatable::~Locatable().
void TextDisplayable::SetOutputFormat | ( | TextOutputFormat | newOutputFormat | ) | [static, inherited] |
Sets the current overall text format to be used by TextDisplayable instances.
newOutputFormat | the new output format. |
Definition at line 72 of file CeylanTextDisplayable.cc.
References Ceylan::TextDisplayable::_OutputFormat.
Referenced by Ceylan::Log::LogHolder::LogHolder().
const std::string TextDisplayable::ToString | ( | std::list< TextDisplayable * > | displayables, | |
Ceylan::VerbosityLevels | level = Ceylan::high | |||
) | [static, inherited] |
Returns a user-friendly description of this list of pointers to text displayable instances.
displayables | a list of pointers to TextDisplayable instances/ | |
level | the requested verbosity level. |
Definition at line 45 of file CeylanTextDisplayable.cc.
References Ceylan::formatStringList().
const string EventSource::toString | ( | Ceylan::VerbosityLevels | level = Ceylan::high |
) | const [virtual] |
Returns a user-friendly description of the state of this object.
level | the requested verbosity level. |
Implements Ceylan::TextDisplayable.
Reimplemented in Ceylan::CallableEventSource, Ceylan::Controller, Ceylan::Locatable, Ceylan::Locatable2D, and Ceylan::Model.
Definition at line 215 of file CeylanEventSource.cc.
References _listeners, Ceylan::formatStringList(), and Ceylan::low.
Referenced by Ceylan::EventListener::forgetSource(), Ceylan::EventListener::subscribeTo(), Ceylan::Event::toString(), and Ceylan::EventListener::unsubscribeFrom().
std::list<EventListener *> Ceylan::EventSource::_listeners [protected] |
The registered event listeners.
Definition at line 204 of file CeylanEventSource.h.
Referenced by add(), Ceylan::Locatable::describe(), isRegistered(), notifyAllListeners(), remove(), removeAllListeners(), Ceylan::Model::toString(), toString(), Ceylan::Controller::toString(), and ~EventSource().
TextDisplayable::TextOutputFormat TextDisplayable::_OutputFormat = rawText [static, protected, inherited] |
The text format to be used currently by TextDisplayable instances.
Definition at line 158 of file CeylanTextDisplayable.h.
Referenced by Ceylan::TextDisplayable::GetOutputFormat(), and Ceylan::TextDisplayable::SetOutputFormat().