/* * MoleculeObserver.hpp * * Created on: Dec 28, 2015 * Author: heber */ #ifndef MOLECULEOBSERVER_HPP_ #define MOLECULEOBSERVER_HPP_ // include config.h #ifdef HAVE_CONFIG_H #include #endif #include "CodePatterns/Singleton.hpp" #include "EntityObserver.hpp" class molecule; /** The MoleculeObserver is a central instance to all changes occuring within molecules. * * It implements the templated EntityObserver class for molecules. * * \sa AtomObserver */ class MoleculeObserver : public Singleton< MoleculeObserver >, public EntityObserver { //!> grant Singleton access to cstor and dstor. friend class Singleton< MoleculeObserver >; //!> list of all observed channels static const Observable::channels_t MoleculeChannels; // private constructor and destructor due to singleton MoleculeObserver(); }; #endif /* MOLECULEOBSERVER_HPP_ */