/* NetLink Sockets: Networking C++ library Copyright 2012 Pedro Francisco Pareja Ruiz (PedroPareja@Gmail.com) This file is part of NetLink Sockets. NetLink Sockets 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. NetLink Sockets 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 NetLink Sockets. If not, see . */ #ifndef __NL_RM #define __NL_RM #include "core.h" #include NL_NAMESPACE using std::vector; /** * @class ReleaseManager release_manager.h netlink/release_manager.h * * Release Manager Class * * Private. For internal use */ template class ReleaseManager { protected: vector _releaseQueue; vector _releaseAddressQueue; void (*_releaseFunction) (T*); public: ReleaseManager(void (*releaseFunction)(T*) = NULL); virtual ~ReleaseManager(); void add(T** var); void add(T* address); }; #include "release_manager.inline.h" NL_NAMESPACE_END #endif