Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
blob: 5dd07b59ae56d611770f19d106d5f2814f6d9635 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*
   core/module.cc
   This file is part of the Osirion project and is distributed under
   the terms of the GNU General Public License version 2
*/

#include "auxiliary/functions.h"
#include "core/module.h"
#include "sys/sys.h"

namespace core
{

Module*		Module::module_instance = 0;

Module::Module(const char *name, bool interactive) :
	module_name(name)
{
	module_running = true;
	module_interactive = interactive;

	if (module_instance) {
		std::cerr << "multiple core::Module instances\n";
		abort();
	} else {
		module_instance = this;
	}
}

Module::~Module()
{
	module_running = false;
	module_name.clear();
	module_instance = 0;
}

void Module::set_label(const std::string &label)
{
	module_label.assign(label);
}

void Module::abort()
{
	module_running = false;
}

}