Differences From Artifact [c1844d2c7e]:
- File src/exceptions/OFAddressTranslationFailedException.m — part of check-in [3b97fc3cd9] at 2014-01-04 00:24:08 on branch trunk — Update copyright. (user: js, size: 3050) [annotate] [blame] [check-ins using]
To Artifact [9b225aa65d]:
- File
src/exceptions/OFAddressTranslationFailedException.m
— part of check-in
[8d2a5052fd]
at
2014-01-25 17:39:13
on branch trunk
— Generalize stream / socket related exceptions
This is in preparation for adding UDP sockets, as UDP sockets and TCP
sockets have no common superclass, as one is stream-oriented while the
other is packet-oriented.Read and write exceptions are for any object now, as they are useful for
a lot more than just for streams, while the others (bind, listen, etc.)
are for any socket now (the type is id in this case, though, as there is
no common superclass). (user: js, size: 2976) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #include "config.h" #import "OFAddressTranslationFailedException.h" #import "OFString.h" | < | | | | | 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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | * file. */ #include "config.h" #import "OFAddressTranslationFailedException.h" #import "OFString.h" #import "common.h" #import "macros.h" @implementation OFAddressTranslationFailedException + (instancetype)exceptionWithSocket: (id)socket { return [[[self alloc] initWithSocket: socket] autorelease]; } + (instancetype)exceptionWithHost: (OFString*)host { return [[[self alloc] initWithHost: host] autorelease]; } + (instancetype)exceptionWithHost: (OFString*)host socket: (id)socket { return [[[self alloc] initWithHost: host socket: socket] autorelease]; } - init { OF_INVALID_INIT_METHOD } - initWithSocket: (id)socket { return [self initWithHost: nil socket: socket]; } - initWithHost: (OFString*)host { return [self initWithHost: host socket: nil]; } - initWithHost: (OFString*)host socket: (id)socket { self = [super init]; @try { _host = [host copy]; _socket = [socket retain]; _errNo = GET_AT_ERRNO; |
︙ | ︙ | |||
112 113 114 115 116 117 118 | } - (OFString*)host { OF_GETTER(_host, true) } | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | } - (OFString*)host { OF_GETTER(_host, true) } - (id)socket { OF_GETTER(_socket, true) } - (int)errNo { #ifdef _WIN32 return of_wsaerr_to_errno(_errNo); #else return _errNo; #endif } @end |