Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/trunk/src/util/object_manager.h @ 4947

Last change on this file since 4947 was 4940, checked in by bensch, 19 years ago

orxonox/trunk: moved the fast_factory to a file of its own.
This is because, the use is quite different from objectManager, and maybe we want to delete the ObjectManager totally from the Project
@patrick: can you please tell me what dou stink??

File size: 884 bytes
Line 
1/*!
2 * @file object_manager.h
3 */
4
5#ifndef _OBJECT_MANAGER_H
6#define _OBJECT_MANAGER_H
7
8#include "base_object.h"
9
10
11// FORWARD DECLARATION //
12class GarbageCollector;
13template<class T>
14    class tList;
15
16////////////////////
17// OBJECT MANAGER //
18////////////////////
19
20//! the object manager itself
21class ObjectManager : public BaseObject {
22
23 public:
24  virtual ~ObjectManager();
25  /** @returns a Pointer to the only object of this Class */
26  inline static ObjectManager* getInstance() { if (!singletonRef) singletonRef = new ObjectManager();  return singletonRef; };
27
28  void registerClass(ClassID classID);
29
30  BaseObject* resurrect();
31  void kill(BaseObject* object);
32
33
34  void debug() const;
35
36 private:
37  ObjectManager();
38
39 private:
40  static ObjectManager*      singletonRef;          //!< The singleton reference to the only reference of this class
41
42};
43
44
45
46#endif /* _OBJECT_MANAGER_H */
Note: See TracBrowser for help on using the repository browser.