Some more code cleanup

This commit is contained in:
achmizs 2021-12-05 15:27:59 -05:00
parent 7aa921ff20
commit 88b7ef1582
2 changed files with 81 additions and 77 deletions

View File

@ -71,60 +71,6 @@ static NSDictionary* ircNumericCodeList;
return [self new]; return [self new];
} }
/*************************************/
#pragma mark - Useful helper functions
/*************************************/
+(NSData *) nickFromNickUserHost:(NSData *)nickUserHost {
if (nickUserHost == nil)
return nil;
NSRange rangeOfNickUserSeparator = [nickUserHost rangeOfData:[NSData dataFromCString:"!"]
options:(NSDataSearchOptions) 0
range:NSRangeMake(0, nickUserHost.length)];
return (rangeOfNickUserSeparator.location == NSNotFound
? nickUserHost
: [nickUserHost subdataWithRange:NSRangeMake(0, rangeOfNickUserSeparator.location)]);
}
+(NSData *) userFromNickUserHost:(NSData *)nickUserHost {
if (nickUserHost == nil)
return nil;
NSRange rangeOfNickUserSeparator = [nickUserHost rangeOfData:[NSData dataFromCString:"!"]
options:(NSDataSearchOptions) 0
range:NSRangeMake(0, nickUserHost.length)];
NSRange rangeOfUserHostSeparator = [nickUserHost rangeOfData:[NSData dataFromCString:"@"]
options:(NSDataSearchOptions) 0
range:NSRangeMake(0, nickUserHost.length)];
return (( rangeOfNickUserSeparator.location == NSNotFound
|| rangeOfUserHostSeparator.location == NSNotFound)
? [NSData data]
: [nickUserHost subdataWithRange:NSRangeMake(rangeOfNickUserSeparator.location + 1,
rangeOfUserHostSeparator.location - (rangeOfNickUserSeparator.location + 1))]);
}
+(NSData *) hostFromNickUserHost:(NSData *)nickUserHost {
if (nickUserHost == nil)
return nil;
NSRange rangeOfUserHostSeparator = [nickUserHost rangeOfData:[NSData dataFromCString:"@"]
options:(NSDataSearchOptions) 0
range:NSRangeMake(0, nickUserHost.length)];
return (rangeOfUserHostSeparator.location == NSNotFound
? [NSData data]
: [nickUserHost subdataWithRange:NSRangeMake(rangeOfUserHostSeparator.location + 1,
nickUserHost.length - (rangeOfUserHostSeparator.location + 1))]);
}
/***************************/
#pragma mark - Class methods
/***************************/
-(instancetype) init { -(instancetype) init {
if (!(self = [super init])) if (!(self = [super init]))
return nil; return nil;
@ -194,6 +140,60 @@ static NSDictionary* ircNumericCodeList;
irc_destroy_session(_irc_session); irc_destroy_session(_irc_session);
} }
/***************************/
#pragma mark - Class methods
/***************************/
+(NSData *) nickFromNickUserHost:(NSData *)nickUserHost {
if (nickUserHost == nil)
return nil;
NSRange rangeOfNickUserSeparator = [nickUserHost rangeOfData:[NSData dataFromCString:"!"]
options:(NSDataSearchOptions) 0
range:NSRangeMake(0, nickUserHost.length)];
return (rangeOfNickUserSeparator.location == NSNotFound
? nickUserHost
: [nickUserHost subdataWithRange:NSRangeMake(0, rangeOfNickUserSeparator.location)]);
}
+(NSData *) userFromNickUserHost:(NSData *)nickUserHost {
if (nickUserHost == nil)
return nil;
NSRange rangeOfNickUserSeparator = [nickUserHost rangeOfData:[NSData dataFromCString:"!"]
options:(NSDataSearchOptions) 0
range:NSRangeMake(0, nickUserHost.length)];
NSRange rangeOfUserHostSeparator = [nickUserHost rangeOfData:[NSData dataFromCString:"@"]
options:(NSDataSearchOptions) 0
range:NSRangeMake(0, nickUserHost.length)];
return (( rangeOfNickUserSeparator.location == NSNotFound
|| rangeOfUserHostSeparator.location == NSNotFound)
? [NSData data]
: [nickUserHost subdataWithRange:NSRangeMake(rangeOfNickUserSeparator.location + 1,
rangeOfUserHostSeparator.location - (rangeOfNickUserSeparator.location + 1))]);
}
+(NSData *) hostFromNickUserHost:(NSData *)nickUserHost {
if (nickUserHost == nil)
return nil;
NSRange rangeOfUserHostSeparator = [nickUserHost rangeOfData:[NSData dataFromCString:"@"]
options:(NSDataSearchOptions) 0
range:NSRangeMake(0, nickUserHost.length)];
return (rangeOfUserHostSeparator.location == NSNotFound
? [NSData data]
: [nickUserHost subdataWithRange:NSRangeMake(rangeOfUserHostSeparator.location + 1,
nickUserHost.length - (rangeOfUserHostSeparator.location + 1))]);
}
/*************************************/
#pragma mark - Class methods (private)
/*************************************/
+(void) loadNumericCodes { +(void) loadNumericCodes {
NSString* numericCodeListPath = [[NSBundle bundleForClass:[self class]] pathForResource:@"IRC_Numerics" NSString* numericCodeListPath = [[NSBundle bundleForClass:[self class]] pathForResource:@"IRC_Numerics"
ofType:@"plist"]; ofType:@"plist"];
@ -205,6 +205,10 @@ static NSDictionary* ircNumericCodeList;
} }
} }
/******************************/
#pragma mark - Instance methods
/******************************/
-(int) connect { -(int) connect {
return irc_connect(_irc_session, return irc_connect(_irc_session,
_server.terminatedCString, _server.terminatedCString,

View File

@ -61,7 +61,7 @@ properties, and call `-[connect:]` to connect to the server and `-[run:]` to pla
the connection on a new event queue and start receiving events. For example: the connection on a new event queue and start receiving events. For example:
``` ```
IRCClientSession *session = [IRCClientSession new]; IRCClientSession *session = [IRCClientSession session];
MyIRCClientSessionDelegate *controller = [[MyIRCClientSessionDelegate alloc] init]; MyIRCClientSessionDelegate *controller = [[MyIRCClientSessionDelegate alloc] init];
session.delegate = controller; session.delegate = controller;