update20140630
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
/*
|
||||
* File: ReferenceMonitorTimer.h
|
||||
* Author: jgaebler
|
||||
*
|
||||
* Created on February 18, 2013, 10:09 AM
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#ifndef REFERENCEMONITORTIMER_H
|
||||
#define REFERENCEMONITORTIMER_H
|
||||
|
||||
#include "ReferenceTimer.h"
|
||||
#include "common/container/PeerIDList.h"
|
||||
|
||||
namespace ubeeme {
|
||||
namespace moversight {
|
||||
|
||||
/**
|
||||
* @class ReferenceMonitorTimer
|
||||
* @author Jan Gäbler
|
||||
* @brief Defines a reference timer that monitors a list of peers.
|
||||
* @ingroup Moversight
|
||||
*/
|
||||
template <typename T>
|
||||
class ReferenceMonitorTimer : public ReferenceTimer<T> {
|
||||
public:
|
||||
|
||||
ReferenceMonitorTimer(MoversightService & aService);
|
||||
ReferenceMonitorTimer(const ReferenceMonitorTimer<T>& orig);
|
||||
|
||||
virtual ~ReferenceMonitorTimer();
|
||||
|
||||
virtual void timeout() = 0;
|
||||
|
||||
ReferenceMonitorTimer<T> & operator=(const ReferenceMonitorTimer<T> & other);
|
||||
|
||||
virtual void setPeerIDList(PeerIDList peerList);
|
||||
virtual PeerIDList getPeerIDList();
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Constructor
|
||||
* @param service The service that owns that timer.
|
||||
*/
|
||||
template <typename T>
|
||||
ReferenceMonitorTimer<T>::ReferenceMonitorTimer(MoversightService & aService) : ReferenceTimer<T>(aService) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Copy constructor
|
||||
* @param orig The instance to copy
|
||||
*/
|
||||
template <typename T>
|
||||
ReferenceMonitorTimer<T>::ReferenceMonitorTimer(const ReferenceMonitorTimer<T> & orig) : ReferenceTimer<T>(orig) {
|
||||
operator=(orig);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Destructor
|
||||
*/
|
||||
template <typename T>
|
||||
ReferenceMonitorTimer<T>::~ReferenceMonitorTimer() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Sets the peer ids to monitor
|
||||
* @param peerList The peer ids to monitor
|
||||
*/
|
||||
template <typename T>
|
||||
void
|
||||
ReferenceMonitorTimer<T>::setPeerIDList(PeerIDList peerList) {
|
||||
MoversightTimer::storage.set<PeerIDList>("peerIDList", peerList);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Returns the peer ids to monitor
|
||||
* @return The peer ids to monitor.
|
||||
*/
|
||||
template <typename T>
|
||||
PeerIDList
|
||||
ReferenceMonitorTimer<T>::getPeerIDList() {
|
||||
return MoversightTimer::storage.get<PeerIDList>("peerIDList");
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Assignment operator
|
||||
* @param other The instance to copy
|
||||
* @return A reference to the local instance.
|
||||
*/
|
||||
template <typename T>
|
||||
ReferenceMonitorTimer<T> &
|
||||
ReferenceMonitorTimer<T>::operator=(const ReferenceMonitorTimer<T> & other) {
|
||||
|
||||
if (this != &other) {
|
||||
ReferenceTimer<T>::operator =(other);
|
||||
}//End if
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* REFERENCEMONITORTIMER_H */
|
||||
|
||||
Reference in New Issue
Block a user