Index: code/branches/objecthierarchy/src/orxonox/CMakeLists.txt
===================================================================
--- code/branches/objecthierarchy/src/orxonox/CMakeLists.txt	(revision 2029)
+++ code/branches/objecthierarchy/src/orxonox/CMakeLists.txt	(revision 2030)
@@ -1,8 +1,8 @@
 SET( ORXONOX_SRC_FILES
+  CameraHandler.cc
   GraphicsEngine.cc
   LevelManager.cc
   Main.cc
   Settings.cc
-  SignalHandler.cc
 
   gamestates/GSClient.cc
@@ -44,5 +44,4 @@
   tools/WindowEventListener.cc
 
-  objects/CameraHandler.cc
   objects/Radar.cc
   objects/RadarListener.cc
Index: code/branches/objecthierarchy/src/orxonox/CameraHandler.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/CameraHandler.cc	(revision 2030)
+++ code/branches/objecthierarchy/src/orxonox/CameraHandler.cc	(revision 2030)
@@ -0,0 +1,96 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Benjamin Knecht
+ *   Co-authors:
+ *      ...
+ *
+ */
+#include "OrxonoxStableHeaders.h"
+#include "CameraHandler.h"
+
+#include <OgreViewport.h>
+
+#include "core/Core.h"
+#include "objects/worldentities/Camera.h"
+
+
+namespace orxonox
+{
+    CameraHandler* CameraHandler::singletonRef_s = 0;
+
+    CameraHandler::CameraHandler(Ogre::Viewport* viewport)
+        : viewport_(viewport)
+    {
+        assert(singletonRef_s == 0);
+        singletonRef_s = this;
+    }
+
+    CameraHandler::~CameraHandler()
+    {
+        assert(singletonRef_s != 0);
+        singletonRef_s = 0;
+    }
+
+    Camera* CameraHandler::getActiveCamera() const
+    {
+        if (this->cameraList_.size() > 0)
+            return this->cameraList_.front();
+        else
+            return 0;
+    }
+
+    void CameraHandler::requestFocus(Camera* camera)
+    {
+        if (!Core::showsGraphics())
+            return;
+
+        // notify old camera (if it exists)
+        if (this->cameraList_.size() > 0)
+            this->cameraList_.front()->removeFocus();
+
+        // add to list
+        this->cameraList_.push_front(camera);
+        camera->setFocus(this->viewport_);
+    }
+
+    void CameraHandler::releaseFocus(Camera* camera)
+    {
+        if (!Core::showsGraphics())
+            return;
+
+        // notify the cam of releasing the focus
+        if (this->cameraList_.front() == camera)
+        {
+            camera->removeFocus();
+            this->cameraList_.pop_front();
+
+            // set new focus if necessary
+            if (cameraList_.size() > 0)
+                cameraList_.front()->setFocus(this->viewport_);
+        }
+        else
+        {
+            this->cameraList_.remove(camera);
+        }
+    }
+}
Index: code/branches/objecthierarchy/src/orxonox/CameraHandler.h
===================================================================
--- code/branches/objecthierarchy/src/orxonox/CameraHandler.h	(revision 2030)
+++ code/branches/objecthierarchy/src/orxonox/CameraHandler.h	(revision 2030)
@@ -0,0 +1,69 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Benjamin Knecht
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+ /**
+ @file  CameraHandler.h
+ @brief Handles the instances of Camera class
+ @author Benjamin Knecht <beni_at_orxonox.net>
+  */
+
+#ifndef _Camera_Handler_H__
+#define _Camera_Handler_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include <cassert>
+#include <list>
+#include <OgrePrerequisites.h>
+
+namespace orxonox
+{
+    class _OrxonoxExport CameraHandler
+    {
+        public:
+            CameraHandler(Ogre::Viewport* viewport);
+            ~CameraHandler();
+
+            Camera* getActiveCamera() const;
+
+            void requestFocus(Camera* camera);
+            void releaseFocus(Camera* camera);
+
+            static CameraHandler& getInstance() { assert(singletonRef_s); return *singletonRef_s; }
+
+        private:
+            CameraHandler(const CameraHandler&);
+
+            std::list<Camera*> cameraList_;
+            Ogre::Viewport* viewport_;
+
+            static CameraHandler* singletonRef_s;
+    };
+}
+
+#endif /* _Camera_Handler_H__ */
Index: code/branches/objecthierarchy/src/orxonox/Main.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/Main.cc	(revision 2029)
+++ code/branches/objecthierarchy/src/orxonox/Main.cc	(revision 2030)
@@ -40,6 +40,6 @@
 #include "util/OrxonoxPlatform.h"
 #include "util/Debug.h"
+#include "util/SignalHandler.h"
 #include "core/ConfigFileManager.h"
-#include "SignalHandler.h"
 
 #include "gamestates/GSRoot.h"
Index: code/branches/objecthierarchy/src/orxonox/SignalHandler.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/SignalHandler.cc	(revision 2029)
+++ 	(revision )
@@ -1,355 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Christoph Renner
- *   Co-authors:
- *      ...
- *
- */
-
-/**
-    @file SignalHandler.cc
-    @brief Implementation of the SignalHandler class.
-*/
-
-#include "OrxonoxStableHeaders.h"
-#include "SignalHandler.h"
-#include "util/Debug.h"
-
-#include <assert.h>
-#include <iostream>
-#include <cstdlib>
-#include <cstring>
-
-SignalHandler * SignalHandler::singletonRef = NULL;
-
-#if ORXONOX_PLATFORM != ORXONOX_PLATFORM_WIN32
-
-#include <wait.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/keysym.h>
-
-bool SignalHandler::bXAutoKeyRepeatOn_ = false;
-
-SignalHandler::SignalHandler()
-{
-}
-
-/**
- * register signal handlers for SIGSEGV and SIGABRT
- * @param appName path to executable eg argv[0]
- * @param fileName filename to append backtrace to
- */
-void SignalHandler::doCatch( const std::string & appName, const std::string & fileName )
-{
-  this->appName = appName;
-  this->fileName = fileName;
-
-  // prepare for restoring XAutoKeyRepeat
-  Display* display;
-  if ((display = XOpenDisplay(0)))
-  {
-    XKeyboardState oldState;
-    XGetKeyboardControl(display, &oldState);
-    if (oldState.global_auto_repeat == AutoRepeatModeOn)
-      bXAutoKeyRepeatOn_ = true;
-    else
-      bXAutoKeyRepeatOn_ = false;
-    XCloseDisplay(display);
-  }
-  else
-  {
-    std::cout << "Warning: couldn't open X display to restore XAutoKeyRepeat." << std::endl;
-    bXAutoKeyRepeatOn_ = false;
-  }
-
-
-  // make sure doCatch is only called once without calling dontCatch
-  assert( sigRecList.size() == 0 );
-
-  catchSignal( SIGSEGV );
-  catchSignal( SIGABRT );
-  catchSignal( SIGILL );
-}
-
-/**
- * restore previous signal handlers
- */
-void SignalHandler::dontCatch()
-{
-  for ( SignalRecList::iterator it = sigRecList.begin(); it != sigRecList.end(); it++ )
-  {
-    signal( it->signal, it->handler );
-  }
-
-  sigRecList.clear();
-}
-
-/**
- * catch signal sig
- * @param sig signal to catch
- */
-void SignalHandler::catchSignal( int sig )
-{
-  sig_t handler = signal( sig, SignalHandler::sigHandler );
-
-  assert( handler != SIG_ERR );
-
-  SignalRec rec;
-  rec.signal = sig;
-  rec.handler = handler;
-
-  sigRecList.push_front( rec );
-}
-
-/**
- * sigHandler is called when receiving signals
- * @param sig
- */
-void SignalHandler::sigHandler( int sig )
-{
-  for ( SignalCallbackList::iterator it = SignalHandler::getInstance()->callbackList.begin(); it != SignalHandler::getInstance()->callbackList.end(); it++  )
-  {
-    (*(it->cb))( it->someData );
-  }
-
-  std::string sigName = "UNKNOWN";
-
-  switch ( sig )
-  {
-    case SIGSEGV:
-      sigName = "SIGSEGV";
-      break;
-    case SIGABRT:
-      sigName = "SIGABRT";
-      break;
-    case SIGILL:
-      sigName = "SIGILL";
-      break;
-  }
-
-  if (bXAutoKeyRepeatOn_)
-  {
-    std::cout << "Trying to restore XAutoKeyRepeat" << std::endl;
-    Display* display;
-    if ((display = XOpenDisplay(0)))
-    {
-      XAutoRepeatOn(display);
-      XCloseDisplay(display);
-    }
-  }
-
-  COUT(0) << "recieved signal " << sigName.c_str() << std::endl << "try to write backtrace to file orxonox.log" << std::endl;
-
-  int sigPipe[2];
-  if ( pipe(sigPipe) == -1 )
-  {
-    perror("pipe failed!\n");
-    exit(EXIT_FAILURE);
-  }
-
-  int sigPid = fork();
-
-  if ( sigPid == -1 )
-  {
-    perror("fork failed!\n");
-    exit(EXIT_FAILURE);
-  }
-
-  // gdb will be attached to this process
-  if ( sigPid == 0 )
-  {
-    getInstance()->dontCatch();
-    // wait for message from parent when it has attached gdb
-    int someData;
-
-    read( sigPipe[0], &someData, sizeof(someData) );
-
-    if ( someData != 0x12345678 )
-    {
-      COUT(0) << "something went wrong :(" << std::endl;
-    }
-
-    return;
-  }
-
-  int gdbIn[2];
-  int gdbOut[2];
-  int gdbErr[2];
-
-  if ( pipe(gdbIn) == -1 || pipe(gdbOut) == -1 || pipe(gdbErr) == -1 )
-  {
-    perror("pipe failed!\n");
-    kill( sigPid, SIGTERM );
-    waitpid( sigPid, NULL, 0 );
-    exit(EXIT_FAILURE);
-  }
-
-  int gdbPid = fork();
-  // this process will run gdb
-
-  if ( gdbPid == -1 )
-  {
-    perror("fork failed\n");
-    kill( sigPid, SIGTERM );
-    waitpid( sigPid, NULL, 0 );
-    exit(EXIT_FAILURE);
-  }
-
-  if ( gdbPid == 0 )
-  {
-    // start gdb
-
-    close(gdbIn[1]);
-    close(gdbOut[0]);
-    close(gdbErr[0]);
-
-    dup2( gdbIn[0], STDIN_FILENO );
-    dup2( gdbOut[1], STDOUT_FILENO );
-    dup2( gdbErr[1], STDERR_FILENO );
-
-    execlp( "sh", "sh", "-c", "gdb", (void*)NULL);
-  }
-
-  char cmd[256];
-  snprintf( cmd, 256, "file %s\nattach %d\nc\n", getInstance()->appName.c_str(), sigPid );
-  write( gdbIn[1], cmd, strlen(cmd) );
-
-  int charsFound = 0;
-  int promptFound = 0;
-  char byte;
-  while ( read( gdbOut[0], &byte, 1 ) == 1 )
-  {
-    if (
-      charsFound == 0 && byte == '(' ||
-      charsFound == 1 && byte == 'g' ||
-      charsFound == 2 && byte == 'd' ||
-      charsFound == 3 && byte == 'b' ||
-      charsFound == 4 && byte == ')' ||
-      charsFound == 5 && byte == ' '
-        )
-          charsFound++;
-    else
-      charsFound = 0;
-
-    if ( charsFound == 6 )
-    {
-      promptFound++;
-      charsFound = 0;
-    }
-
-    if ( promptFound == 3 )
-    {
-      break;
-    }
-  }
-
-  int someData = 0x12345678;
-  write( sigPipe[1], &someData, sizeof(someData) );
-
-  write( gdbIn[1], "bt\nk\nq\n", 7 );
-
-
-  charsFound = 0;
-  promptFound = 0;
-  std::string bt;
-  while ( read( gdbOut[0], &byte, 1 ) == 1 )
-  {
-    bt += std::string( &byte, 1 );
-
-    if (
-      charsFound == 0 && byte == '(' ||
-      charsFound == 1 && byte == 'g' ||
-      charsFound == 2 && byte == 'd' ||
-      charsFound == 3 && byte == 'b' ||
-      charsFound == 4 && byte == ')' ||
-      charsFound == 5 && byte == ' '
-        )
-          charsFound++;
-    else
-      charsFound = 0;
-
-    if ( charsFound == 6 )
-    {
-      promptFound++;
-      charsFound = 0;
-      bt += "\n";
-    }
-
-    if ( promptFound == 3 )
-    {
-      break;
-    }
-  }
-
-
-  waitpid( sigPid, NULL, 0 );
-  waitpid( gdbPid, NULL, 0 );
-
-  int wsRemoved = 0;
-
-  while ( wsRemoved < 2 && bt.length() > 0 )
-  {
-    if ( bt[1] == '\n' )
-      wsRemoved++;
-    bt.erase(0, 1);
-  }
-
-  if ( bt.length() > 0 )
-    bt.erase(0, 1);
-
-  time_t now = time(NULL);
-
-  std::string timeString = "\n\n\n\n"
-                     "=======================================================\n"
-                     "= time: " + std::string(ctime(&now)) +
-         "=======================================================\n";
-  bt.insert(0, timeString);
-
-  FILE * f = fopen( getInstance()->fileName.c_str(), "a" );
-
-  if ( !f )
-  {
-    perror( ( std::string( "could not append to " ) + getInstance()->fileName ).c_str() );
-    exit(EXIT_FAILURE);
-  }
-
-  if ( fwrite( bt.c_str(), 1, bt.length(), f ) != bt.length() )
-  {
-    COUT(0) << "could not write " << bt.length() << " byte to " << getInstance()->fileName << std::endl;
-    exit(EXIT_FAILURE);
-  }
-
-  exit(EXIT_FAILURE);
-}
-
-void SignalHandler::registerCallback( SignalCallback cb, void * someData )
-{
-  SignalCallbackRec rec;
-  rec.cb = cb;
-  rec.someData = someData;
-
-  callbackList.push_back(rec);
-}
-
-#endif /* ORXONOX_PLATFORM == ORXONOX_PLATFORM_WIN32 */
Index: code/branches/objecthierarchy/src/orxonox/SignalHandler.h
===================================================================
--- code/branches/objecthierarchy/src/orxonox/SignalHandler.h	(revision 2029)
+++ 	(revision )
@@ -1,109 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Christoph Renner
- *   Co-authors:
- *      ...
- *
- */
-
-/**
-    @file SignalHandler.h
-    @brief Declaration of the SignalHandler class.
-*/
-
-#ifndef _SignalHandler_H__
-#define _SignalHandler_H__
-
-#include "OrxonoxPrereqs.h"
-
-#include <list>
-#include <string>
-
-typedef int (*SignalCallback)( void * someData );
-
-#if ORXONOX_PLATFORM != ORXONOX_PLATFORM_WIN32
-#include <signal.h>
-
-struct SignalRec
-{
-  int signal;
-  sig_t handler;
-};
-
-struct SignalCallbackRec
-{
-  SignalCallback cb;
-  void * someData;
-};
-
-
-typedef std::list<SignalRec> SignalRecList;
-typedef std::list<SignalCallbackRec> SignalCallbackList;
-
-class SignalHandler
-{
-  private:
-    SignalHandler();
-  public:
-    inline static SignalHandler* getInstance() { if (!SignalHandler::singletonRef) SignalHandler::singletonRef = new SignalHandler(); return SignalHandler::singletonRef; }
-    ~SignalHandler(){ SignalHandler::singletonRef = NULL; }
-
-    void registerCallback( SignalCallback cb, void * someData );
-
-    void doCatch( const std::string & appName, const std::string & fileName );
-    void dontCatch();
-
-  private:
-    static void sigHandler( int sig );
-
-    void catchSignal( int sig );
-    SignalRecList sigRecList;
-
-    SignalCallbackList callbackList;
-
-    static SignalHandler * singletonRef;
-
-    std::string appName;
-    std::string fileName;
-
-    // used to turn on KeyAutoRepeat if OIS crashes
-    static bool bXAutoKeyRepeatOn_;
-};
-
-#else /* ORXONOX_PLATFORM == ORXONOX_PLATFORM_WIN32 */
-
-class _OrxonoxExport SignalHandler
-{
-  public:
-    inline static SignalHandler* getInstance() { if (!SignalHandler::singletonRef) SignalHandler::singletonRef = new SignalHandler(); return SignalHandler::singletonRef; };
-    void doCatch( const std::string & appName, const std::string & fileName ) {};
-    void dontCatch() {};
-    void registerCallback( SignalCallback cb, void * someData ) {};
-
-  private:
-    static SignalHandler * singletonRef;
-};
-
-#endif /* ORXONOX_PLATFORM == ORXONOX_PLATFORM_WIN32 */
-
-#endif /* _SignalHandler_H__ */
Index: code/branches/objecthierarchy/src/orxonox/gamestates/GSLevel.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/gamestates/GSLevel.cc	(revision 2029)
+++ code/branches/objecthierarchy/src/orxonox/gamestates/GSLevel.cc	(revision 2030)
@@ -41,8 +41,8 @@
 #include "core/Core.h"
 //#include "objects/Backlight.h"
-#include "objects/CameraHandler.h"
 #include "objects/Tickable.h"
 #include "objects/Radar.h"
 //#include "tools/ParticleInterface.h"
+#include "CameraHandler.h"
 #include "LevelManager.h"
 #include "Settings.h"
Index: code/branches/objecthierarchy/src/orxonox/objects/CameraHandler.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/objects/CameraHandler.cc	(revision 2029)
+++ 	(revision )
@@ -1,96 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Benjamin Knecht
- *   Co-authors:
- *      ...
- *
- */
-#include "OrxonoxStableHeaders.h"
-#include "CameraHandler.h"
-
-#include <OgreViewport.h>
-
-#include "core/Core.h"
-#include "objects/worldentities/Camera.h"
-
-
-namespace orxonox
-{
-    CameraHandler* CameraHandler::singletonRef_s = 0;
-
-    CameraHandler::CameraHandler(Ogre::Viewport* viewport)
-        : viewport_(viewport)
-    {
-        assert(singletonRef_s == 0);
-        singletonRef_s = this;
-    }
-
-    CameraHandler::~CameraHandler()
-    {
-        assert(singletonRef_s != 0);
-        singletonRef_s = 0;
-    }
-
-    Camera* CameraHandler::getActiveCamera() const
-    {
-        if (this->cameraList_.size() > 0)
-            return this->cameraList_.front();
-        else
-            return 0;
-    }
-
-    void CameraHandler::requestFocus(Camera* camera)
-    {
-        if (!Core::showsGraphics())
-            return;
-
-        // notify old camera (if it exists)
-        if (this->cameraList_.size() > 0)
-            this->cameraList_.front()->removeFocus();
-
-        // add to list
-        this->cameraList_.push_front(camera);
-        camera->setFocus(this->viewport_);
-    }
-
-    void CameraHandler::releaseFocus(Camera* camera)
-    {
-        if (!Core::showsGraphics())
-            return;
-
-        // notify the cam of releasing the focus
-        if (this->cameraList_.front() == camera)
-        {
-            camera->removeFocus();
-            this->cameraList_.pop_front();
-
-            // set new focus if necessary
-            if (cameraList_.size() > 0)
-                cameraList_.front()->setFocus(this->viewport_);
-        }
-        else
-        {
-            this->cameraList_.remove(camera);
-        }
-    }
-}
Index: code/branches/objecthierarchy/src/orxonox/objects/CameraHandler.h
===================================================================
--- code/branches/objecthierarchy/src/orxonox/objects/CameraHandler.h	(revision 2029)
+++ 	(revision )
@@ -1,69 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Benjamin Knecht
- *   Co-authors:
- *      ...
- *
- */
-
- /**
- @file  CameraHandler.h
- @brief Handles the instances of Camera class
- @author Benjamin Knecht <beni_at_orxonox.net>
-  */
-
-#ifndef _Camera_Handler_H__
-#define _Camera_Handler_H__
-
-#include "OrxonoxPrereqs.h"
-
-#include <cassert>
-#include <list>
-#include <OgrePrerequisites.h>
-
-namespace orxonox
-{
-    class _OrxonoxExport CameraHandler
-    {
-        public:
-            CameraHandler(Ogre::Viewport* viewport);
-            ~CameraHandler();
-
-            Camera* getActiveCamera() const;
-
-            void requestFocus(Camera* camera);
-            void releaseFocus(Camera* camera);
-
-            static CameraHandler& getInstance() { assert(singletonRef_s); return *singletonRef_s; }
-
-        private:
-            CameraHandler(const CameraHandler&);
-
-            std::list<Camera*> cameraList_;
-            Ogre::Viewport* viewport_;
-
-            static CameraHandler* singletonRef_s;
-    };
-}
-
-#endif /* _Camera_Handler_H__ */
Index: code/branches/objecthierarchy/src/orxonox/objects/worldentities/Camera.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/objects/worldentities/Camera.cc	(revision 2029)
+++ code/branches/objecthierarchy/src/orxonox/objects/worldentities/Camera.cc	(revision 2030)
@@ -41,5 +41,5 @@
 #include "core/ConfigValueIncludes.h"
 #include "objects/Scene.h"
-#include "objects/CameraHandler.h"
+#include "CameraHandler.h"
 
 namespace orxonox
