]> git.mxchange.org Git - hub.git/blob - ship-simu/application/hub/starter.php
Required files added
[hub.git] / ship-simu / application / hub / starter.php
1 <?php
2 /**
3  * The application starter include file
4  *
5  * @author              Roland Haeder <webmaster@ship-simu.org>
6  * @version             0.0
7  * @copyright   Copyright(c) 2007, 2008 Roland Haeder, this is free software
8  * @license             GNU GPL 3.0 or any newer version
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation, either version 3 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
22  */
23
24 // Is there an application helper instance? We need the method main() for
25 // maining the application
26 $app = ApplicationHelper::getInstance();
27
28 // Some sanity checks
29 if ((empty($app)) || (is_null($app))) {
30         // Something went wrong!
31         ApplicationEntryPoint::app_die(sprintf("[Main:] Die Applikation <strong>%s</strong> kann nicht gestartet werden, da die Hilfsklasse <strong>%s</strong> nicht geladen ist!",
32                 $application,
33                 FrameworkConfiguration::getInstance()->readConfig("app_helper_class")
34         ));
35 } elseif (!is_object($app)) {
36         // No object!
37         ApplicationEntryPoint::app_die(sprintf("[Main:] Die Applikation <strong>%s</strong> kann nicht gestartet werden, da die &#39;app&#39; kein Objekt ist!",
38                 $application
39         ));
40 } elseif (!method_exists($app, FrameworkConfiguration::getInstance()->readConfig("entry_method"))) {
41         // Method not found!
42         ApplicationEntryPoint::app_die(sprintf("[Main:] Die Applikation <strong>%s</strong> kann nicht gestartet werden, da die Methode <strong>%s</strong> fehlt!",
43                 $application,
44                 FrameworkConfiguration::getInstance()->readConfig("entry_method")
45         ));
46 }
47
48 // Call the entry point method
49 try {
50         $eval = sprintf("%s::getInstance()->%s();",
51                 FrameworkConfiguration::getInstance()->readConfig("app_helper_class"),
52                 FrameworkConfiguration::getInstance()->readConfig("entry_method")
53         );
54         eval($eval);
55 } catch (SocketCreationException $e) {
56         // Problems while creating sockets
57         ApplicationEntryPoint::app_die(sprintf("[Main:] Das Hub konnte nicht initialisiert werden. Reason: %s, Code: %s",
58                 $e->getMessage(),
59                 $e->getHexCode()
60         ));
61 } catch (SocketSetupException $e) {
62         // Problems while setting up sockets
63         ApplicationEntryPoint::app_die(sprintf("[Main:] Das Hub konnte nicht initialisiert werden. Reason: %s, Code: %s",
64                 $e->getMessage(),
65                 $e->getHexCode()
66         ));
67 } catch (SocketBindException $e) {
68         // Problems while binding to address/port
69         ApplicationEntryPoint::app_die(sprintf("[Main:] Das Hub konnte nicht initialisiert werden. Reason: %s, Code: %s",
70                 $e->getMessage(),
71                 $e->getHexCode()
72         ));
73 } catch (SocketListeningException $e) {
74         // Problems while starting listen to the socket
75         ApplicationEntryPoint::app_die(sprintf("[Main:] Das Hub konnte nicht initialisiert werden. Reason: %s, Code: %s",
76                 $e->getMessage(),
77                 $e->getHexCode()
78         ));
79 }
80
81 // [EOF]
82 ?>