Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}