void add_slot(const Key& aKey, Sink& aSink, SinkFunction aSinkFunction) { typename LockingPolicy::scope_lock sl(*this); if (slots().find(std::make_pair(aKey, &aSink)) != slots().end()) throw slot_already_added(); detail::do_bind<ParameterCount>()(aSink, aSinkFunction, slots()[std::make_pair(aKey, &aSink)]); aSink.signal_created(*this); }
void add_slot(Sink& aSink, SinkFunction aSinkFunction) { typename LockingPolicy::scope_lock sl(*this); if (slots().find(&aSink) != slots().end()) throw slot_already_added(); detail::do_bind<ParameterCount>()(aSink, aSinkFunction, slots()[&aSink]); aSink.signal_created(*this); }