zeroc-ice 3.7.3 → 3.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. checksums.yaml +4 -4
  2. data/ext/Util.cpp +15 -3
  3. data/ext/Util.h +36 -0
  4. data/ext/ice/cpp/include/Ice/Initialize.h +1 -1
  5. data/ext/ice/cpp/include/Ice/Optional.h +1 -1
  6. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +15 -0
  7. data/ext/ice/cpp/include/Ice/Proxy.h +31 -9
  8. data/ext/ice/cpp/include/IceUtil/Config.h +2 -2
  9. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +2 -2
  10. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +2 -2
  11. data/ext/ice/cpp/include/generated/Ice/Communicator.h +4 -4
  12. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +2 -2
  13. data/ext/ice/cpp/include/generated/Ice/Connection.h +13 -13
  14. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +2 -2
  15. data/ext/ice/cpp/include/generated/Ice/Current.h +2 -2
  16. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +14 -14
  17. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +2 -2
  18. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +2 -2
  19. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +2 -2
  20. data/ext/ice/cpp/include/generated/Ice/Identity.h +2 -2
  21. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +2 -2
  22. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +2 -2
  23. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +2 -2
  24. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +2 -2
  25. data/ext/ice/cpp/include/generated/Ice/LocalException.h +61 -61
  26. data/ext/ice/cpp/include/generated/Ice/Locator.h +9 -9
  27. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +2 -2
  28. data/ext/ice/cpp/include/generated/Ice/Logger.h +2 -2
  29. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +2 -2
  30. data/ext/ice/cpp/include/generated/Ice/Metrics.h +18 -18
  31. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +2 -2
  32. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +2 -2
  33. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +2 -2
  34. data/ext/ice/cpp/include/generated/Ice/Plugin.h +2 -2
  35. data/ext/ice/cpp/include/generated/Ice/PluginF.h +2 -2
  36. data/ext/ice/cpp/include/generated/Ice/Process.h +4 -4
  37. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +2 -2
  38. data/ext/ice/cpp/include/generated/Ice/Properties.h +2 -2
  39. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +5 -5
  40. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +2 -2
  41. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +7 -7
  42. data/ext/ice/cpp/include/generated/Ice/Router.h +6 -6
  43. data/ext/ice/cpp/include/generated/Ice/RouterF.h +2 -2
  44. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +2 -2
  45. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +2 -2
  46. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +2 -2
  47. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +2 -2
  48. data/ext/ice/cpp/include/generated/Ice/Version.h +2 -2
  49. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +5 -5
  50. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +2 -2
  51. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +3 -3
  52. data/ext/ice/cpp/src/Ice/ArgVector.cpp +1 -1
  53. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +2 -2
  54. data/ext/ice/cpp/src/Ice/Communicator.cpp +2 -2
  55. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +2 -2
  56. data/ext/ice/cpp/src/Ice/Connection.cpp +2 -2
  57. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +2 -2
  58. data/ext/ice/cpp/src/Ice/Current.cpp +2 -2
  59. data/ext/ice/cpp/src/Ice/Endpoint.cpp +2 -2
  60. data/ext/ice/cpp/src/Ice/EndpointF.cpp +2 -2
  61. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +2 -2
  62. data/ext/ice/cpp/src/Ice/FacetMap.cpp +2 -2
  63. data/ext/ice/cpp/src/Ice/Identity.cpp +2 -2
  64. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +2 -2
  65. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +2 -2
  66. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +1 -1
  67. data/ext/ice/cpp/src/Ice/Initialize.cpp +1 -1
  68. data/ext/ice/cpp/src/Ice/InputStream.cpp +1 -1
  69. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +2 -2
  70. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +2 -2
  71. data/ext/ice/cpp/src/Ice/LocalException.cpp +2 -2
  72. data/ext/ice/cpp/src/Ice/Locator.cpp +2 -2
  73. data/ext/ice/cpp/src/Ice/LocatorF.cpp +2 -2
  74. data/ext/ice/cpp/src/Ice/Logger.cpp +2 -2
  75. data/ext/ice/cpp/src/Ice/LoggerF.cpp +2 -2
  76. data/ext/ice/cpp/src/Ice/Metrics.cpp +2 -2
  77. data/ext/ice/cpp/src/Ice/Network.cpp +1 -1
  78. data/ext/ice/cpp/src/Ice/Network.h +0 -0
  79. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +2 -2
  80. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +2 -2
  81. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +2 -2
  82. data/ext/ice/cpp/src/Ice/Plugin.cpp +2 -2
  83. data/ext/ice/cpp/src/Ice/PluginF.cpp +2 -2
  84. data/ext/ice/cpp/src/Ice/Process.cpp +2 -2
  85. data/ext/ice/cpp/src/Ice/ProcessF.cpp +2 -2
  86. data/ext/ice/cpp/src/Ice/Properties.cpp +2 -2
  87. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +2 -2
  88. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +2 -2
  89. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +9 -0
  90. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +2 -2
  91. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +5 -2
  92. data/ext/ice/cpp/src/Ice/Router.cpp +2 -2
  93. data/ext/ice/cpp/src/Ice/RouterF.cpp +2 -2
  94. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +2 -2
  95. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +2 -2
  96. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +2 -2
  97. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +0 -0
  98. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -0
  99. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +2 -2
  100. data/ext/ice/cpp/src/Ice/Version.cpp +2 -2
  101. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +2 -2
  102. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +479 -6
  103. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +2 -2
  104. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +4 -4
  105. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +12 -1
  106. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +2 -2
  107. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +2 -2
  108. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +2 -2
  109. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +1 -1
  110. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +1 -1
  111. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +0 -0
  112. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +1 -1
  113. data/ext/ice/cpp/src/IceSSL/Util.cpp +0 -0
  114. data/ext/ice/cpp/src/IceUtil/Time.cpp +2 -2
  115. data/ext/ice/cpp/src/Slice/Parser.cpp +1 -1
  116. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +12 -0
  117. data/ext/ice/cpp/src/Slice/Preprocessor.h +1 -1
  118. data/ice.gemspec +1 -1
  119. data/lib/Glacier2/Metrics.rb +1 -1
  120. data/lib/Glacier2/PermissionsVerifier.rb +1 -1
  121. data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
  122. data/lib/Glacier2/Router.rb +1 -1
  123. data/lib/Glacier2/RouterF.rb +1 -1
  124. data/lib/Glacier2/SSLInfo.rb +1 -1
  125. data/lib/Glacier2/Session.rb +1 -1
  126. data/lib/Ice/BuiltinSequences.rb +1 -1
  127. data/lib/Ice/Communicator.rb +1 -1
  128. data/lib/Ice/CommunicatorF.rb +1 -1
  129. data/lib/Ice/Connection.rb +1 -1
  130. data/lib/Ice/ConnectionF.rb +1 -1
  131. data/lib/Ice/Current.rb +1 -1
  132. data/lib/Ice/Endpoint.rb +1 -1
  133. data/lib/Ice/EndpointF.rb +1 -1
  134. data/lib/Ice/EndpointTypes.rb +1 -1
  135. data/lib/Ice/FacetMap.rb +1 -1
  136. data/lib/Ice/Identity.rb +1 -1
  137. data/lib/Ice/ImplicitContext.rb +1 -1
  138. data/lib/Ice/ImplicitContextF.rb +1 -1
  139. data/lib/Ice/Instrumentation.rb +1 -1
  140. data/lib/Ice/InstrumentationF.rb +1 -1
  141. data/lib/Ice/LocalException.rb +1 -1
  142. data/lib/Ice/Locator.rb +1 -1
  143. data/lib/Ice/LocatorF.rb +1 -1
  144. data/lib/Ice/Logger.rb +1 -1
  145. data/lib/Ice/LoggerF.rb +1 -1
  146. data/lib/Ice/Metrics.rb +1 -1
  147. data/lib/Ice/ObjectAdapter.rb +1 -1
  148. data/lib/Ice/ObjectAdapterF.rb +1 -1
  149. data/lib/Ice/ObjectFactory.rb +1 -1
  150. data/lib/Ice/Plugin.rb +1 -1
  151. data/lib/Ice/PluginF.rb +1 -1
  152. data/lib/Ice/Process.rb +1 -1
  153. data/lib/Ice/ProcessF.rb +1 -1
  154. data/lib/Ice/Properties.rb +1 -1
  155. data/lib/Ice/PropertiesAdmin.rb +1 -1
  156. data/lib/Ice/PropertiesF.rb +1 -1
  157. data/lib/Ice/RemoteLogger.rb +1 -1
  158. data/lib/Ice/Router.rb +1 -1
  159. data/lib/Ice/RouterF.rb +1 -1
  160. data/lib/Ice/ServantLocator.rb +1 -1
  161. data/lib/Ice/ServantLocatorF.rb +1 -1
  162. data/lib/Ice/SliceChecksumDict.rb +1 -1
  163. data/lib/Ice/ValueFactory.rb +1 -1
  164. data/lib/Ice/Version.rb +1 -1
  165. data/lib/IceBox/IceBox.rb +1 -1
  166. data/lib/IceGrid/Admin.rb +1 -1
  167. data/lib/IceGrid/Descriptor.rb +1 -1
  168. data/lib/IceGrid/Exception.rb +1 -1
  169. data/lib/IceGrid/FileParser.rb +1 -1
  170. data/lib/IceGrid/PluginFacade.rb +1 -1
  171. data/lib/IceGrid/Registry.rb +1 -1
  172. data/lib/IceGrid/Session.rb +1 -1
  173. data/lib/IceGrid/UserAccountMapper.rb +1 -1
  174. data/lib/IcePatch2/FileInfo.rb +1 -1
  175. data/lib/IcePatch2/FileServer.rb +1 -1
  176. data/lib/IceStorm/IceStorm.rb +1 -1
  177. data/lib/IceStorm/Metrics.rb +1 -1
  178. data/slice/Ice/Communicator.ice +1 -1
  179. data/slice/IceBox/IceBox.ice +17 -2
  180. data/slice/IceDiscovery/IceDiscovery.ice +56 -0
  181. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f061772e9d3a2a709e480d9bd0d028110838d15529c793b34367253782d649db
4
- data.tar.gz: b451ddd683af4bbc6e948d76dce911204ff6c1b4314143e285b89f656ae8f0e4
3
+ metadata.gz: d93f67fc8d2871e7db0614a3cbb091e947e73c7c6b506ceeec3ad10f433be4d6
4
+ data.tar.gz: c144208e37d3a3aa47a47d70b3769058d2f9f8668199cc5f1f6de468b82011e5
5
5
  SHA512:
6
- metadata.gz: 943b478cf1ecdfb5e4332271fd025e8153b2c0a595ef7c96ce260d3d0a8caaffff2c1b5827166f687650d6fc6685f3e8c0f1c1fdd4090f7aecbb4ef237d8623a
7
- data.tar.gz: 289327d910be75354d258ebc41eb31d2583738cd5b3fc7f43130442d87803000b9dac8787fd0b3ee9874bbf107606ad9c9ae12ac7a7c06f6aa9bd9f942cfdbf4
6
+ metadata.gz: b2ca8b593b06bce4e1bc7d6ab493365ab422feb97bfcef84a5ff67ff20e30f80f610e9b7156e32ab69ab1420f536a9a948d4d4ae939013c371edc7ba2273a980
7
+ data.tar.gz: 15b47e5d5821f42efc77897d52a85f91e37fddf698b13ca3651bb47aaa0c536efa0d770c919fae9febbe222f91b96dd7d1e2f1a912a91b137677a27b0fe7902a
@@ -448,7 +448,11 @@ IceRuby::contextToHash(const Ice::Context& ctx)
448
448
 
449
449
  extern "C"
450
450
  VALUE
451
- IceRuby_Util_hash_foreach_callback(VALUE val, VALUE arg)
451
+ #ifdef RUBY_BLOCK_CALL_FUNC_TAKES_BLOCKARG // Defined Ruby >= 2.1
452
+ IceRuby_Util_hash_foreach_callback(VALUE val, VALUE arg, int, const VALUE*, VALUE)
453
+ #else
454
+ IceRuby_Util_hash_foreach_callback(VALUE val, VALUE arg, int, VALUE*)
455
+ #endif
452
456
  {
453
457
  VALUE key = rb_ary_entry(val, 0);
454
458
  VALUE value = rb_ary_entry(val, 1);
@@ -467,14 +471,22 @@ IceRuby_Util_hash_foreach_callback(VALUE val, VALUE arg)
467
471
 
468
472
  extern "C"
469
473
  {
470
- typedef VALUE (*ICE_RUBY_HASH_FOREACH_CALLBACK)(...);
474
+
475
+ // Defined Ruby >= 2.1. Ruby 2.7 enables RB_BLOCK_CALL_FUNC_STRICT by default
476
+ #ifdef RB_BLOCK_CALL_FUNC_STRICT
477
+ typedef rb_block_call_func_t ICE_RUBY_HASH_FOREACH_CALLBACK;
478
+ #else
479
+ typedef VALUE (*ICE_RUBY_HASH_FOREACH_CALLBACK)(...);
480
+ #endif
481
+
471
482
  }
472
483
 
473
484
  void
474
485
  IceRuby::hashIterate(VALUE h, HashIterator& iter)
475
486
  {
476
487
  assert(TYPE(h) == T_HASH);
477
- callRuby(rb_iterate, rb_each, h,
488
+
489
+ callRuby(::rb_block_call, h, rb_intern("each"), 0, static_cast<VALUE*>(0),
478
490
  reinterpret_cast<ICE_RUBY_HASH_FOREACH_CALLBACK>(IceRuby_Util_hash_foreach_callback),
479
491
  reinterpret_cast<VALUE>(&iter));
480
492
  }
data/ext/Util.h CHANGED
@@ -175,6 +175,9 @@ VALUE callRuby(Fun fun, T1 t1, T2 t2, T3 t3);
175
175
  template<typename Fun, typename T1, typename T2, typename T3, typename T4>
176
176
  VALUE callRuby(Fun fun, T1 t1, T2 t2, T3 t3, T4 t4);
177
177
 
178
+ template<typename Fun, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
179
+ VALUE callRuby(Fun fun, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6);
180
+
178
181
  extern "C" typedef VALUE (*RubyFunction)(VALUE);
179
182
 
180
183
  VALUE callProtected(RubyFunction, VALUE);
@@ -314,6 +317,39 @@ inline VALUE callRuby(Fun fun, T1 t1, T2 t2, T3 t3, T4 t4)
314
317
  return callProtected(RF::call, reinterpret_cast<VALUE>(&f));
315
318
  }
316
319
 
320
+ template<typename Fun, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
321
+ class RF_6
322
+ {
323
+ public:
324
+
325
+ RF_6(Fun f, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6) : _f(f), _t1(t1), _t2(t2), _t3(t3), _t4(t4), _t5(t5), _t6(t6)
326
+ {
327
+ }
328
+ inline VALUE operator()() { return _f(_t1, _t2, _t3, _t4, _t5, _t6); }
329
+ static inline VALUE call(VALUE f)
330
+ {
331
+ return (*reinterpret_cast<RF_6*>(f))();
332
+ }
333
+
334
+ private:
335
+
336
+ Fun _f;
337
+ T1 _t1;
338
+ T2 _t2;
339
+ T3 _t3;
340
+ T4 _t4;
341
+ T5 _t5;
342
+ T6 _t6;
343
+ };
344
+
345
+ template<typename Fun, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
346
+ inline VALUE callRuby(Fun fun, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
347
+ {
348
+ typedef RF_6<Fun, T1, T2, T3, T4, T5, T6> RF;
349
+ RF f(fun, t1, t2, t3, t4, t5, t6);
350
+ return callProtected(RF::call, reinterpret_cast<VALUE>(&f));
351
+ }
352
+
317
353
  //
318
354
  // The callRubyVoid functions are used to invoke Ruby C API functions
319
355
  // while translating any Ruby exception into RubyException so that
@@ -682,7 +682,7 @@ public:
682
682
  * it will be destroyed.
683
683
  * @param holder The holder from which to adopt a communicator.
684
684
  */
685
- CommunicatorHolder& operator=(CommunicatorHolder&& holder);
685
+ CommunicatorHolder& operator=(CommunicatorHolder&& holder) noexcept;
686
686
 
687
687
  /**
688
688
  * Determines whether the holder contains an instance.
@@ -210,7 +210,7 @@ template inline constexpr typename std::remove_reference::type&& co
210
210
  #if defined NDEBUG
211
211
  # define TR2_OPTIONAL_ASSERTED_EXPRESSION(CHECK, EXPR) (EXPR)
212
212
  #else
213
- # define TR2_OPTIONAL_ASSERTED_EXPRESSION(CHECK, EXPR) ((CHECK) ? (EXPR) : ([]{assert(!#CHECK);}(), (EXPR)))
213
+ # define TR2_OPTIONAL_ASSERTED_EXPRESSION(CHECK, EXPR) ((CHECK) ? (EXPR) : ([]{assert(false && #CHECK);}(), (EXPR)))
214
214
  #endif
215
215
 
216
216
  namespace detail_
@@ -463,7 +463,12 @@ public:
463
463
  std::function<void(bool)> sent) :
464
464
  OutgoingAsyncT<R>(proxy, false), LambdaInvoke(std::move(ex), std::move(sent))
465
465
  {
466
+ #if ICE_CPLUSPLUS >= 201402L
467
+ // Move capture with C++14
468
+ _response = [this, response = std::move(response)](bool ok)
469
+ #else
466
470
  _response = [this, response](bool ok)
471
+ #endif
467
472
  {
468
473
  if(!ok)
469
474
  {
@@ -499,7 +504,12 @@ public:
499
504
  std::function<void(bool)> sent) :
500
505
  OutgoingAsyncT<void>(proxy, false), LambdaInvoke(std::move(ex), std::move(sent))
501
506
  {
507
+ #if ICE_CPLUSPLUS >= 201402L
508
+ // Move capture with C++14
509
+ _response = [this, response = std::move(response)](bool ok)
510
+ #else
502
511
  _response = [this, response](bool ok)
512
+ #endif
503
513
  {
504
514
  if(!ok)
505
515
  {
@@ -535,7 +545,12 @@ public:
535
545
  std::function<void(bool)> sent) :
536
546
  OutgoingAsync(proxy, false), LambdaInvoke(std::move(ex), std::move(sent))
537
547
  {
548
+ #if ICE_CPLUSPLUS >= 201402L
549
+ // Move capture with C++14
550
+ _response = [this, read = std::move(read)](bool ok)
551
+ #else
538
552
  _response = [this, read](bool ok)
553
+ #endif
539
554
  {
540
555
  if(!ok)
541
556
  {
@@ -178,7 +178,12 @@ public:
178
178
  {
179
179
  if(response)
180
180
  {
181
+ #if ICE_CPLUSPLUS >= 201402L
182
+ // Move capture with C++14
183
+ _response = [this, response = std::move(response)](bool ok)
184
+ #else
181
185
  _response = [this, response](bool ok)
186
+ #endif
182
187
  {
183
188
  if(this->_is.b.empty())
184
189
  {
@@ -235,7 +240,11 @@ public:
235
240
  ::std::function<void(bool)> sent) :
236
241
  ProxyGetConnection(proxy), LambdaInvoke(::std::move(ex), ::std::move(sent))
237
242
  {
243
+ #if ICE_CPLUSPLUS >= 201402L
244
+ _response = [&, response = std::move(response)](bool)
245
+ #else
238
246
  _response = [&, response](bool)
247
+ #endif
239
248
  {
240
249
  response(getConnection());
241
250
  };
@@ -354,7 +363,8 @@ public:
354
363
  ::std::function<void(bool)> sent = nullptr,
355
364
  const ::Ice::Context& context = ::Ice::noExplicitContext)
356
365
  {
357
- return _makeLamdaOutgoing<bool>(response, ex, sent, this, &ObjectPrx::_iceI_isA, typeId, context);
366
+ return _makeLamdaOutgoing<bool>(std::move(response), std::move(ex), std::move(sent), this,
367
+ &ObjectPrx::_iceI_isA, typeId, context);
358
368
  }
359
369
 
360
370
  /**
@@ -399,7 +409,8 @@ public:
399
409
  ::std::function<void(bool)> sent = nullptr,
400
410
  const ::Ice::Context& context = ::Ice::noExplicitContext)
401
411
  {
402
- return _makeLamdaOutgoing<void>(response, ex, sent, this, &ObjectPrx::_iceI_ping, context);
412
+ return _makeLamdaOutgoing<void>(std::move(response), std::move(ex), std::move(sent), this,
413
+ &ObjectPrx::_iceI_ping, context);
403
414
  }
404
415
 
405
416
  /**
@@ -445,7 +456,8 @@ public:
445
456
  ::std::function<void(bool)> sent = nullptr,
446
457
  const ::Ice::Context& context = ::Ice::noExplicitContext)
447
458
  {
448
- return _makeLamdaOutgoing<::std::vector<::std::string>>(response, ex, sent, this, &ObjectPrx::_iceI_ids, context);
459
+ return _makeLamdaOutgoing<::std::vector<::std::string>>(std::move(response), std::move(ex), std::move(sent),
460
+ this, &ObjectPrx::_iceI_ids, context);
449
461
  }
450
462
 
451
463
  /**
@@ -490,7 +502,8 @@ public:
490
502
  ::std::function<void(bool)> sent = nullptr,
491
503
  const ::Ice::Context& context = ::Ice::noExplicitContext)
492
504
  {
493
- return _makeLamdaOutgoing<::std::string>(response, ex, sent, this, &ObjectPrx::_iceI_id, context);
505
+ return _makeLamdaOutgoing<::std::string>(std::move(response), std::move(ex), std::move(sent), this,
506
+ &ObjectPrx::_iceI_id, context);
494
507
  }
495
508
 
496
509
  /**
@@ -583,12 +596,16 @@ public:
583
596
  ::std::function<void(::Ice::Object::Ice_invokeResult&&)> r;
584
597
  if(response)
585
598
  {
599
+ #if ICE_CPLUSPLUS >= 201402L
600
+ r = [response = std::move(response)](::Ice::Object::Ice_invokeResult&& result)
601
+ #else
586
602
  r = [response](::Ice::Object::Ice_invokeResult&& result)
603
+ #endif
587
604
  {
588
605
  response(result.returnValue, std::move(result.outParams));
589
606
  };
590
607
  }
591
- auto outAsync = ::std::make_shared<Outgoing>(shared_from_this(), r, ex, sent);
608
+ auto outAsync = ::std::make_shared<Outgoing>(shared_from_this(), std::move(r), std::move(ex), std::move(sent));
592
609
  outAsync->invoke(operation, mode, ::IceInternal::makePair(inParams), context);
593
610
  return [outAsync]() { outAsync->cancel(); };
594
611
  }
@@ -669,12 +686,16 @@ public:
669
686
  ::std::function<void(Result&&)> r;
670
687
  if(response)
671
688
  {
689
+ #if ICE_CPLUSPLUS >= 201402L
690
+ r = [response = std::move(response)](Result&& result)
691
+ #else
672
692
  r = [response](Result&& result)
693
+ #endif
673
694
  {
674
695
  response(::std::get<0>(result), ::std::move(::std::get<1>(result)));
675
696
  };
676
697
  }
677
- auto outAsync = ::std::make_shared<Outgoing>(shared_from_this(), r, ex, sent);
698
+ auto outAsync = ::std::make_shared<Outgoing>(shared_from_this(), std::move(r), std::move(ex), std::move(sent));
678
699
  outAsync->invoke(operation, mode, inParams, context);
679
700
  return [outAsync]() { outAsync->cancel(); };
680
701
  }
@@ -1023,7 +1044,7 @@ public:
1023
1044
  ::std::function<void(bool)> sent = nullptr)
1024
1045
  {
1025
1046
  using LambdaOutgoing = ::IceInternal::ProxyGetConnectionLambda;
1026
- auto outAsync = ::std::make_shared<LambdaOutgoing>(shared_from_this(), response, ex, sent);
1047
+ auto outAsync = ::std::make_shared<LambdaOutgoing>(shared_from_this(), std::move(response), std::move(ex), std::move(sent));
1027
1048
  _iceI_getConnection(outAsync);
1028
1049
  return [outAsync]() { outAsync->cancel(); };
1029
1050
  }
@@ -1073,7 +1094,7 @@ public:
1073
1094
  ::std::function<void(bool)> sent = nullptr)
1074
1095
  {
1075
1096
  using LambdaOutgoing = ::IceInternal::ProxyFlushBatchLambda;
1076
- auto outAsync = ::std::make_shared<LambdaOutgoing>(shared_from_this(), ex, sent);
1097
+ auto outAsync = ::std::make_shared<LambdaOutgoing>(shared_from_this(), std::move(ex), std::move(sent));
1077
1098
  _iceI_flushBatchRequests(outAsync);
1078
1099
  return [outAsync]() { outAsync->cancel(); };
1079
1100
  }
@@ -1128,7 +1149,8 @@ protected:
1128
1149
  template<typename R, typename Re, typename E, typename S, typename Obj, typename Fn, typename... Args>
1129
1150
  ::std::function<void()> _makeLamdaOutgoing(Re r, E e, S s, Obj obj, Fn fn, Args&&... args)
1130
1151
  {
1131
- auto outAsync = ::std::make_shared<::IceInternal::LambdaOutgoing<R>>(shared_from_this(), r, e, s);
1152
+ auto outAsync = ::std::make_shared<::IceInternal::LambdaOutgoing<R>>(shared_from_this(),
1153
+ std::move(r), std::move(e), std::move(s));
1132
1154
  (obj->*fn)(outAsync, std::forward<Args>(args)...);
1133
1155
  return [outAsync]() { outAsync->cancel(); };
1134
1156
  }
@@ -283,8 +283,8 @@
283
283
  //
284
284
  // The Ice version.
285
285
  //
286
- #define ICE_STRING_VERSION "3.7.3" // "A.B.C", with A=major, B=minor, C=patch
287
- #define ICE_INT_VERSION 30703 // AABBCC, with AA=major, BB=minor, CC=patch
286
+ #define ICE_STRING_VERSION "3.7.4" // "A.B.C", with A=major, B=minor, C=patch
287
+ #define ICE_INT_VERSION 30704 // AABBCC, with AA=major, BB=minor, CC=patch
288
288
  #define ICE_SO_VERSION "37" // "ABC", with A=major, B=minor, C=patch
289
289
 
290
290
  #if !defined(ICE_BUILDING_ICE) && defined(ICE_API_EXPORTS)
@@ -7,8 +7,8 @@
7
7
 
8
8
  #include "winver.h"
9
9
 
10
- #define ICE_VERSION 3,7,3,0
11
- #define ICE_STRING_VERSION "3.7.3\0"
10
+ #define ICE_VERSION 3,7,4,0
11
+ #define ICE_STRING_VERSION "3.7.4\0"
12
12
  #define ICE_SO_VERSION "37\0"
13
13
  #define ICE_COMPANY_NAME "ZeroC, Inc.\0"
14
14
  #define ICE_COPYRIGHT "\251 ZeroC, Inc.\0"
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.3
5
+ // Ice version 3.7.4
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -35,7 +35,7 @@
35
35
  # if ICE_INT_VERSION % 100 >= 50
36
36
  # error Beta header file detected
37
37
  # endif
38
- # if ICE_INT_VERSION % 100 < 3
38
+ # if ICE_INT_VERSION % 100 < 4
39
39
  # error Ice patch level mismatch!
40
40
  # endif
41
41
  #endif
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.3
5
+ // Ice version 3.7.4
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -56,7 +56,7 @@
56
56
  # if ICE_INT_VERSION % 100 >= 50
57
57
  # error Beta header file detected
58
58
  # endif
59
- # if ICE_INT_VERSION % 100 < 3
59
+ # if ICE_INT_VERSION % 100 < 4
60
60
  # error Ice patch level mismatch!
61
61
  # endif
62
62
  #endif
@@ -513,7 +513,7 @@ public:
513
513
  * If Ice.Admin.ServerId is set and the provided object adapter has a {@link Locator},
514
514
  * createAdmin registers the Admin's Process facet with the {@link Locator}'s {@link LocatorRegistry}.
515
515
  *
516
- * createAdmin call only be called once; subsequent calls raise InitializationException.
516
+ * createAdmin must only be called once; subsequent calls raise InitializationException.
517
517
  * @param adminAdapter The object adapter used to host the Admin object; if null and
518
518
  * Ice.Admin.Endpoints is set, create, activate and use the Ice.Admin object adapter.
519
519
  * @param adminId The identity of the Admin object.
@@ -1069,7 +1069,7 @@ public:
1069
1069
  * If Ice.Admin.ServerId is set and the provided object adapter has a {@link Locator},
1070
1070
  * createAdmin registers the Admin's Process facet with the {@link Locator}'s {@link LocatorRegistry}.
1071
1071
  *
1072
- * createAdmin call only be called once; subsequent calls raise InitializationException.
1072
+ * createAdmin must only be called once; subsequent calls raise InitializationException.
1073
1073
  * @param adminAdapter The object adapter used to host the Admin object; if null and
1074
1074
  * Ice.Admin.Endpoints is set, create, activate and use the Ice.Admin object adapter.
1075
1075
  * @param adminId The identity of the Admin object.
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.3
5
+ // Ice version 3.7.4
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -35,7 +35,7 @@
35
35
  # if ICE_INT_VERSION % 100 >= 50
36
36
  # error Beta header file detected
37
37
  # endif
38
- # if ICE_INT_VERSION % 100 < 3
38
+ # if ICE_INT_VERSION % 100 < 4
39
39
  # error Ice patch level mismatch!
40
40
  # endif
41
41
  #endif
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.3
5
+ // Ice version 3.7.4
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -39,7 +39,7 @@
39
39
  # if ICE_INT_VERSION % 100 >= 50
40
40
  # error Beta header file detected
41
41
  # endif
42
- # if ICE_INT_VERSION % 100 < 3
42
+ # if ICE_INT_VERSION % 100 < 4
43
43
  # error Ice patch level mismatch!
44
44
  # endif
45
45
  #endif
@@ -235,10 +235,10 @@ public:
235
235
  * @param connectionId The connection id.
236
236
  */
237
237
  ConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo>& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId) :
238
- underlying(::std::move(underlying)),
238
+ underlying(underlying),
239
239
  incoming(incoming),
240
- adapterName(::std::move(adapterName)),
241
- connectionId(::std::move(connectionId))
240
+ adapterName(adapterName),
241
+ connectionId(connectionId)
242
242
  {
243
243
  }
244
244
 
@@ -543,10 +543,10 @@ public:
543
543
  * @param remotePort The remote port.
544
544
  */
545
545
  IPConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo>& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::std::string& localAddress, int localPort, const ::std::string& remoteAddress, int remotePort) :
546
- ConnectionInfo(::std::move(underlying), incoming, ::std::move(adapterName), ::std::move(connectionId)),
547
- localAddress(::std::move(localAddress)),
546
+ ConnectionInfo(underlying, incoming, adapterName, connectionId),
547
+ localAddress(localAddress),
548
548
  localPort(localPort),
549
- remoteAddress(::std::move(remoteAddress)),
549
+ remoteAddress(remoteAddress),
550
550
  remotePort(remotePort)
551
551
  {
552
552
  }
@@ -604,7 +604,7 @@ public:
604
604
  * @param sndSize The connection buffer send size.
605
605
  */
606
606
  TCPConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo>& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::std::string& localAddress, int localPort, const ::std::string& remoteAddress, int remotePort, int rcvSize, int sndSize) :
607
- IPConnectionInfo(::std::move(underlying), incoming, ::std::move(adapterName), ::std::move(connectionId), ::std::move(localAddress), localPort, ::std::move(remoteAddress), remotePort),
607
+ IPConnectionInfo(underlying, incoming, adapterName, connectionId, localAddress, localPort, remoteAddress, remotePort),
608
608
  rcvSize(rcvSize),
609
609
  sndSize(sndSize)
610
610
  {
@@ -658,8 +658,8 @@ public:
658
658
  * @param sndSize The connection buffer send size.
659
659
  */
660
660
  UDPConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo>& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::std::string& localAddress, int localPort, const ::std::string& remoteAddress, int remotePort, const ::std::string& mcastAddress, int mcastPort, int rcvSize, int sndSize) :
661
- IPConnectionInfo(::std::move(underlying), incoming, ::std::move(adapterName), ::std::move(connectionId), ::std::move(localAddress), localPort, ::std::move(remoteAddress), remotePort),
662
- mcastAddress(::std::move(mcastAddress)),
661
+ IPConnectionInfo(underlying, incoming, adapterName, connectionId, localAddress, localPort, remoteAddress, remotePort),
662
+ mcastAddress(mcastAddress),
663
663
  mcastPort(mcastPort),
664
664
  rcvSize(rcvSize),
665
665
  sndSize(sndSize)
@@ -710,8 +710,8 @@ public:
710
710
  * @param headers The headers from the HTTP upgrade request.
711
711
  */
712
712
  WSConnectionInfo(const ::std::shared_ptr<::Ice::ConnectionInfo>& underlying, bool incoming, const ::std::string& adapterName, const ::std::string& connectionId, const ::Ice::HeaderDict& headers) :
713
- ConnectionInfo(::std::move(underlying), incoming, ::std::move(adapterName), ::std::move(connectionId)),
714
- headers(::std::move(headers))
713
+ ConnectionInfo(underlying, incoming, adapterName, connectionId),
714
+ headers(headers)
715
715
  {
716
716
  }
717
717