Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

Last change on this file since 934 was 737, checked in by landauf, 17 years ago

added removeObjects to the Identifier while constructing something new, but maybe it's not even used. never mind :P

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#include "CoreIncludes.h"
44
45namespace orxonox
46{
47    //! The DebugLevel class is a singleton, only used to configure the amount of debug output.
48    class _CoreExport DebugLevel : public OrxonoxClass
49    {
50        template <class T>
51        friend class ClassIdentifier; // forward declaration because of the private destructor
52
53        public:
54            static int getSoftDebugLevel(OutputHandler::OutputDevice device = OutputHandler::LD_All);
55            void setConfigValues();
56
57        private:
58            explicit DebugLevel(bool& bReturnSoftDebugLevel);
59            DebugLevel(const DebugLevel& dl) {} // don't copy
60            virtual ~DebugLevel() {}            // don't delete
61
62            int softDebugLevel_;                            //!< The debug level
63            int softDebugLevelConsole_;                     //!< The debug level for the console
64            int softDebugLevelLogfile_;                     //!< The debug level for the logfile
65            int softDebugLevelShell_;                       //!< The debug level for the ingame shell
66            ConfigValueContainer* softDebugLevelContainer_; //!< The config value container for the debug level
67    };
68    ExportAbstractClass(DebugLevel, Core);
69}
70
71#endif /* _DebugLevel_H__ */
Note: See TracBrowser for help on using the repository browser.