Merge pull request #4775 from jmarshallnz/empty_episode_playcount
[vuplus_xbmc] / xbmc / osx / AutoPool.mm
1 /*
2  *      Copyright (C) 2009-2013 Team XBMC
3  *      http://xbmc.org
4  *
5  *  This Program is free software; you can redistribute it and/or modify
6  *  it under the terms of the GNU General Public License as published by
7  *  the Free Software Foundation; either version 2, or (at your option)
8  *  any later version.
9  *
10  *  This Program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  *  GNU General Public License for more details.
14  *
15  *  You should have received a copy of the GNU General Public License
16  *  along with XBMC; see the file COPYING.  If not, see
17  *  <http://www.gnu.org/licenses/>.
18  *
19  */
20
21 #if defined(TARGET_DARWIN)
22 #if defined(TARGET_DARWIN_IOS)
23   #import <Foundation/Foundation.h>
24 #else
25   #import <Cocoa/Cocoa.h>
26 #endif
27
28 #import "osx/AutoPool.h"
29
30 CCocoaAutoPool::CCocoaAutoPool()
31 {
32   m_opaque_pool = [[NSAutoreleasePool alloc] init];
33 }
34 CCocoaAutoPool::~CCocoaAutoPool()
35 {
36   [(NSAutoreleasePool*)m_opaque_pool release];
37 }
38
39 void* Cocoa_Create_AutoReleasePool(void)
40 {
41   // Original Author: Elan Feingold
42         // Create an autorelease pool (necessary to call Obj-C code from non-Obj-C code)
43   NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
44   return pool;
45 }
46
47 void Cocoa_Destroy_AutoReleasePool(void* aPool)
48 {
49   // Original Author: Elan Feingold
50   NSAutoreleasePool* pool = (NSAutoreleasePool* )aPool;
51   [pool release];
52 }
53 #endif