observable.cpp
来自「MONA是为数不多的C++语言编写的一个很小的操作系统」· C++ 代码 · 共 50 行
CPP
50 行
/*----------------------------------------------------------------------
Observer/Observable
----------------------------------------------------------------------*/
#include <monapi.h>
namespace MonAPI {
void Observable::addObserver(Observer* o) {
this->observers.add(o);
}
void Observable::deleteObservers() {
for (int i = this->observers.size() - 1; i >=0; i--) {
this->observers.removeAt(i);
}
}
void Observable::setChanged() {
this->changed = true;
}
void Observable::clearChanged() {
this->changed = false;
}
bool Observable::hasChanged() const {
return this->changed;
}
int Observable::countObservers() {
return observers.size();
}
void Observable::notifyObservers() {
this->notifyObservers(NULL);
}
void Observable::notifyObservers(void* arg) {
for (int i = 0; i < this->observers.size(); i++) {
this->observers.get(i)->update(this, arg);
}
clearChanged();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?