1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
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.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20  *
21  */
22 
23 /*
24  * This code is based on Broken Sword 2.5 engine
25  *
26  * Copyright (c) Malte Thiesen, Daniel Queteschiner and Michael Elsdoerfer
27  *
28  * Licensed under GNU GPL v2
29  *
30  */
31 
32 /*
33  * BS_Service
34  * -------------
35  * This is the base class for all engine services.
36  * A serivce is an essential part of the engine, ex. the graphics system.
37  * This was intended to allow, for example, different plug in modules for
38  * different kinds of hardware and/or systems.
39  * The services are created at runtime via the kernel method NewService and NEVER with new.
40  *
41  * Autor: Malte Thiesen
42 */
43 
44 #ifndef SWORD25_SERVICE_H
45 #define SWORD25_SERVICE_H
46 
47 // Includes
48 #include "sword25/kernel/common.h"
49 
50 namespace Sword25 {
51 
52 // Klassendefinition
53 class Kernel;
54 
55 class Service {
56 private:
57 	Kernel  *_pKernel;
58 
59 protected:
Service(Kernel * pKernel)60 	Service(Kernel *pKernel) : _pKernel(pKernel) {}
61 
GetKernel()62 	Kernel *GetKernel() const {
63 		return _pKernel;
64 	}
65 
66 public:
~Service()67 	virtual ~Service() {}
68 };
69 
70 } // End of namespace Sword25
71 
72 #endif
73