IRCConnection: Make the socket class configurable
This makes using TLS possible. FossilOrigin-Name: 38de3de8ed2056e1116492cc44443d814ff115d85b81ba5c9014d0bf925a0f83
This commit is contained in:
parent
47e0929527
commit
21784a8d30
2 changed files with 13 additions and 2 deletions
|
@ -28,6 +28,8 @@
|
|||
|
||||
@protocol IRCConnectionDelegate <OFObject>
|
||||
@optional
|
||||
- (void)connection: (IRCConnection*)connection
|
||||
didCreateSocket: (OF_KINDOF(OFTCPSocket)*)socket;
|
||||
- (void)connection: (IRCConnection*)connection
|
||||
didReceiveLine: (OFString*)line;
|
||||
- (void)connection: (IRCConnection*)connection
|
||||
|
@ -72,7 +74,8 @@
|
|||
|
||||
@interface IRCConnection: OFObject
|
||||
{
|
||||
OFTCPSocket *_socket;
|
||||
Class _socketClass;
|
||||
OF_KINDOF(OFTCPSocket) *_socket;
|
||||
OFString *_server;
|
||||
uint16_t _port;
|
||||
OFString *_nickname, *_username, *_realname;
|
||||
|
@ -80,6 +83,7 @@
|
|||
id <IRCConnectionDelegate> _delegate;
|
||||
}
|
||||
|
||||
@property (assign) Class socketClass;
|
||||
@property (copy) OFString *server;
|
||||
@property (assign) uint16_t port;
|
||||
@property (copy) OFString *nickname, *username, *realname;
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
#import "IRCUser.h"
|
||||
|
||||
@implementation IRCConnection
|
||||
@synthesize socketClass = _socketClass;
|
||||
@synthesize server = _server, port = _port;
|
||||
@synthesize nickname = _nickname, username = _username, realname = _realname;
|
||||
@synthesize delegate = _delegate, socket = _socket;
|
||||
|
@ -52,6 +53,7 @@
|
|||
self = [super init];
|
||||
|
||||
@try {
|
||||
_socketClass = [OFTCPSocket class];
|
||||
_channels = [[OFMutableDictionary alloc] init];
|
||||
_port = 6667;
|
||||
} @catch (id e) {
|
||||
|
@ -81,7 +83,12 @@
|
|||
if (_socket != nil)
|
||||
@throw [OFAlreadyConnectedException exception];
|
||||
|
||||
_socket = [[OFTCPSocket alloc] init];
|
||||
_socket = [[_socketClass alloc] init];
|
||||
if ([_delegate respondsToSelector:
|
||||
@selector(connection:didCreateSocket:)])
|
||||
[_delegate connection: self
|
||||
didCreateSocket: _socket];
|
||||
|
||||
[_socket connectToHost: _server
|
||||
port: _port];
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue