Public Member Functions

gdcm::Subject Class Reference

Subject. More...

#include <gdcmSubject.h>

Inheritance diagram for gdcm::Subject:
Inheritance graph
Collaboration diagram for gdcm::Subject:
Collaboration graph

List of all members.

Public Member Functions

 Subject ()
 ~Subject ()
unsigned long AddObserver (const Event &event, Command *) const
unsigned long AddObserver (const Event &event, Command *)
CommandGetCommand (unsigned long tag)
bool HasObserver (const Event &event) const
void InvokeEvent (const Event &) const
void InvokeEvent (const Event &)
void RemoveAllObservers ()
void RemoveObserver (unsigned long tag)

Detailed Description


See also:
Command Event


Constructor & Destructor Documentation

gdcm::Subject::Subject (  ) 
gdcm::Subject::~Subject (  ) 

Member Function Documentation

unsigned long gdcm::Subject::AddObserver ( const Event event,

Allow people to add/remove/invoke observers (callbacks) to any GDCM object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an gdcm::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects

unsigned long gdcm::Subject::AddObserver ( const Event event,
) const
Command* gdcm::Subject::GetCommand ( unsigned long  tag  ) 

Get the command associated with the given tag. NOTE: This returns a pointer to a Command, but it is safe to asign this to a Command::Pointer. Since Command inherits from LightObject, at this point in the code, only a pointer or a reference to the Command can be used.

bool gdcm::Subject::HasObserver ( const Event event  )  const

Return true if an observer is registered for this event.

void gdcm::Subject::InvokeEvent ( const Event  )  const

Call Execute on all the Commands observing this event id. The actions triggered by this call doesn't modify this object.

void gdcm::Subject::InvokeEvent ( const Event  ) 

Call Execute on all the Commands observing this event id.

void gdcm::Subject::RemoveAllObservers (  ) 

Remove all observers .

void gdcm::Subject::RemoveObserver ( unsigned long  tag  ) 

Remove the observer with this tag value.

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

Generated on Mon Jul 29 2013 11:24:36 for GDCM by doxygen 1.7.1 Logo