/* Blinker
Copyright 2011 Stefan Schuermans <stefan@blinkenarea.org>
Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
a blinkenarea.org project */
#ifndef BLINKER_MODULE_H
#define BLINKER_MODULE_H
#include "Mgrs.h"
#include "Directory.h"
namespace Blinker {
/// base class for modules
class Module
{
public:
/**
* @brief constructor
* @param[in] mgrs managers
* @param[in] dirBase base directory
*/
Module(Mgrs &mgrs, const Directory &dirBase);
/// virtual destructor
virtual ~Module();
private:
/// copy constructor disabled
Module(const Module &that);
/// assignment operator disabled
const Module & operator=(const Module &that);
public:
/// check for update of configuration
virtual void updateConfig() = 0;
protected:
Mgrs &m_mgrs; ///< managers
Directory m_dirBase; ///< base directory
}; // class Module
} // namespace Blinker
#endif // #ifndef BLINKER_MODULE_H