Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/core/src/orxonox/core/DebugLevel.h @ 852

Last change on this file since 852 was 852, checked in by landauf, 16 years ago

removed some includes of CoreIncludes.h from other .h files (included in .cc only)

File size: 2.5 KB
Line 
1/*
2 *   ORXONOX - the hottest 3D action shooter ever to exist
3 *
4 *
5 *   License notice:
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 *   Author:
22 *      Fabian 'x3n' Landau
23 *   Co-authors:
24 *      ...
25 *
26 */
27
28/**
29    @file DebugLevel.h
30    @brief Definition of the DebugLevel class.
31
32    The DebugLevel class is a singleton, only used to configure the amount of debug
33    output (see Debug.h) into the console and the logfile (see OutputHandler.h).
34*/
35
36#ifndef _DebugLevel_H__
37#define _DebugLevel_H__
38
39#include "CorePrereqs.h"
40
41#include "OrxonoxClass.h"
42#include "OutputHandler.h"
43
44namespace orxonox
45{
46    //! The DebugLevel class is a singleton, only used to configure the amount of debug output.
47    class _CoreExport DebugLevel : public OrxonoxClass
48    {
49        template <class T>
50        friend class ClassIdentifier; // forward declaration because of the private destructor
51
52        public:
53            static int getSoftDebugLevel(OutputHandler::OutputDevice device = OutputHandler::LD_All);
54            void setConfigValues();
55
56        private:
57            explicit DebugLevel(bool& bReturnSoftDebugLevel);
58            DebugLevel(const DebugLevel& dl) {} // don't copy
59            virtual ~DebugLevel() {}            // don't delete
60
61            int softDebugLevel_;                            //!< The debug level
62            int softDebugLevelConsole_;                     //!< The debug level for the console
63            int softDebugLevelLogfile_;                     //!< The debug level for the logfile
64            int softDebugLevelShell_;                       //!< The debug level for the ingame shell
65            ConfigValueContainer* softDebugLevelContainer_; //!< The config value container for the debug level
66    };
67}
68
69#endif /* _DebugLevel_H__ */
Note: See TracBrowser for help on using the repository browser.