Status EventFactory::addSubscription(EventPublisherID& type_id, const SubscriptionRef& subscription) { EventPublisherRef publisher = getInstance().getEventPublisher(type_id); if (publisher == nullptr) { return Status(1, "Unknown event publisher"); } // The event factory is responsible for configuring the event types. auto status = publisher->addSubscription(subscription); publisher->configure(); return status; }
Status EventFactory::addSubscription(EventPublisherID& type_id, const SubscriptionRef& subscription) { EventPublisherRef publisher; try { publisher = getInstance().getEventPublisher(type_id); } catch (std::out_of_range& e) { return Status(1, "No event type found"); } // The event factory is responsible for configuring the event types. auto status = publisher->addSubscription(subscription); publisher->configure(); return status; }