Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
UninstallAction
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
1 / 1
 unregisterEvent
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
1
 unregisterService
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3/**
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; under version 2
7 * of the License (non-upgradable).
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
17 *
18 * Copyright (c) 2016 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT);
19 *
20 */
21
22namespace oat\oatbox\extension;
23
24use oat\oatbox\event\EventManager;
25
26/**
27 * Abstract action containing some helper functions
28 *
29 * @author Christophe GARCIA <christopheg@taotesting.com>
30 */
31abstract class UninstallAction extends AbstractAction
32{
33    /**
34     * remove event listener
35     * @param mixed $event either an Event object or a string
36     * @param Callable $callback
37     */
38    public function unregisterEvent($event, $callback)
39    {
40        $eventManager = $this->getServiceLocator()->get(EventManager::CONFIG_ID);
41        $eventManager->detach($event, $callback);
42        $this->getServiceManager()->register(EventManager::CONFIG_ID, $eventManager);
43    }
44    /**
45     * remove configurable service
46     * @param string $serviceKey
47     */
48    public function unregisterService($serviceKey)
49    {
50        $this->getServiceManager()->unregister($serviceKey);
51    }
52}