/* * File: ApplicationLevelMulticastTestApplication.h * Author: jgaebler * * Created on February 17, 2012, 5:02 PM */ #ifndef APPLICATIONLEVELMULTICASTTESTAPPLICATION_H #define APPLICATIONLEVELMULTICASTTESTAPPLICATION_H #include "Application.h" namespace ubeeme { namespace moversight { class Dispatcher; class Moversight; class Invitation; /** * @class ApplicationLevelMulticastTestApplication * @brief Defines a small test application to test the stream transfer multicast service. * * @ingroup Moversight * @author Jan Gäbler */ class ApplicationLevelMulticastTestApplication : public Application { public: ApplicationLevelMulticastTestApplication(Moversight & m); virtual ~ApplicationLevelMulticastTestApplication(); virtual void initialise(); virtual void finalise(); void startTestCase(unsigned int i); virtual void receiveStreamMessage(const StreamMessage & data, const PeerID sender); // Event handling virtual void handleEvent(const GroupCreatedEvent & e); virtual void handleEvent(const GroupClosedEvent & e); virtual void handleEvent(const JoinRequestEvent & e); private: void testCase00(); void testCase01(); void invitePeer(TransportAddress & ta); void sendData(); size_t waitCounter; }; } } #endif /* APPLICATIONLEVELMULTICASTTESTAPPLICATION_H */