93 lines
2.3 KiB
C++
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 */
|
|
|