Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/release2012/src/orxonox/Test.h @ 10179

Last change on this file since 10179 was 8858, checked in by landauf, 13 years ago

merged output branch back to trunk.

Changes:

  • you have to include util/Output.h instead of util/Debug.h
  • COUT(x) is now called orxout(level)
  • output levels are now defined by an enum instead of numbers. see util/Output.h for the definition
  • it's possible to use output contexts with orxout(level, context). see util/Output.h for some common contexts. you can define more contexts
  • you must use 'endl' at the end of an output message, '\n' does not flush the message

Output levels:

  • instead of COUT(0) use orxout()
  • instead of COUT(1) use orxout(user_error) or orxout(internal_error)
  • instead of COUT(2) use orxout(user_warning) or orxout(internal_warning)
  • instead of COUT(3) use orxout(user_status/user_info) or orxout(internal_status/internal_info)
  • instead of COUT(4) use orxout(verbose)
  • instead of COUT(5) use orxout(verbose_more)
  • instead of COUT(6) use orxout(verbose_ultra)

Guidelines:

  • user_* levels are for the user, visible in the console and the log-file
  • internal_* levels are for developers, visible in the log-file
  • verbose_* levels are for debugging, only visible if the context of the output is activated

Usage in C++:

  • orxout() << "message" << endl;
  • orxout(level) << "message" << endl;
  • orxout(level, context) << "message" << endl;

Usage in Lua:

  • orxout("message")
  • orxout(orxonox.level.levelname, "message")
  • orxout(orxonox.level.levelname, "context", "message")

Usage in Tcl (and in the in-game-console):

  • orxout levelname message
  • orxout_context levelname context message
  • shortcuts: log message, error message, warning message, status message, info message, debug message
  • Property svn:eol-style set to native
File size: 2.9 KB
Line 
1/*
2 *   ORXONOX - the hottest 3D action shooter ever to exist
3 *                    > www.orxonox.net <
4 *
5 *
6 *   License notice:
7 *
8 *   This program is free software; you can redistribute it and/or
9 *   modify it under the terms of the GNU General Public License
10 *   as published by the Free Software Foundation; either version 2
11 *   of the License, or (at your option) any later version.
12 *
13 *   This program is distributed in the hope that it will be useful,
14 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
15 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 *   GNU General Public License for more details.
17 *
18 *   You should have received a copy of the GNU General Public License
19 *   along with this program; if not, write to the Free Software
20 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
21 *
22 *   Author:
23 *      Oli Scheuss
24 *   Co-authors:
25 *      ...
26 *
27 */
28
29#ifndef _Test_H__
30#define _Test_H__
31
32#include "OrxonoxPrereqs.h"
33#include "core/BaseObject.h"
34#include "network/synchronisable/Synchronisable.h"
35#include "tools/interfaces/Tickable.h"
36
37#include <set>
38
39typedef int TYPE;
40typedef unsigned int UTYPE;
41
42
43namespace orxonox
44{
45  class _OrxonoxExport Test: public BaseObject, public Synchronisable, public Tickable
46  {
47    public:
48      Test(BaseObject* creator);
49      virtual ~Test();
50
51      void setConfigValues();
52
53      static void call(unsigned int clientID);
54      void call2(unsigned int clientID, std::string s1, std::string s2, std::string s3, std::string s4);
55      virtual void tick(float dt);
56
57
58      //unsigned functions
59      void setU1(UTYPE value){ u1 = value; }
60      void setU2(UTYPE value){ u2 = value; }
61      void setU3(UTYPE value){ u3 = value; }
62      void setU4(UTYPE value){ u4 = value; }
63      void checkU1();
64      void checkU2();
65      void checkU3();
66      void checkU4();
67
68      //signed functions
69      void setS1(TYPE value){ s1 = value; }
70      void setS2(TYPE value){ s2 = value; }
71      void setS3(TYPE value){ s3 = value; }
72      void setS4(TYPE value){ s4 = value; }
73      void checkS1();
74      void checkS2();
75      void checkS3();
76      void checkS4();
77
78      void printPointer();
79
80      static void printV1(){ instance_->blub(); }
81      static void printV2(){ instance_->blub2(); }
82      static void printV3(){ instance_->checkU3(); }
83      static void printV4(){ instance_->checkU4(); }
84
85      void printBlaBla(std::string s1, std::string s2, std::string s3, std::string s4, std::string s5);
86
87    private:
88      void registerVariables();
89
90      UTYPE u1;
91      UTYPE u2;
92      UTYPE u3;
93      UTYPE u4;
94
95      TYPE s1;
96      TYPE s2;
97      TYPE s3;
98      TYPE s4;
99
100      Test* pointer_;
101     
102      std::set<uint32_t> mySet_;
103
104      static Test* instance_;
105     
106      void blub()
107      { mySet_.insert(2); }
108     
109      void blub2()
110      { for( std::set<uint32_t>::iterator it=mySet_.begin(); it!=mySet_.end(); ++it ) orxout() << *it << endl; }
111  };
112}
113
114#endif /* _Test_H__ */
Note: See TracBrowser for help on using the repository browser.