30 #include "../common/WLogger.h"
31 #include "../common/WStringUtils.h"
32 #include "WDataHandler.h"
34 #include "exceptions/WDHNoSuchSubject.h"
54 + subject->getName() +
"\".",
55 "Data Handler", LL_DEBUG );
67 + subject->getName() +
"\".",
68 "Data Handler", LL_DEBUG );
71 for( SubjectContainerType::iterator iter = l->get().begin(); iter != l->get().end();
74 if( ( *iter ) == subject )
76 l->get().erase( iter );
88 for( SubjectContainerType::const_iterator iter = l->get().begin(); iter != l->get().end();
93 "Data Handler", LL_DEBUG );
111 std::shared_ptr< WSubject > result;
114 if( subjectID < l->get().size() )
116 result = l->get().at( subjectID );
120 result = std::shared_ptr< WSubject >();
123 catch(
const std::out_of_range& e )
143 return getDataHandler()->getSubjectByID( WSubject::SUBJECT_UNKNOWN );
Should be thrown when an invalid index is used to get a WSubject from the WDataHandler.
static std::shared_ptr< WSubject > getDefaultSubject()
Gets the subject with the ID SUBJECT_UNKNOWN.
void clear()
Remove all subjects.
static std::shared_ptr< WDataHandler > getDataHandler()
As WDataHandler is a singleton -> return instance.
virtual ~WDataHandler()
Destructor.
WDataHandler()
Empty standard constructor.
SubjectSharedContainerType::ReadTicket getSubjects() const
Returns read-access to the list of subjects.
void removeSubject(std::shared_ptr< WSubject > subject)
Removes the specified subject if it is in the set.
static std::shared_ptr< WDataHandler > m_instance
Singleton instance of WDataHandler.
SubjectSharedContainerType m_subjects
A container for all WSubjects.
std::shared_ptr< WSubject > getSubjectByID(size_t subjectID)
Returns the subject which corresponds to the specified ID.
void addSubject(std::shared_ptr< WSubject > subject)
Insert a new subject referenced by a pointer.
void addLogMessage(std::string message, std::string source="", LogLevel level=LL_DEBUG)
Appends a log message to the logging queue.
static WLogger * getLogger()
Returns pointer to the currently running logger instance.
std::shared_ptr< WSharedObjectTicketRead< T > > ReadTicket
Type for read tickets.
ReadTicket getReadTicket() const
Returns a ticket to get read access to the contained data.
std::shared_ptr< WSharedObjectTicketWrite< T > > WriteTicket
Type for write tickets.
WriteTicket getWriteTicket(bool suppressNotify=false) const
Returns a ticket to get write access to the contained data.
void push_back(const typename S::value_type &x)
Adds a new element at the end of the container.
Container for all WDataSets belonging to one subject or patient.
std::string toString(const T &value)
Convert a given value to a string.