Plugins/Displays/WebKit/GrowlWebKitPluginHandler.m
author boredzo
Sun Jul 06 16:43:51 2008 +0000 (2008-07-06)
changeset 4137 a8b169b45c40
parent 3040 e5d20a5500c3
child 4139 442ca737bbcb
permissions -rw-r--r--
Fixed two leaks found by the clang static analyzer.
eridius@2773
     1
//
eridius@2773
     2
//  GrowlWebKitPluginHandler.m
eridius@2773
     3
//  Growl
eridius@2773
     4
//
eridius@2773
     5
//  Created by JKP on 03/11/2005.
ingmarstein@3040
     6
//  Copyright 2005-2006 The Growl Project. All rights reserved.
eridius@2773
     7
//
eridius@2773
     8
eridius@2773
     9
#import "GrowlWebKitPluginHandler.h"
eridius@2773
    10
#import "GrowlWebKitDisplayPlugin.h"
eridius@2773
    11
#import "GrowlPluginController.h"
eridius@2773
    12
eridius@2773
    13
@implementation GrowlWebKitPluginHandler
eridius@2773
    14
eridius@2773
    15
- (id) initSingleton {
ingmarstein@2943
    16
	if ((self = [super initSingleton]))
ingmarstein@2943
    17
		[[GrowlPluginController sharedController] addPluginHandler:self forPluginTypes:[NSSet setWithObject:GROWL_STYLE_EXTENSION]];
ingmarstein@2943
    18
eridius@2773
    19
	return self;
eridius@2773
    20
}
eridius@2773
    21
ingmarstein@2941
    22
- (BOOL) loadPluginAtPath:(NSString *)path {
eridius@2773
    23
	NSBundle *pluginBundle = [[NSBundle alloc] initWithPath:path];
eridius@2773
    24
	if (!pluginBundle) {
eridius@2773
    25
		NSLog(@"%@ Failed to load: %@",NSStringFromClass([self class]),path);
eridius@2773
    26
		return NO;
eridius@2773
    27
	}
boredzo@4137
    28
	[pluginBundle release];
ingmarstein@2943
    29
eridius@2773
    30
	GrowlWebKitDisplayPlugin *instance = [[GrowlWebKitDisplayPlugin alloc] initWithStyleBundle:pluginBundle];
eridius@2773
    31
	if (!instance) {
eridius@2773
    32
		NSLog(@"%@ Failed to load: %@ - the bundle did not contain a valid WebKit plugin",
eridius@2773
    33
			  NSStringFromClass([self class]),
eridius@2773
    34
			  path);
eridius@2773
    35
		return NO;
eridius@2773
    36
	}
ingmarstein@2943
    37
eridius@2773
    38
	[[GrowlPluginController sharedController] addPluginInstance:instance fromBundle:pluginBundle];
boredzo@4137
    39
	[instance release];
eridius@2773
    40
	return YES;
eridius@2773
    41
}
eridius@2773
    42
eridius@2773
    43
eridius@2773
    44
@end