blob: 7736502edd898e1ed17f5ea9615f044cabb09165 (
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
|
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//
#import "Config.h"
@class ICEConnection;
@class ICEObjectAdapter;
@class ICERuntimeException;
NS_ASSUME_NONNULL_BEGIN
typedef void (^ICEBlobjectResponse) (bool, const void*, long);
typedef void (^ICEBlobjectException) (ICERuntimeException*);
ICEIMPL_API @protocol ICEBlobjectFacade
-(void) facadeInvoke:(ICEObjectAdapter*)adapter
inEncapsBytes:(void*)inEncapsBytes
inEncapsCount:(long)inEncapsCount
con:(ICEConnection* _Nullable)con
name:(NSString*)name
category:(NSString*)category
facet:(NSString*)facet
operation:(NSString*)operation
mode:(uint8_t)mode
context:(NSDictionary<NSString*, NSString*>*)context
requestId:(int32_t)requestId
encodingMajor:(uint8_t)encodingMajor
encodingMinor:(uint8_t)encodingMinor
response:(ICEBlobjectResponse)response
exception:(ICEBlobjectException)exception;
-(void) facadeRemoved;
@end
#ifdef __cplusplus
class BlobjectFacade : public Ice::BlobjectArrayAsync
{
public:
BlobjectFacade(id<ICEBlobjectFacade> facade): _facade(facade)
{
}
~BlobjectFacade()
{
[_facade facadeRemoved];
}
virtual void
ice_invokeAsync(std::pair<const Byte*, const Byte*> inEncaps,
std::function<void(bool, const std::pair<const Byte*, const Byte*>&)> response,
std::function<void(std::exception_ptr)> error,
const Ice::Current& current);
id<ICEBlobjectFacade> getFacade() const
{
return _facade;
}
private:
id<ICEBlobjectFacade> _facade;
};
#endif
NS_ASSUME_NONNULL_END
|