1e6d48874SKrzysztof Grobelny #include "messanger_service.hpp" 2e6d48874SKrzysztof Grobelny 3e6d48874SKrzysztof Grobelny namespace utils 4e6d48874SKrzysztof Grobelny { 5e6d48874SKrzysztof Grobelny MessangerService(boost::asio::execution_context & execution_context)6e6d48874SKrzysztof GrobelnyMessangerService::MessangerService( 7e6d48874SKrzysztof Grobelny boost::asio::execution_context& execution_context) : 8e6d48874SKrzysztof Grobelny boost::asio::execution_context::service(execution_context) 9e6d48874SKrzysztof Grobelny {} 10e6d48874SKrzysztof Grobelny create()11e6d48874SKrzysztof GrobelnyMessangerService::Context& MessangerService::create() 12e6d48874SKrzysztof Grobelny { 13e6d48874SKrzysztof Grobelny contexts_.emplace_back(std::make_unique<Context>()); 14e6d48874SKrzysztof Grobelny return *contexts_.back(); 15e6d48874SKrzysztof Grobelny } 16e6d48874SKrzysztof Grobelny destroy(MessangerService::Context & context)17e6d48874SKrzysztof Grobelnyvoid MessangerService::destroy(MessangerService::Context& context) 18e6d48874SKrzysztof Grobelny { 19*c7935fa1SPatrick Williams contexts_.erase(std::remove_if(contexts_.begin(), contexts_.end(), 20*c7935fa1SPatrick Williams [&context](const auto& item) { 21*c7935fa1SPatrick Williams return item.get() == &context; 22*c7935fa1SPatrick Williams }), 23e6d48874SKrzysztof Grobelny contexts_.end()); 24e6d48874SKrzysztof Grobelny } 25e6d48874SKrzysztof Grobelny 26e6d48874SKrzysztof Grobelny boost::asio::execution_context::id MessangerService::id = {}; 27e6d48874SKrzysztof Grobelny 28e6d48874SKrzysztof Grobelny } // namespace utils 29