| @@ 13-29 (lines=17) @@ | ||
| 10 | * Register services tagged as services as object that will |
|
| 11 | * be notified when an alert is raised |
|
| 12 | */ |
|
| 13 | class RegisterAlertersPass implements CompilerPassInterface |
|
| 14 | { |
|
| 15 | public function process(ContainerBuilder $container) |
|
| 16 | { |
|
| 17 | $listener = $container->getDefinition('innmind_provisioner.listener.alert'); |
|
| 18 | $alerters = $container->findTaggedServiceIds( |
|
| 19 | 'innmind_provisioner.alerter' |
|
| 20 | ); |
|
| 21 | ||
| 22 | foreach ($alerters as $id => $attributes) { |
|
| 23 | $listener->addMethodCall( |
|
| 24 | 'addAlerter', |
|
| 25 | [new Reference($id)] |
|
| 26 | ); |
|
| 27 | } |
|
| 28 | } |
|
| 29 | } |
|
| 30 | ||
| @@ 13-29 (lines=17) @@ | ||
| 10 | * Register services tagged as objects used to determine if the provisioner |
|
| 11 | * should be started |
|
| 12 | */ |
|
| 13 | class RegisterVotersPass implements CompilerPassInterface |
|
| 14 | { |
|
| 15 | public function process(ContainerBuilder $container) |
|
| 16 | { |
|
| 17 | $listener = $container->getDefinition('innmind_provisioner.trigger_manager'); |
|
| 18 | $alerters = $container->findTaggedServiceIds( |
|
| 19 | 'innmind_provisioner.voter' |
|
| 20 | ); |
|
| 21 | ||
| 22 | foreach ($alerters as $id => $attributes) { |
|
| 23 | $listener->addMethodCall( |
|
| 24 | 'addVoter', |
|
| 25 | [new Reference($id)] |
|
| 26 | ); |
|
| 27 | } |
|
| 28 | } |
|
| 29 | } |
|
| 30 | ||