-
Notifications
You must be signed in to change notification settings - Fork 72
/
CKConnectionRegistry.h
52 lines (41 loc) · 2.02 KB
/
CKConnectionRegistry.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//
// CKConnectionRegistry.h
// Connection
//
// Created by Mike on 05/12/2008.
// Copyright 2008 Karelia Software. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "CKConnectionProtocol.h"
@interface CKConnectionRegistry : NSObject
{
@private
NSMutableDictionary *_connectionClassesByName;
NSMutableDictionary *_connectionClassesByURLScheme;
}
+ (CKConnectionRegistry *)sharedConnectionRegistry;
#pragma mark Connection class registration
- (Class <CKConnection>)connectionClassForURLScheme:(NSString *)URLScheme;
- (Class <CKConnection>)connectionClassForName:(NSString *)connectionName;
/*!
@method registerClass:forURLScheme:
@abstract Registers a connection class.
@discussion The connection's name is automatically registered for you.
@param connectionClass The class implementing the CKConnection protocol to register.
@param URLScheme Optional. The URL scheme to register the connection for. Call this method agin if you need to register more than one URL scheme.
*/
- (void)registerClass:(Class <CKPublishingConnection>)connectionClass forName:(NSString *)name URLScheme:(NSString *)URLScheme;
- (CKConnectionRequest *)connectionRequestForName:(NSString *)name host:(NSString *)host port:(NSNumber *)port;
#pragma mark Creating a connection
/*!
@method connectionWithRequest:delegate:
@abstract Locates the connection class that corresponds with the URL and then creates one.
@param request The request to create a connection for.
@param delegate The initial delegate for the connection.
@result An initialized connection, or nil if no suitable class could be found.
*/
- (id <CKPublishingConnection>)connectionWithRequest:(CKConnectionRequest *)request;
// These 2 methods are for compatibility with legacy code
- (id <CKConnection>)connectionWithName:(NSString *)name host:(NSString *)host port:(NSNumber *)port;
- (id <CKConnection>)connectionWithName:(NSString *)name host:(NSString *)host port:(NSNumber *)port user:(NSString *)username password:(NSString *)password error:(NSError **)error;
@end