ObjFW  Diff

Differences From Artifact [122bf660e2]:

To Artifact [ed77afb6a3]:


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
69
70
71
72
73
74


75
76
77
78
79
80
81
82


83
84

85
86


87
88

89
90
91
92
93

94
95
96
97
98

99
100
101
102
103

104
105
106
107
108

109
110
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
69
70
71
72


73
74
75
76
77
78
79
80


81
82
83

84
85

86
87
88

89
90
91
92
93

94
95
96
97
98

99
100
101
102
103

104
105
106
107
108

109
110
111







-
+




-
+





-
+











-
-
-
-
+
+
+
+

-
+


-
-
-
-
+
+
+
+










-
-
+
+






-
-
+
+

-
+

-
+
+

-
+




-
+




-
+




-
+




-
+


#import "OFConnectionFailedException.h"
#import "OFString.h"
#import "OFTCPSocket.h"

#import "common.h"

@implementation OFConnectionFailedException
+ (instancetype)exceptionWithClass: (Class)class_
+ (instancetype)exceptionWithClass: (Class)class
			    socket: (OFTCPSocket*)socket
			      host: (OFString*)host
			      port: (uint16_t)port
{
	return [[[self alloc] initWithClass: class_
	return [[[self alloc] initWithClass: class
				     socket: socket
				       host: host
				       port: port] autorelease];
}

- initWithClass: (Class)class_
- initWithClass: (Class)class
{
	@try {
		[self doesNotRecognizeSelector: _cmd];
	} @catch (id e) {
		[self release];
		@throw e;
	}

	abort();
}

- initWithClass: (Class)class_
	 socket: (OFTCPSocket*)socket_
	   host: (OFString*)host_
	   port: (uint16_t)port_
- initWithClass: (Class)class
	 socket: (OFTCPSocket*)socket
	   host: (OFString*)host
	   port: (uint16_t)port
{
	self = [super initWithClass: class_];
	self = [super initWithClass: class];

	@try {
		socket = [socket_ retain];
		host   = [host_ copy];
		port   = port_;
		errNo  = GET_SOCK_ERRNO;
		_socket = [socket retain];
		_host   = [host copy];
		_port   = port;
		_errNo  = GET_SOCK_ERRNO;
	} @catch (id e) {
		[self release];
		@throw e;
	}

	return self;
}

- (void)dealloc
{
	[socket release];
	[host release];
	[_socket release];
	[_host release];

	[super dealloc];
}

- (OFString*)description
{
	if (description != nil)
		return description;
	if (_description != nil)
		return _description;

	description = [[OFString alloc] initWithFormat:
	_description = [[OFString alloc] initWithFormat:
	    @"A connection to %@ on port %" @PRIu16 @" could not be "
	    @"established in class %@! " ERRFMT, host, port, inClass, ERRPARAM];
	    @"established in class %@! " ERRFMT, _host, _port, _inClass,
	    ERRPARAM];

	return description;
	return _description;
}

- (OFTCPSocket*)socket
{
	OF_GETTER(socket, NO)
	OF_GETTER(_socket, NO)
}

- (OFString*)host
{
	OF_GETTER(host, NO)
	OF_GETTER(_host, NO)
}

- (uint16_t)port
{
	return port;
	return _port;
}

- (int)errNo
{
	return errNo;
	return _errNo;
}
@end