diff options
Diffstat (limited to '')
-rw-r--r-- | lib/libUPnP/Neptune/Source/System/Apple/NptAppleAutoreleasePool.mm | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/lib/libUPnP/Neptune/Source/System/Apple/NptAppleAutoreleasePool.mm b/lib/libUPnP/Neptune/Source/System/Apple/NptAppleAutoreleasePool.mm new file mode 100644 index 0000000..edced15 --- /dev/null +++ b/lib/libUPnP/Neptune/Source/System/Apple/NptAppleAutoreleasePool.mm @@ -0,0 +1,61 @@ +/***************************************************************** +| +| Neptune - Autorelease Pool :: Apple Implementation +| +| (c) 2001-2008 Gilles Boccon-Gibod +| Author: Gilles Boccon-Gibod (bok@bok.net) +| +****************************************************************/ + +/*---------------------------------------------------------------------- +| includes ++---------------------------------------------------------------------*/ +#include <Foundation/Foundation.h> +#include "NptAutoreleasePool.h" + +/*---------------------------------------------------------------------- +| AppleAutoReleasePool ++---------------------------------------------------------------------*/ +class AppleAutoreleasePool : public NPT_AutoreleasePoolInterface +{ +public: + AppleAutoreleasePool(); + virtual ~AppleAutoreleasePool(); + +private: + NSAutoreleasePool* m_Pool; +}; + +/*---------------------------------------------------------------------- +| AppleAutoreleasePool::AppleAutoreleasePool ++---------------------------------------------------------------------*/ +AppleAutoreleasePool::AppleAutoreleasePool() +{ + m_Pool = [[NSAutoreleasePool alloc] init]; +} + +/*---------------------------------------------------------------------- +| AppleAutoreleasePool::~AppleAutoreleasePool ++---------------------------------------------------------------------*/ +AppleAutoreleasePool::~AppleAutoreleasePool() +{ + [m_Pool drain]; + m_Pool = NULL; +} + +/*---------------------------------------------------------------------- +| NPT_AutoreleasePool::NPT_AutoreleasePool ++---------------------------------------------------------------------*/ +NPT_AutoreleasePool::NPT_AutoreleasePool() +{ + m_Delegate = new AppleAutoreleasePool; +} + +/*---------------------------------------------------------------------- +| NPT_AutoreleasePool::~NPT_AutoreleasePool ++---------------------------------------------------------------------*/ +NPT_AutoreleasePool::~NPT_AutoreleasePool() +{ + delete m_Delegate; + m_Delegate = NULL; +} |