net: data reception system, fixed bugs in rtl8139
[quarnos.git] / hydra / hydra.cpp
blob3fb4526688d094dfec84f67948a66818d1452016
1 /* Quarn OS / Hydra
3 * Application and Runtime classes implementations
5 * Copyright (C) 2008-2009 Pawel Dziepak
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 #include "hydra.h"
24 #include "console.h"
25 #include "uapi.h"
27 using namespace hydra;
29 void __hydra_start();
31 void hydra::start() {
32 uapi::output = new uapi::_output;
34 runtime::create();
36 __hydra_start();
39 void application::set_ui(ui::ui_type) {
40 app_ui = new console;
43 ui *application::get_ui() {
44 return app_ui;
47 void application::exit() {
48 while(1);
51 namespace hydra {
52 runtime *runtime::instance = (runtime*)0;
55 runtime::runtime() {}
57 void runtime::create() {
58 instance = new runtime;
61 runtime *runtime::get() {
62 return instance;
65 void runtime::start_app(application *newapp) {
66 app = newapp;
67 app->init();
68 app->get_ui()->render();