Index: branches/network/src/lib/network/entity_manager.cc
===================================================================
--- branches/network/src/lib/network/entity_manager.cc	(revision 6067)
+++ branches/network/src/lib/network/entity_manager.cc	(revision 6067)
@@ -0,0 +1,123 @@
+/*
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   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, or (at your option)
+   any later version.
+
+### File Specific:
+   main-programmer: Benjamin Wuest
+   co-programmer: ...
+*/
+
+
+/* this is for debug output. It just says, that all calls to PRINT() belong to the DEBUG_MODULE_NETWORK module
+   For more information refere to https://www.orxonox.net/cgi-bin/trac.cgi/wiki/DebugOutput
+*/
+#define DEBUG_MODULE_NETWORK
+
+/* include your own header */
+#include "entity_manager.h"
+
+
+/* using namespace std is default, this needs to be here */
+using namespace std;
+
+/*!
+ * Standard constructor
+ */
+EntityManager::EntityManager()
+{
+  /* set the class id for the base object */
+  this->setClassID(CL_ENTITY_MANAGER, "EntityManager");
+}
+
+/*!
+ * Standard destructor
+ */
+EntityManager::~EntityManager()
+{
+}
+
+
+void EntityManager::writeBytes(const byte* data, int length)
+{
+}
+
+int EntityManager::readBytes(byte* data, int maxLength, int * reciever)
+{
+}
+
+void EntityManager::writeDebug() const
+{
+}
+
+void EntityManager::readDebug() const
+{
+}
+
+
+/*!
+ * Checks whether this is connected to a server or a client
+ * and afterwards creates the needed entity if possible
+ * @param classID: The ID of the class of which an entity should be created
+ */
+void EntityManager::createEntity(int classID)
+{
+}
+
+/*!
+ * Checks whether this is connected to a server or a client
+ * and afterwards removes the specified entity
+ * @param uniqueID: The ID of the entity object which should be removed
+ */
+void EntityManager::removeEntity(int uniqueID)
+{
+}
+
+
+
+/*!
+ * Creates the needed entity on the server if possible
+ * @param classID: The ID of the class of which an entity should be created
+ */
+void EntityManager::requestCreateEntity(int classID)
+{
+}
+
+/*!
+ * Removes the specified entity on the server
+ * @param uniqueID: The ID of the entity object which should be removed
+ */
+void EntityManager::requestRemoveEntity(int uniqueID)
+{
+}
+
+/*!
+ * Creates the needed entity if possible
+ * This function is called if this is a server
+ * @param classID: The ID of the class of which an entity should be created
+ */
+void EntityManager::executeCreateEntity(int classID)
+{
+}
+
+/*!
+ * Removes the specified entity
+ * This function is called if this is a server
+ * @param uniqueID: The ID of the entity object which should be removed
+ */
+void EntityManager::executeRemoveEntity(int uniqueID)
+{
+}
+
+/*!
+ * Checks whether it is possible to create an entity of a given class
+ * @return: true if the entity can be created, false otherwise
+ */
+bool EntityManager::canCreateEntity(int classID)
+{
+}
Index: branches/network/src/lib/network/entity_manager.h
===================================================================
--- branches/network/src/lib/network/entity_manager.h	(revision 6067)
+++ branches/network/src/lib/network/entity_manager.h	(revision 6067)
@@ -0,0 +1,42 @@
+/*!
+ * @file entity_manager.h
+ *  Manages creation and destruction of entities
+ */
+ 
+#ifndef _ENTITY_MANGER
+#define _ENTITY_MANAGER
+
+/* include this file, it contains some default definitions */
+#include "netdefs.h"
+
+/* include base_object.h since all classes are derived from this one */
+#include "synchronizeable.h"
+
+/*!
+ * a class that can create and remove entities
+ */
+class EntityManager: public Synchronizeable
+{
+  public:
+    EntityManager();
+    ~EntityManager();
+    
+    virtual void writeBytes(const byte* data, int length);
+    virtual int readBytes(byte* data, int maxLength, int * reciever);
+    virtual void writeDebug() const;
+    virtual void readDebug() const;
+    
+    void createEntity(int classID);
+    void removeEntity(int uniqueID);
+    
+  private:
+    void requestCreateEntity(int classID);
+    void requestRemoveEntity(int uniqueID);
+    
+    void executeCreateEntity(int classID);
+    void executeRemoveEntity(int uniqueID);
+    
+    bool canCreateEntity(int classID);
+};
+
+#endif /*_ENTITY_MANGER*/
