From 389960211861736ef321df82f6abcb59f6302897 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 17 Dec 2008 21:32:20 +0100 Subject: Sinnlose Klassen SharedPtr und SingletonPtr entfernt --- src/Common/SingletonPtr.h | 84 ----------------------------------------------- 1 file changed, 84 deletions(-) delete mode 100644 src/Common/SingletonPtr.h (limited to 'src/Common/SingletonPtr.h') diff --git a/src/Common/SingletonPtr.h b/src/Common/SingletonPtr.h deleted file mode 100644 index 03d0040..0000000 --- a/src/Common/SingletonPtr.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * SingletonPtr.h - * - * Copyright (C) 2008 Matthias Schiffer - * - * 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 3 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, see . - */ - -#ifndef MAD_COMMON_SINGLETONPTR_H_ -#define MAD_COMMON_SINGLETONPTR_H_ - -#include "Initializable.h" -#include "Configurable.h" -#include "ConfigManager.h" - -namespace Mad { -namespace Common { - -template -class SingletonPtr : public virtual Initializable { - private: - T *ptr; - - protected: - virtual void doInit() { - ptr = new T(); - - Initializable *in = dynamic_cast(ptr); - if(in) { - in->initialized = true; - in->doInit(); - } - - Configurable *c = dynamic_cast(ptr); - if(c) - ConfigManager::get()->registerConfigurable(c); - - if(in) { - initializing = false; - initialized = true; - } - } - - virtual void doDeinit() { - Configurable *c = dynamic_cast(ptr); - if(c) - ConfigManager::get()->unregisterConfigurable(c); - - Initializable *in = dynamic_cast(ptr); - if(in) { - in->doDeinit(); - in->initialized = false; - } - - delete ptr; - ptr = 0; - } - - public: - SingletonPtr() : ptr(0) {} - - T *get() { - if(!ptr) - init(); - - return ptr; - } -}; - -} -} - -#endif /* MAD_COMMON_SINGLETONPTR_H_ */ -- cgit v1.2.3