void MockPlugin::onDeactivate(const char* val) { TEST_ONDEACTIVE++; unregisterObserver("subnode.*"); unregisterObserver("status"); super_type::onDeactivate(val); }
void MgShapesLock::registerObserver(ShapesLocked func, void* obj) { if (func) { unregisterObserver(func, obj); s_shapeObservers.push_back(ShapeObserver(func, obj)); } }
void MgShapeDoc::registerObserver(ShapesLocked func, void* obj) { if (func) { unregisterObserver(func, obj); im->observers.push_back(Impl::Observer(func, obj)); } }
traceObserver::~traceObserver() { // Unregister this object from all those that are observing it while(observers.size()>0) unregisterObserver(observers.begin()->first); // Unregister this object from all those that it is observing while(observing.size()>0) observing.begin()->first->unregisterObserver(this); // Notify all the objects that are observing this one that its stream is finished notifyObsFinish(); }
// Places the given set of traceObservers immediately after this observer and before all of the observers that watch it void traceObserver::prependObservers(const std::set<traceObserver*>& newObservers) { // Back up the original set of observers and remove them map<traceObserver*, int> origObservers = observers; while(observers.size()>0) { // newObservers and origObservers must be disjoint assert(newObservers.find(observers.begin()->first) == newObservers.end()); unregisterObserver(observers.begin()->first); } // Add each new observer to this observer for(set<traceObserver*>::const_iterator n=newObservers.begin(); n!=newObservers.end(); n++) { registerObserver(*n); // And add all of the original observers to watch this current new observer for(map<traceObserver*, int>::iterator o=origObservers.begin(); o!=origObservers.end(); o++) (*n)->registerObserver(o->first); } }
void MLC_SerialTargetPlugin::onDeactivate(const char * val) { unregisterObserver(""); super_type::onDeactivate(val); }
virtual void registerObserver(CmdObserver* observer) { if (observer) { unregisterObserver(observer); _arr.push_back(observer); } }
/*! Unregister an observer so it does not get notified of changes * anymore. * \deprecated Obsolete coding style. */ void ConfigManager::UnregisterObserver(ConfigObserver *observer) { unregisterObserver(observer); }
// Observer base interface. Observer::~Observer() { for_const (auto connection, _connections) { unregisterObserver(connection); }