This specialized event listener does not provide any more method than basic event listeners do. More...
#include <CeylanCallerEventListener.h>
Public Types | |
enum | TextOutputFormat { rawText, html } |
Defines what text output formats for TextDisplayable instances are available. More... | |
Public Member Functions | |
CallerEventListener () | |
Basic constructor, not registered to any event source. | |
CallerEventListener (EventSource &source) | |
Listener constructor automatically performing subscription to the event source. | |
virtual | ~CallerEventListener () throw () |
Virtual destructor, performs automatic unsubscribing from all event sources this listener is subscribed to. | |
virtual const std::string | toString (Ceylan::VerbosityLevels level=Ceylan::high) const |
Returns a user-friendly description of the state of this object. | |
virtual void | subscribeTo (EventSource &source) |
Subscribes this listener to the specified source, so that forthcoming events will be sent to it as well. | |
virtual void | unsubscribeFrom (EventSource &source) |
Unsubscribes this listener from specified source, no forthcoming event will be received from it. | |
virtual void | unsubscribeFromAllSources () |
Unsubscribes this listener from all registered sources, no forthcoming event will be received from any. | |
virtual void | forgetSource (EventSource &source) |
Forgets the specified source, but does not notify it that the unsubscription occured on the listener side. | |
virtual void | beNotifiedOf (const Event &newEvent)=0 |
Notifies this listener of a new event. | |
std::list< EventSource * > | getSources () const |
Returns a shallow copy of the sources that listener is registered to. | |
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 Attributes | |
std::list< EventSource * > | _sources |
The event sources to which this listener is subscribed to. | |
Static Protected Attributes | |
static TextOutputFormat | _OutputFormat = rawText |
The text format to be used currently by TextDisplayable instances. | |
Private Member Functions | |
CallerEventListener (const CallerEventListener &source) | |
Copy constructor made private to ensure that it will never be called. | |
CallerEventListener & | operator= (const CallerEventListener &source) |
Assignment operator made private to ensure that it will be never called. |
This specialized event listener does not provide any more method than basic event listeners do.
Instead, it allows to define a specialized type which can be the only one used in calls to the CallableEventSource getEventFor
method. This ensures stronger typing.
Definition at line 61 of file CeylanCallerEventListener.h.
enum Ceylan::TextDisplayable::TextOutputFormat [inherited] |
Defines what text output formats for TextDisplayable instances are available.
Definition at line 124 of file CeylanTextDisplayable.h.
CallerEventListener::CallerEventListener | ( | ) |
Basic constructor, not registered to any event source.
Definition at line 45 of file CeylanCallerEventListener.cc.
CallerEventListener::CallerEventListener | ( | EventSource & | source | ) | [explicit] |
Listener constructor automatically performing subscription to the event source.
Definition at line 53 of file CeylanCallerEventListener.cc.
CallerEventListener::~CallerEventListener | ( | ) | throw () [virtual] |
Virtual destructor, performs automatic unsubscribing from all event sources this listener is subscribed to.
Definition at line 61 of file CeylanCallerEventListener.cc.
Ceylan::CallerEventListener::CallerEventListener | ( | const CallerEventListener & | source | ) | [private] |
Copy constructor made private to ensure that it will never be called.
The compiler should complain whenever this undefined constructor is called, implicitly or not.
virtual void Ceylan::EventListener::beNotifiedOf | ( | const Event & | newEvent | ) | [pure virtual, inherited] |
Notifies this listener of a new event.
Implemented in Ceylan::Locatable.
void EventListener::forgetSource | ( | EventSource & | source | ) | [virtual, inherited] |
Forgets the specified source, but does not notify it that the unsubscription occured on the listener side.
Therefore, if the source were to send new events, this listener would be notified, and may not be aware it received an event from a source it is not registered to any more.
This method should mostly be used by event sources being deallocated, having realized that some listeners were still subscribed, and wanting nevertheless that the listeners remove these sources from their list. Otherwise, on the source side, should unsubscribeFrom be used instead, the listeners list would be modified in turn while iterating on it in the source destructor, which may cause a crash.
Alternatively, on these listener deallocations, if nothing was done in the case of a deallocated source still having at least one listener left, a call to the remove method of these source instances would be tempted, and may cause a crash since sources could be already deallocated.
This listener can be registered multiple times to this source.
EventException | if listener was not already registered to the event source, and if debug mode for events is activated. |
Definition at line 191 of file CeylanEventListener.cc.
References Ceylan::EventListener::_sources, generalUtils::false, Ceylan::EventSource::toString(), and generalUtils::true.
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().
list< EventSource * > EventListener::getSources | ( | ) | const [inherited] |
Returns a shallow copy of the sources that listener is registered to.
Definition at line 238 of file CeylanEventListener.cc.
References Ceylan::EventListener::_sources.
CallerEventListener& Ceylan::CallerEventListener::operator= | ( | const CallerEventListener & | 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 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().
void EventListener::subscribeTo | ( | EventSource & | source | ) | [virtual, inherited] |
Subscribes this listener to the specified source, so that forthcoming events will be sent to it as well.
EventException | if listener is already registered to the specified event source. |
Definition at line 87 of file CeylanEventListener.cc.
References Ceylan::EventListener::_sources, Ceylan::EventSource::add(), and Ceylan::EventSource::toString().
Referenced by Ceylan::Controller::Controller(), Ceylan::EventListener::EventListener(), Ceylan::Locatable::Locatable(), and Ceylan::Model::subscribeToController().
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 CallerEventListener::toString | ( | Ceylan::VerbosityLevels | level = Ceylan::high |
) | const [virtual] |
Returns a user-friendly description of the state of this object.
level | the requested verbosity level. |
Reimplemented from Ceylan::EventListener.
Reimplemented in Ceylan::Model, and Ceylan::View.
Definition at line 67 of file CeylanCallerEventListener.cc.
void EventListener::unsubscribeFrom | ( | EventSource & | source | ) | [virtual, inherited] |
Unsubscribes this listener from specified source, no forthcoming event will be received from it.
This is the usual method to call when one wants that this listener to not listen any more to the specified source.
It is in fact implemented by notifying this source of the unsubscription of this listener, and by forgetting it.
EventException | if listener was not already registered to the event source. |
Definition at line 113 of file CeylanEventListener.cc.
References Ceylan::EventListener::_sources, and Ceylan::EventSource::toString().
Referenced by Ceylan::Locatable::detachFromFather(), and Ceylan::Model::unsubscribeFromController().
void EventListener::unsubscribeFromAllSources | ( | ) | [virtual, inherited] |
Unsubscribes this listener from all registered sources, no forthcoming event will be received from any.
Definition at line 160 of file CeylanEventListener.cc.
References Ceylan::EventListener::_sources.
Referenced by Ceylan::Model::unsubscribeFromAllControllers(), and Ceylan::EventListener::~EventListener().
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().
std::list<EventSource *> Ceylan::EventListener::_sources [protected, inherited] |
The event sources to which this listener is subscribed to.
Definition at line 233 of file CeylanEventListener.h.
Referenced by Ceylan::EventListener::forgetSource(), Ceylan::View::getModel(), Ceylan::EventListener::getSources(), Ceylan::EventListener::subscribeTo(), Ceylan::View::toString(), Ceylan::Model::toString(), Ceylan::EventListener::toString(), Ceylan::EventListener::unsubscribeFrom(), Ceylan::EventListener::unsubscribeFromAllSources(), and Ceylan::EventListener::~EventListener().