Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Mar 24, 2013, 8:51:37 PM (11 years ago)
Author:
landauf
Message:

moved functions and attributes needed to safely destroy objects from OrxonoxClass to Destroyable

File:
1 copied

Legend:

Unmodified
Added
Removed
  • code/branches/core6/src/libraries/core/object/Destroyable.h

    r9565 r9570  
    2828
    2929/**
    30     @defgroup OrxonoxClass OrxonoxClass
    31     @ingroup Class
     30    @file
     31    @ingroup Object
     32    @brief Declaration of Destroyable, the base class of all objects which can be used with SmartPtr and WeakPtr.
    3233*/
    3334
    34 /**
    35     @file
    36     @ingroup Class OrxonoxClass
    37     @brief Declaration of OrxonoxClass, the base class of all objects and interfaces in Orxonox.
    38 */
    39 
    40 #ifndef _OrxonoxClass_H__
    41 #define _OrxonoxClass_H__
     35#ifndef _Destroyable_H__
     36#define _Destroyable_H__
    4237
    4338#include "core/CorePrereqs.h"
    4439
    4540#include <set>
    46 //#include "Super.h"
    47 #include "Identifiable.h"
    4841
    4942namespace orxonox
    5043{
    5144    /**
    52         @brief The class all objects and interfaces of the game-logic (not the engine) are derived from.
    53 
    54         The BaseObject and Interfaces are derived with @c virtual @c public @c OrxonoxClass from OrxonoxClass.
     45        @brief Classes must inherit from this class if they should be used with SmartPtr or WeakPtr.
    5546    */
    56     class _CoreExport OrxonoxClass : public Identifiable
     47    class _CoreExport Destroyable
    5748    {
    5849        template <class T>
     
    6253
    6354        public:
    64             OrxonoxClass();
    65             virtual ~OrxonoxClass();
     55            Destroyable();
     56            virtual ~Destroyable();
    6657
    6758            void destroy();
    68 
    69             /// Function to collect the SetConfigValue-macro calls.
    70             void setConfigValues() {};
    7159
    7260            /// Returns the number of @ref orxonox::SmartPtr "smart pointers" that point to this object.
     
    10391
    10492    /**
    105         @brief This listener is used to inform weak pointers if an object of type OrxonoxClass gets destroyed.
     93        @brief This listener is used to inform weak pointers if an object of type Destroyable gets destroyed.
    10694    */
    10795    class _CoreExport DestructionListener
    10896    {
    109         friend class OrxonoxClass;
     97        friend class Destroyable;
    11098
    11199        protected:
    112100            virtual ~DestructionListener() {}
    113101
    114             inline void registerAsDestructionListener(OrxonoxClass* object)
     102            inline void registerAsDestructionListener(Destroyable* object)
    115103                { if (object) { object->registerDestructionListener(this); } }
    116             inline void unregisterAsDestructionListener(OrxonoxClass* object)
     104            inline void unregisterAsDestructionListener(Destroyable* object)
    117105                { if (object) { object->unregisterDestructionListener(this); } }
    118106
     
    122110}
    123111
    124 #endif /* _OrxonoxClass_H__ */
     112#endif /* _Destroyable_H__ */
Note: See TracChangeset for help on using the changeset viewer.