JiveXML::JiveXMLServer Node1 JiveXML::JiveXMLServer + JiveXMLServer() + ~JiveXMLServer() + UpdateEventForStream() + GetStreamNames() + GetEventStreamID() + GetEvent() + GetState() + Message() + LogLevel() * ATLAS_THREAD_SAFE * portNumber * ATLAS_THREAD_SAFE * m_ServerThreadHandle * m_runServerThread * StartServingThread() * StopServingThread() * GetRunServerFlag() * ServerThreadStopped() * Wait() * signalHandler() * UpdateEventForStream() * GetStreamNames() * GetEventStreamID() * GetEvent() * GetState() * Message() * LogLevel() Node2 JiveXML::IServer + ~IServer() + ServerThreadStopped() Node2->Node1 Node3 JiveXML::IEventServer + ~IEventServer() * GetStreamNames() * GetEventStreamID() * GetEvent() * GetState() * GetRunServerFlag() Node3->Node2 Node4 JiveXML::IEventReceiver + ~IEventReceiver() * UpdateEventForStream() Node4->Node2 Node5 JiveXML::IMessage + ~IMessage() * Message() * LogLevel() Node5->Node2 Node6 std::atomic< int > + ptr Node6->Node1 -m_receivedSignal Node7 std::map< const EventStream ID, const std::string > Node7->Node1 -m_eventStreamMap Node8 JiveXML::EventStreamID - m_event - m_run + EventStreamID() + EventStreamID() + EventStreamID() + EventNumber() + RunNumber() + StreamName() + StreamNameCStr() + isSameEvent() + isValid() + operator==() + operator<() Node8->Node7 +keys Node9 std::string Node9->Node7 +elements Node9->Node8 -m_stream Node10 std::basic_string< char > Node10->Node9