1: <?php
2: /**
3: * ManiaLive - TrackMania dedicated server manager in PHP
4: *
5: * @copyright Copyright (c) 2009-2011 NADEO (http://www.nadeo.com)
6: * @license http://www.gnu.org/licenses/lgpl.html LGPL License 3
7: * @version $Revision: 314 $:
8: * @author $Author: martin.gwendal $:
9: * @date $Date: 2012-01-03 14:16:20 +0100 (mar., 03 janv. 2012) $:
10: */
11:
12: namespace ManiaLive\Threading;
13:
14: class Event extends \ManiaLive\Event\Event
15: {
16: const ON_THREAD_START = 1;
17: const ON_THREAD_RESTART = 2;
18: const ON_THREAD_DIES = 4;
19: const ON_THREAD_TIMES_OUT = 8;
20: const ON_THREAD_KILLED = 16;
21:
22: private $threadId;
23:
24: function __construct($onWhat, $threadId)
25: {
26: parent::__construct($onWhat);
27: $this->threadId = $threadId;
28: }
29:
30: function fireDo($listener)
31: {
32: switch($this->onWhat)
33: {
34: case self::ON_THREAD_START: $listener->onThreadStart($this->threadId); break;
35: case self::ON_THREAD_RESTART: $listener->onThreadRestart($this->threadId); break;
36: case self::ON_THREAD_DIES: $listener->onThreadDies($this->threadId); break;
37: case self::ON_THREAD_TIMES_OUT: $listener->onThreadTimesOut($this->threadId); break;
38: case self::ON_THREAD_KILLED: $listener->onThreadKilled($this->threadId); break;
39: }
40: }
41: }