void MapNode::clearExtensions() { for(Extensions::iterator i = _extensions.begin(); i != _extensions.end(); ++i) { ExtensionInterface<MapNode>* extensionIF = ExtensionInterface<MapNode>::get( i->get() ); if ( extensionIF ) { extensionIF->disconnect( this ); } } _extensions.clear(); }
void MapNode::removeExtension(Extension* extension) { Extensions::iterator i = std::find(_extensions.begin(), _extensions.end(), extension); if ( i != _extensions.end() ) { ExtensionInterface<MapNode>* extensionIF = ExtensionInterface<MapNode>::get( i->get() ); if ( extensionIF ) { extensionIF->disconnect( this ); } _extensions.erase( i ); } }