[vlc-devel] [PATCH 10/13] VLCKit: migrate VLCExtensionsManager to ARC
Florent Pillet
fpillet at gmail.com
Mon Jul 7 12:41:25 CEST 2014
---
Headers/Public/VLCExtensionsManager.h | 2 +-
Sources/VLCExtensionsManager.m | 20 +++++++-------------
2 files changed, 8 insertions(+), 14 deletions(-)
diff --git a/Headers/Public/VLCExtensionsManager.h b/Headers/Public/VLCExtensionsManager.h
index 19bd429..58bad02 100644
--- a/Headers/Public/VLCExtensionsManager.h
+++ b/Headers/Public/VLCExtensionsManager.h
@@ -35,5 +35,5 @@
- (NSArray *)extensions;
- (void)runExtension:(VLCExtension *)extension;
- at property (readwrite, retain) VLCMediaPlayer *mediaPlayer;
+ at property (readwrite, strong) VLCMediaPlayer *mediaPlayer;
@end
diff --git a/Sources/VLCExtensionsManager.m b/Sources/VLCExtensionsManager.m
index 17709d4..1ffdba1 100644
--- a/Sources/VLCExtensionsManager.m
+++ b/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];
--
1.8.5.2 (Apple Git-48)
More information about the vlc-devel
mailing list