1 //
2 // Copyright (c) ZeroC, Inc. All rights reserved.
3 //
4 
5 #import <objc/Ice/Config.h>
6 
7 #import <Foundation/NSException.h>
8 
9 //
10 // Forward declarations
11 //
12 @protocol ICEOutputStream;
13 @protocol ICEInputStream;
14 @protocol ICESlicedData;
15 
16 @class NSCoder;
17 
18 ICE_API @interface ICEException : NSException
19 -(NSString*)ice_name ICE_DEPRECATED_API("ice_name() is deprecated use ice_id() instead.");
20 -(NSString*)ice_id;
21 @end
22 
23 ICE_API @interface ICELocalException : ICEException
24 {
25 @protected
26     const char* file;
27     int line;
28 }
29 
30 @property(nonatomic, readonly) NSString* file;
31 @property(nonatomic, readonly) int line;
32 
33 -(id)init:(const char*)file line:(int)line;
34 -(id)init:(const char*)file line:(int)line reason:(NSString*)reason;
35 +(id)localException:(const char*)file line:(int)line;
36 @end
37 
38 ICE_API @interface ICEUserException : ICEException
39 -(id<ICESlicedData>)ice_getSlicedData;
40 -(BOOL)iceUsesClasses;
41 -(void)iceWrite:(id<ICEOutputStream>)stream;
42 -(void) iceWriteImpl:(id<ICEOutputStream>)os;
43 -(void)iceRead:(id<ICEInputStream>)stream;
44 -(void) iceReadImpl:(id<ICEInputStream>)is;
45 @end
46