Parcourir la source

VLCKit: migrate VLCExtensionsManager to ARC

Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
Florent Pillet il y a 11 ans
Parent
commit
f2b24adb0b
2 fichiers modifiés avec 8 ajouts et 14 suppressions
  1. 1 1
      Headers/Public/VLCExtensionsManager.h
  2. 7 13
      Sources/VLCExtensionsManager.m

+ 1 - 1
Headers/Public/VLCExtensionsManager.h

@@ -35,5 +35,5 @@
 - (NSArray *)extensions;
 - (void)runExtension:(VLCExtension *)extension;
 
-@property (readwrite, retain) VLCMediaPlayer *mediaPlayer;
+@property (readwrite, strong) VLCMediaPlayer *mediaPlayer;
 @end

+ 7 - 13
Sources/VLCExtensionsManager.m

@@ -56,16 +56,16 @@ static vlc_object_t *libvlc_get_vlc_instance(libvlc_instance_t *instance)
 
 #define _instance ((extensions_manager_t *)instance)
 
+
 @implementation VLCExtensionsManager
-static VLCExtensionsManager *sharedManager = nil;
 
 + (VLCExtensionsManager *)sharedManager
 {
-    if (!sharedManager)
-    {
-        /* Initialize a shared instance */
+    static VLCExtensionsManager *sharedManager;
+    static dispatch_once_t onceToken;
+    dispatch_once(&onceToken, ^{
         sharedManager = [[self alloc] init];
-    }
+    });
     return sharedManager;
 }
 
@@ -75,9 +75,6 @@ static VLCExtensionsManager *sharedManager = nil;
     vlc_object_release(_instance);
 
     [[NSNotificationCenter defaultCenter] removeObserver:self];
-
-    [_extensions release];
-    [super dealloc];
 }
 
 - (NSArray *)extensions
@@ -104,9 +101,7 @@ static VLCExtensionsManager *sharedManager = nil;
     extension_t *ext;
     vlc_mutex_lock(&_instance->lock);
     FOREACH_ARRAY(ext, _instance->extensions)
-        VLCExtension *extension = [[VLCExtension alloc] initWithInstance:ext];
-        [_extensions addObject:extension];
-        [extension release];
+        [_extensions addObject:[[VLCExtension alloc] initWithInstance:ext]];
     FOREACH_END()
     vlc_mutex_unlock(&_instance->lock);
     return _extensions;
@@ -153,8 +148,7 @@ static VLCExtensionsManager *sharedManager = nil;
     NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
     [center removeObserver:self name:VLCMediaPlayerStateChanged object:_player];
 
-    [_player release];
-    _player = [player retain];
+    _player = player;
 
     [self mediaPlayerLikelyChangedInput];