28 lines
640 B
C++
28 lines
640 B
C++
// Copyright (c) 2011-2016 The Cryptonote developers
|
|
// Distributed under the MIT/X11 software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#pragma once
|
|
|
|
#include "Common/ObserverManager.h"
|
|
|
|
namespace CryptoNote {
|
|
|
|
template <typename Observer, typename Base>
|
|
class IObservableImpl : public Base {
|
|
public:
|
|
|
|
virtual void addObserver(Observer* observer) override {
|
|
m_observerManager.add(observer);
|
|
}
|
|
|
|
virtual void removeObserver(Observer* observer) override {
|
|
m_observerManager.remove(observer);
|
|
}
|
|
|
|
protected:
|
|
Tools::ObserverManager<Observer> m_observerManager;
|
|
};
|
|
|
|
}
|