/* * * (C) 2003-2022 Anope Team * Contact us at team@anope.org * * Please read COPYING and README for further details. */ #include "services.h" #include "anope.h" #include "service.h" std::map > Service::Services; std::map > Service::Aliases; Base::Base() : references(NULL) { } Base::~Base() { if (this->references != NULL) { for (std::set::iterator it = this->references->begin(), it_end = this->references->end(); it != it_end; ++it) (*it)->Invalidate(); delete this->references; } } void Base::AddReference(ReferenceBase *r) { if (this->references == NULL) this->references = new std::set(); this->references->insert(r); } void Base::DelReference(ReferenceBase *r) { if (this->references != NULL) { this->references->erase(r); if (this->references->empty()) { delete this->references; this->references = NULL; } } }