summaryrefslogtreecommitdiff
path: root/swift/src/IceObjc/Exception.h
blob: cdffcd6c0154aa2a43d1ebb79a2176d3dc9e4354 (plain)
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
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@protocol ICEExceptionFactory
+(NSError*) initializationException:(NSString*)reason file:(NSString*)file line:(size_t)line;
+(NSError*) pluginInitializationException:(NSString*)reason file:(NSString*)file line:(size_t)line;
+(NSError*) collocationOptimizationException:(NSString*)file line:(size_t)line;
+(NSError*) alreadyRegisteredException:(NSString*)kindOfObject id:(NSString*)id file:(NSString*)file line:(size_t)line;
+(NSError*) notRegisteredException:(NSString*)kindOfObject id:(NSString*)id file:(NSString*)file line:(size_t)line;
+(NSError*) twowayOnlyException:(NSString*)operation file:(NSString*)file line:(size_t)line;
+(NSError*) cloneNotImplementedException:(NSString*)file line:(size_t)line;
+(NSError*) versionMismatchException:(NSString*)file line:(size_t)line;
+(NSError*) communicatorDestroyedException:(NSString*)file line:(size_t)line;
+(NSError*) objectAdapterDeactivatedException:(NSString*)name file:(NSString*)file line:(size_t)line;
+(NSError*) objectAdapterIdInUseException:(NSString*)id file:(NSString*)file line:(size_t)line NS_SWIFT_NAME(objectAdapterIdInUseException(_:file:line:));
+(NSError*) noEndpointException:(NSString*)proxy file:(NSString*)file line:(size_t)line;
+(NSError*) endpointParseException:(NSString*)str file:(NSString*)file line:(size_t)line;
+(NSError*) endpointSelectionTypeParseException:(NSString*)str file:(NSString*)file line:(size_t)line;
+(NSError*) versionParseException:(NSString*)str file:(NSString*)file line:(size_t)line;
+(NSError*) identityParseException:(NSString*)str file:(NSString*)file line:(size_t)line;
+(NSError*) proxyParseException:(NSString*)str file:(NSString*)file line:(size_t)line;
+(NSError*) illegalIdentityException:(NSString*)name category:(NSString*)category file:(NSString*)file line:(size_t)line;
+(NSError*) illegalServantException:(NSString*)reason file:(NSString*)file line:(size_t)line;
+(NSError*) dNSException:(int32_t)error host:(NSString*)host file:(NSString*)file line:(size_t)line;
+(NSError*) operationInterruptedException:(NSString*)file line:(size_t)line;
+(NSError*) invocationCanceledException:(NSString*)file line:(size_t)line;
+(NSError*) featureNotSupportedException:(NSString*)unsupportedFeature file:(NSString*)file line:(size_t)line;
+(NSError*) fixedProxyException:(NSString*)file line:(size_t)line;
+(NSError*) responseSentException:(NSString*)file line:(size_t)line;
+(NSError*) securityException:(NSString*)reason file:(NSString*)file line:(size_t)line;
+(NSError*) localException:(NSString*)file line:(size_t)line;

// UnknownException
+(NSError*) unknownLocalException:(NSString*)unknown file:(NSString*)file line:(size_t)line;
+(NSError*) unknownUserException:(NSString*)unknown file:(NSString*)file line:(size_t)line;
+(NSError*) unknownException:(NSString*)unknown file:(NSString*)file line:(size_t)line;

// RequestFailedException
+(NSError*) objectNotExistException:(NSString*)name category:(NSString*)category facet:(NSString*)facet operation:(NSString*)operation file:(NSString*)file line:(size_t)line;
+(NSError*) facetNotExistException:(NSString*)name category:(NSString*)category facet:(NSString*)facet operation:(NSString*)operation file:(NSString*)file line:(size_t)line;
+(NSError*) operationNotExistException:(NSString*)name category:(NSString*)category facet:(NSString*)facet operation:(NSString*)operation file:(NSString*)file line:(size_t)line;
+(NSError*) requestFailedException:(NSString*)name category:(NSString*)category facet:(NSString*)facet operation:(NSString*)operation file:(NSString*)file line:(size_t)line;

// SyscallException
+(NSError*) connectionRefusedException:(int32_t)error file:(NSString*)file line:(size_t)line; // ConnectFailedException: SyscallException
+(NSError*) fileException:(int32_t)error path:(NSString*)path file:(NSString*)file line:(size_t)line;
+(NSError*) connectFailedException:(int32_t)error file:(NSString*)file line:(size_t)line;
+(NSError*) connectionLostException:(int32_t)error file:(NSString*)file line:(size_t)line;
+(NSError*) socketException:(int32_t)error file:(NSString*)file line:(size_t)line;
+(NSError*) syscallException:(int32_t)error file:(NSString*)file line:(size_t)line;

// TimeoutException
+(NSError*) connectTimeoutException:(NSString*)file line:(size_t)line;
+(NSError*) closeTimeoutException:(NSString*)file line:(size_t)line;
+(NSError*) connectionTimeoutException:(NSString*)file line:(size_t)line;
+(NSError*) invocationTimeoutException:(NSString*)file line:(size_t)line;
+(NSError*) timeoutException:(NSString*)file line:(size_t)line;

// ProtocolException
+(NSError*) badMagicException:(NSString*)reason badMagic:(NSData*)badMagic file:(NSString*)file line:(size_t)line;
+(NSError*) unsupportedProtocolException:(NSString*)reason badMajor:(uint8_t)badMajor badMinor:(uint8_t)badMinor supportedMajor:(uint8_t)supportedMajor supportedMinor:(uint8_t)supportedMinor file:(NSString*)file line:(size_t)line;
+(NSError*) unsupportedEncodingException:(NSString*)reason badMajor:(uint8_t)badMajor badMinor:(uint8_t)badMinor supportedMajor:(uint8_t)supportedMajor supportedMinor:(uint8_t)supportedMinor file:(NSString*)file line:(size_t)line;
+(NSError*) unknownMessageException:(NSString*)reason file:(NSString*)file line:(size_t)line;
+(NSError*) connectionNotValidatedException:(NSString*)reason file:(NSString*)file line:(size_t)line;
+(NSError*) unknownRequestIdException:(NSString*)reason file:(NSString*)file line:(size_t)line;
+(NSError*) unknownReplyStatusException:(NSString*)reason file:(NSString*)file line:(size_t)line;
+(NSError*) closeConnectionException:(NSString*)reason file:(NSString*)file line:(size_t)line;
+(NSError*) connectionManuallyClosedException:(BOOL)graceful file:(NSString*)file line:(size_t)line;
+(NSError*) illegalMessageSizeException:(NSString*)reason file:(NSString*)file line:(size_t)line;
+(NSError*) compressionException:(NSString*)reason file:(NSString*)file line:(size_t)line;
+(NSError*) datagramLimitException:(NSString*)reason file:(NSString*)file line:(size_t)line;
// ProtocolException/MarshalException
+(NSError*) proxyUnmarshalException:(NSString*)reason file:(NSString*)file line:(size_t)line;
+(NSError*) unmarshalOutOfBoundsException:(NSString*)reason file:(NSString*)file line:(size_t)line NS_SWIFT_NAME(unmarshalOutofBoundsException(_:file:line:));
+(NSError*) noValueFactoryException:(NSString*)reason type:(NSString*)type file:(NSString*)file line:(size_t)line;
+(NSError*) unexpectedObjectException:(NSString*)reason type:(NSString*)type expectedType:(NSString*)expectedType file:(NSString*)file line:(size_t)line;
+(NSError*) memoryLimitException:(NSString*)reason file:(NSString*)file line:(size_t)line;
+(NSError*) stringConversionException:(NSString*)reason file:(NSString*)file line:(size_t)line;
+(NSError*) encapsulationException:(NSString*)reason file:(NSString*)file line:(size_t)line;
+(NSError*) marshalException:(NSString*)reason file:(NSString*)file line:(size_t)line;
+(NSError*) protocolException:(NSString*)reason file:(NSString*)file line:(size_t)line;

// For generic std::exception
+(NSError*) runtimeError:(NSString*)message;
@end

@interface ICERuntimeException : NSObject
@property NSString* file;
@property int line;
@end

//
// Request Failed exceptions
//
@interface ICERequestFailedException : ICERuntimeException
@property (nonatomic) NSString* name;
@property (nonatomic) NSString* category;
@property (nonatomic) NSString* facet;
@property (nonatomic) NSString* operation;
@end

@interface ICEObjectNotExistException : ICERequestFailedException
@end

@interface ICEFacetNotExistException : ICERequestFailedException
@end

@interface ICEOperationNotExistException : ICERequestFailedException
@end

//
// Unknown exceptions
//
@interface ICEUnknownException : ICERuntimeException
@property (nonatomic) NSString* unknown;
@end

@interface ICEUnknownLocalException : ICEUnknownException
@end

@interface ICEUnknownUserException : ICEUnknownException
@end

NS_ASSUME_NONNULL_END