Files
2014-06-30 13:58:10 +02:00

93 lines
2.3 KiB
C++

/*
* File: MTTimerFactory.h
* Author: jgaebler
*
* Created on May 21, 2010, 8:20 AM
*/
#pragma once
#ifndef _MTTIMERFACTORY_H
#define _MTTIMERFACTORY_H
#include "GTTimer.h"
#include "LTTimer.h"
#include "GTAwaitTimer.h"
#include "GarbageTimer.h"
namespace ubeeme {
namespace moversight {
class MessageTransfer;
/**
* @class MTTimerFactory
* @brief Provides builder and setup utility methods to create the three MT timer types
* @ingroup Moversight
* @author Jan Gäbler
*/
class MTTimerFactory {
public:
/**
* @brief Creates an GT timer
* @param mt the message transfer instance used as callback within the timer
* @return the created timer
*/
static MTTimer* createGTTimer(MessageTransfer & mt) {
GTTimer * timer = new GTTimer(mt);
return timer;
}//End createGTTimer
/**
* @brief Creates an GTAwait timer
* @param mt the message transfer instance used as callback within the timer
* @return the created timer
*/
static MTTimer* createGTAwaitTimer(MessageTransfer & mt) {
return new GTAwaitTimer(mt);
}//End createGTAwaitTimer
/**
* @brief Creates an LT timer
* @param mt the message transfer instance used as callback within the timer
* @return the created timer
*/
static MTTimer* createLTTimer(MessageTransfer & mt) {
return new LTTimer(mt);
}//End createLTTimer
/**
* @brief Creates an Garbage timer
* @param mt the message transfer instance used as callback within the timer
* @return the created timer
*/
static MTTimer* createGarbageTimer(MessageTransfer & mt) {
return new GarbageTimer(mt);
}//End createLTTimer
private:
MTTimerFactory() {
};
MTTimerFactory(const MTTimerFactory& /*orig*/) {
};
virtual ~MTTimerFactory() {
};
};
}
}
#endif /* _MTTIMERFACTORY_H */