Merge pull request #25959 from neo1973/TagLib_deprecation_warnings
[xbmc.git] / lib / libUPnP / Neptune / Source / System / Apple / NptAppleAutoreleasePool.mm
blobedced155ee14edd887473605cbd748b1e13fb061
1 /*****************************************************************
3 |      Neptune - Autorelease Pool :: Apple Implementation
5 |      (c) 2001-2008 Gilles Boccon-Gibod
6 |      Author: Gilles Boccon-Gibod (bok@bok.net)
8 ****************************************************************/
10 /*----------------------------------------------------------------------
11 |   includes
12 +---------------------------------------------------------------------*/
13 #include <Foundation/Foundation.h>
14 #include "NptAutoreleasePool.h"
16 /*----------------------------------------------------------------------
17 |   AppleAutoReleasePool
18 +---------------------------------------------------------------------*/
19 class AppleAutoreleasePool : public NPT_AutoreleasePoolInterface 
21 public:
22     AppleAutoreleasePool();
23     virtual ~AppleAutoreleasePool();
25 private:
26     NSAutoreleasePool* m_Pool;
29 /*----------------------------------------------------------------------
30 |   AppleAutoreleasePool::AppleAutoreleasePool
31 +---------------------------------------------------------------------*/
32 AppleAutoreleasePool::AppleAutoreleasePool() 
34     m_Pool = [[NSAutoreleasePool alloc] init];
37 /*----------------------------------------------------------------------
38 |   AppleAutoreleasePool::~AppleAutoreleasePool
39 +---------------------------------------------------------------------*/
40 AppleAutoreleasePool::~AppleAutoreleasePool() 
42     [m_Pool drain];
43     m_Pool = NULL;
46 /*----------------------------------------------------------------------
47 |   NPT_AutoreleasePool::NPT_AutoreleasePool
48 +---------------------------------------------------------------------*/
49 NPT_AutoreleasePool::NPT_AutoreleasePool()
51     m_Delegate = new AppleAutoreleasePool;
54 /*----------------------------------------------------------------------
55 |   NPT_AutoreleasePool::~NPT_AutoreleasePool
56 +---------------------------------------------------------------------*/
57 NPT_AutoreleasePool::~NPT_AutoreleasePool()
59     delete m_Delegate;
60     m_Delegate = NULL;