zeroc-ice-x86-mingw 3.6b1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +7 -0
  2. data/ICE_LICENSE +54 -0
  3. data/LICENSE +339 -0
  4. data/bin/slice2rb +17 -0
  5. data/ice-x86-mingw.gemspec +41 -0
  6. data/lib/Glacier2.rb +12 -0
  7. data/lib/Glacier2/Metrics.rb +99 -0
  8. data/lib/Glacier2/PermissionsVerifier.rb +168 -0
  9. data/lib/Glacier2/PermissionsVerifierF.rb +34 -0
  10. data/lib/Glacier2/Router.rb +141 -0
  11. data/lib/Glacier2/RouterF.rb +29 -0
  12. data/lib/Glacier2/SSLInfo.rb +79 -0
  13. data/lib/Glacier2/Session.rb +470 -0
  14. data/lib/Ice.rb +659 -0
  15. data/lib/Ice/BuiltinSequences.rb +64 -0
  16. data/lib/Ice/Communicator.rb +93 -0
  17. data/lib/Ice/CommunicatorF.rb +28 -0
  18. data/lib/Ice/Connection.rb +414 -0
  19. data/lib/Ice/ConnectionF.rb +36 -0
  20. data/lib/Ice/Current.rb +152 -0
  21. data/lib/Ice/Endpoint.rb +265 -0
  22. data/lib/Ice/EndpointF.rb +52 -0
  23. data/lib/Ice/EndpointTypes.rb +77 -0
  24. data/lib/Ice/FacetMap.rb +28 -0
  25. data/lib/Ice/Identity.rb +70 -0
  26. data/lib/Ice/ImplicitContext.rb +59 -0
  27. data/lib/Ice/ImplicitContextF.rb +28 -0
  28. data/lib/Ice/Instrumentation.rb +425 -0
  29. data/lib/Ice/InstrumentationF.rb +35 -0
  30. data/lib/Ice/LocalException.rb +1081 -0
  31. data/lib/Ice/Locator.rb +314 -0
  32. data/lib/Ice/LocatorF.rb +34 -0
  33. data/lib/Ice/Logger.rb +57 -0
  34. data/lib/Ice/LoggerF.rb +28 -0
  35. data/lib/Ice/Metrics.rb +696 -0
  36. data/lib/Ice/ObjectAdapterF.rb +28 -0
  37. data/lib/Ice/ObjectFactory.rb +53 -0
  38. data/lib/Ice/ObjectFactoryF.rb +28 -0
  39. data/lib/Ice/Plugin.rb +87 -0
  40. data/lib/Ice/PluginF.rb +32 -0
  41. data/lib/Ice/Process.rb +93 -0
  42. data/lib/Ice/ProcessF.rb +29 -0
  43. data/lib/Ice/Properties.rb +65 -0
  44. data/lib/Ice/PropertiesAdmin.rb +104 -0
  45. data/lib/Ice/PropertiesF.rb +33 -0
  46. data/lib/Ice/Router.rb +163 -0
  47. data/lib/Ice/RouterF.rb +29 -0
  48. data/lib/Ice/SliceChecksumDict.rb +28 -0
  49. data/lib/Ice/Version.rb +100 -0
  50. data/lib/IceBox.rb +10 -0
  51. data/lib/IceBox/IceBox.rb +272 -0
  52. data/lib/IceGrid.rb +17 -0
  53. data/lib/IceGrid/Admin.rb +1076 -0
  54. data/lib/IceGrid/Descriptor.rb +1505 -0
  55. data/lib/IceGrid/Exception.rb +401 -0
  56. data/lib/IceGrid/FileParser.rb +105 -0
  57. data/lib/IceGrid/Locator.rb +105 -0
  58. data/lib/IceGrid/Observer.rb +571 -0
  59. data/lib/IceGrid/Query.rb +168 -0
  60. data/lib/IceGrid/Registry.rb +120 -0
  61. data/lib/IceGrid/Session.rb +114 -0
  62. data/lib/IceGrid/UserAccountMapper.rb +101 -0
  63. data/lib/IcePatch2.rb +10 -0
  64. data/lib/IcePatch2/FileInfo.rb +75 -0
  65. data/lib/IcePatch2/FileServer.rb +141 -0
  66. data/lib/IceRuby.so +0 -0
  67. data/lib/IceStorm.rb +11 -0
  68. data/lib/IceStorm/IceStorm.rb +463 -0
  69. data/lib/IceStorm/Metrics.rb +155 -0
  70. data/slice/Freeze/BackgroundSaveEvictor.ice +111 -0
  71. data/slice/Freeze/CatalogData.ice +49 -0
  72. data/slice/Freeze/Connection.ice +111 -0
  73. data/slice/Freeze/ConnectionF.ice +20 -0
  74. data/slice/Freeze/DB.ice +37 -0
  75. data/slice/Freeze/Evictor.ice +339 -0
  76. data/slice/Freeze/EvictorF.ice +22 -0
  77. data/slice/Freeze/EvictorStorage.ice +72 -0
  78. data/slice/Freeze/Exception.ice +100 -0
  79. data/slice/Freeze/Transaction.ice +57 -0
  80. data/slice/Freeze/TransactionalEvictor.ice +50 -0
  81. data/slice/Glacier2/Metrics.ice +77 -0
  82. data/slice/Glacier2/PermissionsVerifier.ice +105 -0
  83. data/slice/Glacier2/PermissionsVerifierF.ice +21 -0
  84. data/slice/Glacier2/Router.ice +178 -0
  85. data/slice/Glacier2/RouterF.ice +20 -0
  86. data/slice/Glacier2/SSLInfo.ice +50 -0
  87. data/slice/Glacier2/Session.ice +273 -0
  88. data/slice/Ice/BuiltinSequences.ice +48 -0
  89. data/slice/Ice/Communicator.ice +567 -0
  90. data/slice/Ice/CommunicatorF.ice +20 -0
  91. data/slice/Ice/Connection.ice +323 -0
  92. data/slice/Ice/ConnectionF.ice +22 -0
  93. data/slice/Ice/Current.ice +160 -0
  94. data/slice/Ice/Endpoint.ice +227 -0
  95. data/slice/Ice/EndpointF.ice +32 -0
  96. data/slice/Ice/EndpointTypes.ice +38 -0
  97. data/slice/Ice/FacetMap.ice +25 -0
  98. data/slice/Ice/Identity.ice +59 -0
  99. data/slice/Ice/ImplicitContext.ice +109 -0
  100. data/slice/Ice/ImplicitContextF.ice +20 -0
  101. data/slice/Ice/Instrumentation.ice +499 -0
  102. data/slice/Ice/InstrumentationF.ice +26 -0
  103. data/slice/Ice/LocalException.ice +1015 -0
  104. data/slice/Ice/Locator.ice +227 -0
  105. data/slice/Ice/LocatorF.ice +21 -0
  106. data/slice/Ice/Logger.ice +86 -0
  107. data/slice/Ice/LoggerF.ice +20 -0
  108. data/slice/Ice/Metrics.ice +422 -0
  109. data/slice/Ice/ObjectAdapter.ice +673 -0
  110. data/slice/Ice/ObjectAdapterF.ice +20 -0
  111. data/slice/Ice/ObjectFactory.ice +60 -0
  112. data/slice/Ice/ObjectFactoryF.ice +20 -0
  113. data/slice/Ice/Plugin.ice +117 -0
  114. data/slice/Ice/PluginF.ice +21 -0
  115. data/slice/Ice/Process.ice +54 -0
  116. data/slice/Ice/ProcessF.ice +20 -0
  117. data/slice/Ice/Properties.ice +228 -0
  118. data/slice/Ice/PropertiesAdmin.ice +75 -0
  119. data/slice/Ice/PropertiesF.ice +21 -0
  120. data/slice/Ice/RemoteLogger.ice +232 -0
  121. data/slice/Ice/Router.ice +83 -0
  122. data/slice/Ice/RouterF.ice +20 -0
  123. data/slice/Ice/ServantLocator.ice +117 -0
  124. data/slice/Ice/ServantLocatorF.ice +20 -0
  125. data/slice/Ice/SliceChecksumDict.ice +25 -0
  126. data/slice/Ice/Version.ice +39 -0
  127. data/slice/IceBox/IceBox.ice +194 -0
  128. data/slice/IceDiscovery/IceDiscovery.ice +32 -0
  129. data/slice/IceGrid/Admin.ice +1578 -0
  130. data/slice/IceGrid/Descriptor.ice +1079 -0
  131. data/slice/IceGrid/Discovery.ice +73 -0
  132. data/slice/IceGrid/Exception.ice +383 -0
  133. data/slice/IceGrid/FileParser.ice +61 -0
  134. data/slice/IceGrid/Locator.ice +56 -0
  135. data/slice/IceGrid/Observer.ice +394 -0
  136. data/slice/IceGrid/PluginFacade.ice +316 -0
  137. data/slice/IceGrid/Query.ice +130 -0
  138. data/slice/IceGrid/Registry.ice +138 -0
  139. data/slice/IceGrid/Session.ice +124 -0
  140. data/slice/IceGrid/UserAccountMapper.ice +58 -0
  141. data/slice/IcePatch2/FileInfo.ice +49 -0
  142. data/slice/IcePatch2/FileServer.ice +129 -0
  143. data/slice/IceSSL/ConnectionInfo.ice +34 -0
  144. data/slice/IceSSL/EndpointInfo.ice +41 -0
  145. data/slice/IceStorm/IceStorm.ice +405 -0
  146. data/slice/IceStorm/Metrics.ice +71 -0
  147. metadata +207 -0
@@ -0,0 +1,20 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #pragma once
11
+
12
+ [["cpp:header-ext:h"]]
13
+
14
+ module Glacier2
15
+ {
16
+
17
+ interface Router;
18
+
19
+ };
20
+
@@ -0,0 +1,50 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #pragma once
11
+
12
+ [["cpp:header-ext:h"]]
13
+ [["cpp:include:Glacier2/Config.h"]]
14
+
15
+ #include <Ice/BuiltinSequences.ice>
16
+
17
+ module Glacier2
18
+ {
19
+
20
+ /**
21
+ *
22
+ * Information taken from an SSL connection used for permissions
23
+ * verification.
24
+ *
25
+ * @see PermissionsVerifier
26
+ *
27
+ */
28
+ struct SSLInfo
29
+ {
30
+ /** The remote host. */
31
+ string remoteHost;
32
+
33
+ /** The remote port. */
34
+ int remotePort;
35
+
36
+ /** The router's host. */
37
+ string localHost;
38
+
39
+ /** The router's port. */
40
+ int localPort;
41
+
42
+ /** The negotiated cipher suite. */
43
+ string cipher;
44
+
45
+ /** The certificate chain. */
46
+ Ice::StringSeq certs;
47
+ };
48
+
49
+ };
50
+
@@ -0,0 +1,273 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #pragma once
11
+
12
+ [["cpp:header-ext:h"]]
13
+ [["cpp:include:Glacier2/Config.h"]]
14
+
15
+ #include <Ice/BuiltinSequences.ice>
16
+ #include <Ice/Identity.ice>
17
+ #include <Glacier2/SSLInfo.ice>
18
+
19
+ module Glacier2
20
+ {
21
+
22
+ /**
23
+ *
24
+ * This exception is raised if an attempt to create a new session
25
+ * failed.
26
+ *
27
+ * @see Router#createSession
28
+ * @see Router#createSessionFromSecureConnection
29
+ * @see SessionManager#create
30
+ * @see SSLSessionManager#create
31
+ *
32
+ **/
33
+ ["preserve-slice"]
34
+ exception CannotCreateSessionException
35
+ {
36
+ /**
37
+ *
38
+ * The reason why session creation has failed.
39
+ *
40
+ **/
41
+ string reason;
42
+ };
43
+
44
+ /**
45
+ *
46
+ * A client-visible session object, which is tied to the lifecycle of
47
+ * a {@link Router}.
48
+ *
49
+ * @see Router
50
+ * @see SessionManager
51
+ *
52
+ **/
53
+ interface Session
54
+ {
55
+ /**
56
+ *
57
+ * Destroy the session. This is called automatically when the
58
+ * {@link Router} is destroyed.
59
+ *
60
+ **/
61
+ void destroy();
62
+ };
63
+
64
+ /**
65
+ *
66
+ * An object for managing the set of identity constraints for specific
67
+ * parts of object identity on a
68
+ * {@link Session}.
69
+ *
70
+ * @see Session
71
+ * @see SessionControl
72
+ *
73
+ **/
74
+ interface StringSet
75
+ {
76
+ /**
77
+ *
78
+ * Add a sequence of strings to this set of constraints. Order is
79
+ * not preserved and duplicates are implicitly removed.
80
+ *
81
+ * @param additions The sequence of strings to be added.
82
+ *
83
+ **/
84
+ idempotent void add(Ice::StringSeq additions);
85
+
86
+ /**
87
+ *
88
+ * Remove a sequence of strings from this set of constraints. No
89
+ * errors are returned if an entry is not found.
90
+ *
91
+ * @param deletions The sequence of strings to be removed.
92
+ *
93
+ **/
94
+ idempotent void remove(Ice::StringSeq deletions);
95
+
96
+ /**
97
+ *
98
+ * Returns a sequence of strings describing the constraints in this
99
+ * set.
100
+ *
101
+ * @return The sequence of strings for this set.
102
+ *
103
+ **/
104
+ idempotent Ice::StringSeq get();
105
+ };
106
+
107
+ /**
108
+ *
109
+ * An object for managing the set of object identity constraints on a
110
+ * {@link Session}.
111
+ *
112
+ * @see Session
113
+ * @see SessionControl
114
+ *
115
+ **/
116
+ interface IdentitySet
117
+ {
118
+ /**
119
+ *
120
+ * Add a sequence of Ice identities to this set of constraints. Order is
121
+ * not preserved and duplicates are implicitly removed.
122
+ *
123
+ * @param additions The sequence of Ice identities to be added.
124
+ *
125
+ **/
126
+ idempotent void add(Ice::IdentitySeq additions);
127
+
128
+ /**
129
+ *
130
+ * Remove a sequence of identities from this set of constraints. No
131
+ * errors are returned if an entry is not found.
132
+ *
133
+ * @param deletions The sequence of Ice identities to be removed.
134
+ *
135
+ **/
136
+ idempotent void remove(Ice::IdentitySeq deletions);
137
+
138
+ /**
139
+ *
140
+ * Returns a sequence of identities describing the constraints in this
141
+ * set.
142
+ *
143
+ * @return The sequence of Ice identities for this set.
144
+ *
145
+ **/
146
+ idempotent Ice::IdentitySeq get();
147
+ };
148
+
149
+ /**
150
+ *
151
+ * An administrative session control object, which is tied to the
152
+ * lifecycle of a {@link Session}.
153
+ *
154
+ * @see Session
155
+ *
156
+ **/
157
+ interface SessionControl
158
+ {
159
+ /**
160
+ *
161
+ * Access the object that manages the allowable categories
162
+ * for object identities for this session.
163
+ *
164
+ * @return A StringSet object.
165
+ *
166
+ **/
167
+ StringSet* categories();
168
+
169
+ /**
170
+ *
171
+ * Access the object that manages the allowable adapter identities
172
+ * for objects for this session.
173
+ *
174
+ * @return A StringSet object.
175
+ *
176
+ **/
177
+ StringSet* adapterIds();
178
+
179
+ /**
180
+ *
181
+ * Access the object that manages the allowable object identities
182
+ * for this session.
183
+ *
184
+ * @return An IdentitySet object.
185
+ *
186
+ **/
187
+ IdentitySet* identities();
188
+
189
+ /**
190
+ *
191
+ * Get the session timeout.
192
+ *
193
+ * @return The timeout.
194
+ *
195
+ **/
196
+ idempotent int getSessionTimeout();
197
+
198
+ /**
199
+ *
200
+ * Destroy the associated session.
201
+ *
202
+ **/
203
+ void destroy();
204
+ };
205
+
206
+ /**
207
+ *
208
+ * The session manager for username/password authenticated users that
209
+ * is responsible for managing {@link Session} objects. New session objects
210
+ * are created by the {@link Router} object calling on an application-provided
211
+ * session manager. If no session manager is provided by the application,
212
+ * no client-visible sessions are passed to the client.
213
+ *
214
+ * @see Router
215
+ * @see Session
216
+ *
217
+ **/
218
+ interface SessionManager
219
+ {
220
+ /**
221
+ *
222
+ * Create a new session.
223
+ *
224
+ * @param userId The user id for the session.
225
+ *
226
+ * @param control A proxy to the session control object.
227
+ *
228
+ * @return A proxy to the newly created session.
229
+ *
230
+ * @throws CannotCreateSessionException Raised if the session
231
+ * cannot be created.
232
+ *
233
+ **/
234
+ ["format:sliced"]
235
+ Session* create(string userId, SessionControl* control)
236
+ throws CannotCreateSessionException;
237
+ };
238
+
239
+ /**
240
+ *
241
+ * The session manager for SSL authenticated users that is
242
+ * responsible for managing {@link Session} objects. New session objects are
243
+ * created by the {@link Router} object calling on an application-provided
244
+ * session manager. If no session manager is provided by the
245
+ * application, no client-visible sessions are passed to the client.
246
+ *
247
+ * @see Router
248
+ * @see Session
249
+ *
250
+ **/
251
+ interface SSLSessionManager
252
+ {
253
+ /**
254
+ *
255
+ * Create a new session.
256
+ *
257
+ * @param info The SSL info.
258
+ *
259
+ * @param control A proxy to the session control object.
260
+ *
261
+ * @return A proxy to the newly created session.
262
+ *
263
+ * @throws CannotCreateSessionException Raised if the session
264
+ * cannot be created.
265
+ *
266
+ **/
267
+ ["format:sliced"]
268
+ Session* create(SSLInfo info, SessionControl* control)
269
+ throws CannotCreateSessionException;
270
+ };
271
+
272
+ };
273
+
@@ -0,0 +1,48 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #pragma once
11
+
12
+ [["cpp:header-ext:h"]]
13
+
14
+ module Ice
15
+ {
16
+
17
+ /** A sequence of bools. **/
18
+ sequence<bool> BoolSeq;
19
+
20
+ /** A sequence of bytes. **/
21
+ sequence<byte> ByteSeq;
22
+
23
+ /** A sequence of shorts. **/
24
+ sequence<short> ShortSeq;
25
+
26
+ /** A sequence of ints. **/
27
+ sequence<int> IntSeq;
28
+
29
+ /** A sequence of longs. **/
30
+ sequence<long> LongSeq;
31
+
32
+ /** A sequence of floats. **/
33
+ sequence<float> FloatSeq;
34
+
35
+ /** A sequence of doubles. **/
36
+ sequence<double> DoubleSeq;
37
+
38
+ /** A sequence of strings. **/
39
+ sequence<string> StringSeq;
40
+
41
+ /** A sequence of objects. **/
42
+ sequence<Object> ObjectSeq;
43
+
44
+ /** A sequence of object proxies. **/
45
+ sequence<Object*> ObjectProxySeq;
46
+
47
+ };
48
+
@@ -0,0 +1,567 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #pragma once
11
+
12
+ [["cpp:header-ext:h"]]
13
+
14
+ #include <Ice/LoggerF.ice>
15
+ #include <Ice/InstrumentationF.ice>
16
+ #include <Ice/ObjectAdapterF.ice>
17
+ #include <Ice/ObjectFactoryF.ice>
18
+ #include <Ice/RouterF.ice>
19
+ #include <Ice/LocatorF.ice>
20
+ #include <Ice/PluginF.ice>
21
+ #include <Ice/ImplicitContextF.ice>
22
+ #include <Ice/Current.ice>
23
+ #include <Ice/Properties.ice>
24
+ #include <Ice/FacetMap.ice>
25
+
26
+ /**
27
+ *
28
+ * The Ice core library. Among many other features, the Ice core
29
+ * library manages all the communication tasks using an efficient
30
+ * protocol (including protocol compression and support for both TCP
31
+ * and UDP), provides a thread pool for multi-threaded servers, and
32
+ * additional functionality that supports high scalability.
33
+ *
34
+ **/
35
+ module Ice
36
+ {
37
+
38
+ /**
39
+ *
40
+ * The central object in Ice. One or more communicators can be
41
+ * instantiated for an Ice application. Communicator instantiation
42
+ * is language-specific, and not specified in Slice code.
43
+ *
44
+ * @see Logger
45
+ * @see ObjectAdapter
46
+ * @see Properties
47
+ * @see ObjectFactory
48
+ *
49
+ **/
50
+ ["clr:implements:_System.IDisposable"]
51
+ local interface Communicator
52
+ {
53
+ /**
54
+ *
55
+ * Destroy the communicator. This operation calls {@link #shutdown}
56
+ * implicitly. Calling {@link #destroy} cleans up memory, and shuts down
57
+ * this communicator's client functionality and destroys all object
58
+ * adapters. Subsequent calls to {@link #destroy} are ignored.
59
+ *
60
+ * @see #shutdown
61
+ * @see ObjectAdapter#destroy
62
+ *
63
+ **/
64
+ void destroy();
65
+
66
+ /**
67
+ *
68
+ * Shuts down this communicator's server functionality, which
69
+ * includes the deactivation of all object adapters. (Attempts to use
70
+ * a deactivated object adapter raise {@link ObjectAdapterDeactivatedException}.)
71
+ * Subsequent calls to {@link #shutdown} are ignored.</p>
72
+ *
73
+ * <p class="Note"> After {@link #shutdown} returns, no new requests are
74
+ * processed. However, requests that have been started before
75
+ * {@link #shutdown} was called might still be active. You can use
76
+ * {@link #waitForShutdown} to wait for the completion of all
77
+ * requests.
78
+ *
79
+ * @see #destroy
80
+ * @see #waitForShutdown
81
+ * @see ObjectAdapter#deactivate
82
+ *
83
+ **/
84
+ void shutdown();
85
+
86
+ /**
87
+ *
88
+ * Wait until the application has called {@link #shutdown} (or {@link #destroy}).
89
+ * On the server side, this operation blocks the calling thread
90
+ * until all currently-executing operations have completed.
91
+ * On the client side, the operation simply block until another
92
+ * thread has called {@link #shutdown} or {@link #destroy}.
93
+ *
94
+ * <p>A typical use of this operation is to call it
95
+ * from the main thread, which then waits until some other thread
96
+ * calls {@link #shutdown}. After shut-down is complete, the main thread
97
+ * returns and can do some cleanup work before it finally calls
98
+ * {@link #destroy} to shut down the client functionality, and then
99
+ * exits the application.
100
+ *
101
+ * @see #shutdown
102
+ * @see #destroy
103
+ * @see ObjectAdapter#waitForDeactivate
104
+ *
105
+ **/
106
+ void waitForShutdown();
107
+
108
+ /**
109
+ *
110
+ * Check whether communicator has been shut down.
111
+ *
112
+ * @return True if the communicator has been shut down; false otherwise.
113
+ *
114
+ * @see #shutdown
115
+ *
116
+ **/
117
+ ["cpp:const"] bool isShutdown();
118
+
119
+ /**
120
+ *
121
+ * Convert a stringified proxy into a proxy. For example,
122
+ * <tt>MyCategory/MyObject:tcp -h some_host -p
123
+ * 10000</tt> creates a proxy that refers to the Ice object
124
+ * having an identity with a name "MyObject" and a category
125
+ * "MyCategory", with the server running on host "some_host", port
126
+ * 10000. If the stringified proxy does not parse correctly, the
127
+ * operation throws one of {@link ProxyParseException},
128
+ * {@link EndpointParseException}, or {@link IdentityParseException}.
129
+ * An appendix in the Ice manual provides a detailed description
130
+ * of the syntax supported by stringified proxies.
131
+ *
132
+ * @param str The stringified proxy to convert into a proxy.
133
+ *
134
+ * @return The proxy, or nil if <tt>str</tt> is an empty string.
135
+ *
136
+ * @see #proxyToString
137
+ *
138
+ **/
139
+ ["cpp:const"] Object* stringToProxy(string str);
140
+
141
+ /**
142
+ *
143
+ * Convert a proxy into a string.
144
+ *
145
+ * @param obj The proxy to convert into a stringified proxy.
146
+ *
147
+ * @return The stringified proxy, or an empty string if
148
+ * <tt>obj</tt> is nil.
149
+ *
150
+ * @see #stringToProxy
151
+ *
152
+ **/
153
+ ["cpp:const"] string proxyToString(Object* obj);
154
+
155
+
156
+ /**
157
+ *
158
+ * Convert a set of proxy properties into a proxy. The "base"
159
+ * name supplied in the <tt>property</tt> argument refers to a
160
+ * property containing a stringified proxy, such as
161
+ * <tt>MyProxy=id:tcp -h localhost -p 10000</tt>. Additional
162
+ * properties configure local settings for the proxy, such as
163
+ * <tt>MyProxy.PreferSecure=1</tt>. The "Properties"
164
+ * appendix in the Ice manual describes each of the supported
165
+ * proxy properties.
166
+ *
167
+ * @param property The base property name.
168
+ *
169
+ * @return The proxy.
170
+ *
171
+ **/
172
+ ["cpp:const"] Object* propertyToProxy(string property);
173
+
174
+ /**
175
+ *
176
+ * Convert a proxy to a set of proxy properties.
177
+ *
178
+ * @param proxy The proxy.
179
+ *
180
+ * @param property The base property name.
181
+ *
182
+ * @return The property set.
183
+ *
184
+ **/
185
+ ["cpp:const"] PropertyDict proxyToProperty(Object* proxy, string property);
186
+
187
+ /**
188
+ *
189
+ * Convert a string into an identity. If the string does not parse
190
+ * correctly, the operation throws {@link IdentityParseException}.
191
+ *
192
+ * @param str The string to convert into an identity.
193
+ *
194
+ * @return The identity.
195
+ *
196
+ * @see #identityToString
197
+ *
198
+ **/
199
+ ["cpp:const"] Identity stringToIdentity(string str);
200
+
201
+ /**
202
+ *
203
+ * Convert an identity into a string.
204
+ *
205
+ * @param ident The identity to convert into a string.
206
+ *
207
+ * @return The "stringified" identity.
208
+ *
209
+ * @see #stringToIdentity
210
+ *
211
+ **/
212
+ ["cpp:const"] string identityToString(Identity ident);
213
+
214
+ /**
215
+ *
216
+ * Create a new object adapter. The endpoints for the object
217
+ * adapter are taken from the property <tt><em>name</em>.Endpoints</tt>.</p>
218
+ *
219
+ * <p>It is legal to create an object adapter with the empty string as
220
+ * its name. Such an object adapter is accessible via bidirectional
221
+ * connections or by collocated invocations that originate from the
222
+ * same communicator as is used by the adapter.</p>
223
+ *
224
+ * <p>Attempts to create a named object adapter for which no configuration
225
+ * can be found raise {@link InitializationException}.
226
+ *
227
+ * @param name The object adapter name.
228
+ *
229
+ * @return The new object adapter.
230
+ *
231
+ * @see #createObjectAdapterWithEndpoints
232
+ * @see ObjectAdapter
233
+ * @see Properties
234
+ *
235
+ **/
236
+ ObjectAdapter createObjectAdapter(string name);
237
+
238
+ /**
239
+ *
240
+ * Create a new object adapter with endpoints. This operation sets
241
+ * the property <tt><em>name</em>.Endpoints</tt>,
242
+ * and then calls {@link createObjectAdapter}. It is provided as a
243
+ * convenience function.</p>
244
+ *
245
+ * <p>Calling this operation with an empty name will result in a
246
+ * UUID being generated for the name.
247
+ *
248
+ * @param name The object adapter name.
249
+ *
250
+ * @param endpoints The endpoints for the object adapter.
251
+ *
252
+ * @return The new object adapter.
253
+ *
254
+ * @see #createObjectAdapter
255
+ * @see ObjectAdapter
256
+ * @see Properties
257
+ *
258
+ **/
259
+ ObjectAdapter createObjectAdapterWithEndpoints(string name, string endpoints);
260
+
261
+ /**
262
+ *
263
+ * Create a new object adapter with a router. This operation
264
+ * creates a routed object adapter.</p>
265
+ *
266
+ * <p>Calling this operation with an empty name will result in a
267
+ * UUID being generated for the name.
268
+ *
269
+ * @param name The object adapter name.
270
+ *
271
+ * @param rtr The router.
272
+ *
273
+ * @return The new object adapter.
274
+ *
275
+ * @see #createObjectAdapter
276
+ * @see ObjectAdapter
277
+ * @see Properties
278
+ *
279
+ **/
280
+ ObjectAdapter createObjectAdapterWithRouter(string name, Router* rtr);
281
+
282
+ /**
283
+ *
284
+ * <p>Add an object factory to this communicator. Installing a
285
+ * factory with an id for which a factory is already registered
286
+ * throws {@link AlreadyRegisteredException}.</p>
287
+ *
288
+ * <p>When unmarshaling an Ice object, the Ice run time reads the
289
+ * most-derived type id off the wire and attempts to create an
290
+ * instance of the type using a factory. If no instance is created,
291
+ * either because no factory was found, or because all factories
292
+ * returned nil, the behavior of the Ice run time depends on the
293
+ * format with which the object was marshaled:</p>
294
+ *
295
+ * <p>If the object uses the "sliced" format, Ice ascends the class
296
+ * hierarchy until it finds a type that is recognized by a factory,
297
+ * or it reaches the least-derived type. If no factory is found that
298
+ * can create an instance, the run time throws
299
+ * {@link NoObjectFactoryException}.</p>
300
+ *
301
+ * <p>If the object uses the "compact" format, Ice immediately raises
302
+ * {@link NoObjectFactoryException}.</p>
303
+ *
304
+ * <p>The following order is used to locate a factory for a type:</p>
305
+ *
306
+ * <ol>
307
+ *
308
+ * <li>The Ice run-time looks for a factory registered
309
+ * specifically for the type.</li>
310
+ *
311
+ * <li>If no instance has been created, the Ice run-time looks
312
+ * for the default factory, which is registered with an empty type id.
313
+ * </li>
314
+ *
315
+ * <li>If no instance has been created by any of the preceding
316
+ * steps, the Ice run-time looks for a factory that may have been
317
+ * statically generated by the language mapping for non-abstract classes.
318
+ * </li>
319
+ *
320
+ * </ol>
321
+ *
322
+ * @param factory The factory to add.
323
+ *
324
+ * @param id The type id for which the factory can create instances, or
325
+ * an empty string for the default factory.
326
+ *
327
+ * @see #findObjectFactory
328
+ * @see ObjectFactory
329
+ *
330
+ **/
331
+ void addObjectFactory(ObjectFactory factory, string id);
332
+
333
+ /**
334
+ *
335
+ * Find an object factory registered with this communicator.
336
+ *
337
+ * @param id The type id for which the factory can create instances,
338
+ * or an empty string for the default factory.
339
+ *
340
+ * @return The object factory, or null if no object factory was
341
+ * found for the given id.
342
+ *
343
+ * @see #addObjectFactory
344
+ * @see ObjectFactory
345
+ *
346
+ **/
347
+ ["cpp:const"] ObjectFactory findObjectFactory(string id);
348
+
349
+
350
+ /**
351
+ * Get the implicit context associated with this communicator.
352
+ *
353
+ * @return The implicit context associated with this communicator;
354
+ * returns null when the property Ice.ImplicitContext is not set
355
+ * or is set to None.
356
+ *
357
+ **/
358
+ ["cpp:const"] ImplicitContext getImplicitContext();
359
+
360
+ /**
361
+ *
362
+ * Get the properties for this communicator.
363
+ *
364
+ * @return This communicator's properties.
365
+ *
366
+ * @see Properties
367
+ *
368
+ **/
369
+ ["cpp:const"] Properties getProperties();
370
+
371
+ /**
372
+ *
373
+ * Get the logger for this communicator.
374
+ *
375
+ * @return This communicator's logger.
376
+ *
377
+ * @see Logger
378
+ *
379
+ **/
380
+ ["cpp:const"] Logger getLogger();
381
+
382
+ /**
383
+ *
384
+ * Get the observer resolver object for this communicator.
385
+ *
386
+ * @return This communicator's observer resolver object.
387
+ *
388
+ **/
389
+ ["cpp:const"] Ice::Instrumentation::CommunicatorObserver getObserver();
390
+
391
+ /**
392
+ *
393
+ * Get the default router this communicator.
394
+ *
395
+ * @return The default router for this communicator.
396
+ *
397
+ * @see #setDefaultRouter
398
+ * @see Router
399
+ *
400
+ **/
401
+ ["cpp:const"] Router* getDefaultRouter();
402
+
403
+ /**
404
+ *
405
+ * Set a default router for this communicator. All newly
406
+ * created proxies will use this default router. To disable the
407
+ * default router, null can be used. Note that this
408
+ * operation has no effect on existing proxies.</p>
409
+ *
410
+ * <p class="Note">You can also set a router for an individual proxy
411
+ * by calling the operation <tt>ice_router</tt> on the proxy.
412
+ *
413
+ * @param rtr The default router to use for this communicator.
414
+ *
415
+ * @see #getDefaultRouter
416
+ * @see #createObjectAdapterWithRouter
417
+ * @see Router
418
+ *
419
+ **/
420
+ void setDefaultRouter(Router* rtr);
421
+
422
+ /**
423
+ *
424
+ * Get the default locator this communicator.
425
+ *
426
+ * @return The default locator for this communicator.
427
+ *
428
+ * @see #setDefaultLocator
429
+ * @see Locator
430
+ *
431
+ **/
432
+ ["cpp:const"] Locator* getDefaultLocator();
433
+
434
+ /**
435
+ *
436
+ * Set a default Ice locator for this communicator. All newly
437
+ * created proxy and object adapters will use this default
438
+ * locator. To disable the default locator, null can be used.
439
+ * Note that this operation has no effect on existing proxies or
440
+ * object adapters.</p>
441
+ *
442
+ * <p class="Note"> You can also set a locator for an individual proxy
443
+ * by calling the operation <tt>ice_locator</tt> on the proxy, or for an
444
+ * object adapter by calling the operation {@link setLocator} on the
445
+ * object adapter.
446
+ *
447
+ * @param loc The default locator to use for this communicator.
448
+ *
449
+ * @see #getDefaultLocator
450
+ * @see Locator
451
+ * @see ObjectAdapter#setLocator
452
+ *
453
+ **/
454
+ void setDefaultLocator(Locator* loc);
455
+
456
+ /**
457
+ *
458
+ * Get the plug-in manager for this communicator.
459
+ *
460
+ * @return This communicator's plug-in manager.
461
+ *
462
+ * @see PluginManager
463
+ *
464
+ **/
465
+ ["cpp:const"] PluginManager getPluginManager();
466
+
467
+ /**
468
+ *
469
+ * Flush any pending batch requests for this communicator.
470
+ * This causes all batch requests that were sent via proxies
471
+ * obtained via this communicator to be sent to the server.
472
+ *
473
+ **/
474
+ ["async"] void flushBatchRequests();
475
+
476
+
477
+ /**
478
+ *
479
+ * Add the Admin object with all its facets to the provided object adapter.
480
+ * If Ice.Admin.ServerId is set and the provided object adapter has a {@link Locator},
481
+ * createAdmin registers the Admin's Process facet with the {@link Locator}'s {@link LocatorRegistry}.
482
+ *
483
+ * <p>createAdmin call only be called once; subsequent calls raise {@link InitializationException}.</p>
484
+ *
485
+ * @param adminAdapter The object adapter used to host the Admin object; if null and
486
+ * Ice.Admin.Endpoints is set, create, activate and use the Ice.Admin object adapter.
487
+ *
488
+ * @param adminId The identity of the Admin object.
489
+ *
490
+ * @return A proxy to the main ("") facet of the Admin object. Never returns a null proxy.
491
+ *
492
+ * @see #getAdmin
493
+ * @see LocatorRegistry#setServerProcessProxy
494
+ *
495
+ **/
496
+ Object* createAdmin(ObjectAdapter adminAdapter, Identity adminId);
497
+
498
+ /**
499
+ *
500
+ * Get a proxy to the main facet of the Admin object.
501
+ *
502
+ * getAdmin also creates the Admin object and creates and activates the Ice.Admin object
503
+ * adapter to host this Admin object if Ice.Admin.Enpoints is set. The identity of the Admin
504
+ * object created by getAdmin is <value of Ice.Admin.InstanceName>/admin, or <UUID>/admin
505
+ * when Ice.Admin.InstanceName is not set.
506
+ *
507
+ * <p>If Ice.Admin.DelayCreation is 0 or not set, getAdmin is called by the communicator
508
+ * initialization, after initialization of all plugins.</p>
509
+
510
+ * @return A proxy to the main ("") facet of the Admin object, or a null proxy if no
511
+ * Admin object is configured.
512
+ *
513
+ * @see #createAdmin
514
+ **/
515
+ ["cpp:const"] Object* getAdmin();
516
+
517
+ /**
518
+ *
519
+ * Add a new facet to the Admin object.
520
+ * Adding a servant with a facet that is already registered
521
+ * throws {@link AlreadyRegisteredException}.
522
+ *
523
+ * @param servant The servant that implements the new Admin facet.
524
+ * @param facet The name of the new Admin facet.
525
+ *
526
+ **/
527
+ void addAdminFacet(Object servant, string facet);
528
+
529
+ /**
530
+ *
531
+ * Remove the following facet to the Admin object.
532
+ * Removing a facet that was not previously registered throws
533
+ * {@link NotRegisteredException}.
534
+ *
535
+ * @param facet The name of the Admin facet.
536
+ * @return The servant associated with this Admin facet.
537
+ *
538
+ **/
539
+ Object removeAdminFacet(string facet);
540
+
541
+ /**
542
+ *
543
+ * Returns a facet of the Admin object.
544
+ *
545
+ * @param facet The name of the Admin facet.
546
+ * @return The servant associated with this Admin facet, or
547
+ * null if no facet is registered with the given name.
548
+ *
549
+ **/
550
+ Object findAdminFacet(string facet);
551
+
552
+ /**
553
+ *
554
+ * Returns a map of all facets of the Admin object.
555
+ *
556
+ * @return A collection containing all the facet names and
557
+ * servants of the Admin object.
558
+ *
559
+ * @see #findAdminFacet
560
+ *
561
+ **/
562
+ FacetMap findAllAdminFacets();
563
+
564
+ };
565
+
566
+ };
567
+