GDCM  2.4.5
Public Member Functions | List of all members
gdcm::Subject Class Reference

Subject. More...

#include <gdcmSubject.h>

Inheritance diagram for gdcm::Subject:
Inheritance graph
[legend]
Collaboration diagram for gdcm::Subject:
Collaboration graph
[legend]

Public Member Functions

 Subject ()
 
 ~Subject ()
 
unsigned long AddObserver (const Event &event, Command *)
 
unsigned long AddObserver (const Event &event, Command *) const
 
CommandGetCommand (unsigned long tag)
 
bool HasObserver (const Event &event) const
 
void InvokeEvent (const Event &)
 
void InvokeEvent (const Event &) const
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
- Public Member Functions inherited from gdcm::Object
 Object ()
 
 Object (const Object &)
 Special requirement for copy/cstor, assignment operator. More...
 
virtual ~Object ()
 
void operator= (const Object &)
 
virtual void Print (std::ostream &) const
 

Additional Inherited Members

- Protected Member Functions inherited from gdcm::Object
void Register ()
 
void UnRegister ()
 

Detailed Description

Subject.

See also
Command Event
Examples:
SimpleScanner.cxx.

Constructor & Destructor Documentation

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

Member Function Documentation

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

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,
Command  
) 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 )

Call Execute on all the Commands observing this event id.

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::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 Fri Sep 25 2015 17:58:33 for GDCM by doxygen 1.8.9.1
SourceForge.net Logo