zeroc-ice 3.8.0 → 3.8.2

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 (169) hide show
  1. checksums.yaml +4 -4
  2. data/dist/IceRuby/Operation.cpp +22 -6
  3. data/dist/IceRuby/Slice.cpp +1 -1
  4. data/dist/ice/cpp/include/Ice/Communicator.h +4 -4
  5. data/dist/ice/cpp/include/Ice/Config.h +2 -2
  6. data/dist/ice/cpp/include/Ice/Connection.h +3 -3
  7. data/dist/ice/cpp/include/Ice/Endpoint.h +2 -2
  8. data/dist/ice/cpp/include/Ice/Exception.h +1 -1
  9. data/dist/ice/cpp/include/Ice/Initialize.h +1 -1
  10. data/dist/ice/cpp/include/Ice/LocalExceptions.h +22 -1
  11. data/dist/ice/cpp/include/Ice/Logger.h +3 -3
  12. data/dist/ice/cpp/include/Ice/NativePropertiesAdmin.h +2 -0
  13. data/dist/ice/cpp/include/Ice/ObjectAdapter.h +3 -3
  14. data/dist/ice/cpp/include/Ice/ObserverHelper.h +1 -0
  15. data/dist/ice/cpp/include/Ice/OutputStream.h +27 -5
  16. data/dist/ice/cpp/include/Ice/Properties.h +3 -3
  17. data/dist/ice/cpp/include/Ice/Proxy.h +1 -1
  18. data/dist/ice/cpp/include/Ice/SSL/ClientAuthenticationOptions.h +10 -2
  19. data/dist/ice/cpp/include/Ice/SSL/ServerAuthenticationOptions.h +10 -2
  20. data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +2 -2
  21. data/dist/ice/cpp/include/generated/Ice/Context.h +2 -2
  22. data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +2 -2
  23. data/dist/ice/cpp/include/generated/Ice/Identity.h +2 -2
  24. data/dist/ice/cpp/include/generated/Ice/Locator.h +9 -11
  25. data/dist/ice/cpp/include/generated/Ice/LocatorRegistry.h +2 -2
  26. data/dist/ice/cpp/include/generated/Ice/Metrics.h +7 -7
  27. data/dist/ice/cpp/include/generated/Ice/OperationMode.h +2 -2
  28. data/dist/ice/cpp/include/generated/Ice/Process.h +2 -2
  29. data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +2 -2
  30. data/dist/ice/cpp/include/generated/Ice/PropertyDict.h +2 -2
  31. data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +2 -2
  32. data/dist/ice/cpp/include/generated/Ice/ReplyStatus.h +8 -4
  33. data/dist/ice/cpp/include/generated/Ice/Router.h +7 -7
  34. data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +2 -2
  35. data/dist/ice/cpp/include/generated/Ice/Version.h +2 -2
  36. data/dist/ice/cpp/include/generated/IceDiscovery/Lookup.h +2 -2
  37. data/dist/ice/cpp/include/generated/IceLocatorDiscovery/Lookup.h +2 -2
  38. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +5 -3
  39. data/dist/ice/cpp/src/Ice/ConnectionFactory.h +8 -8
  40. data/dist/ice/cpp/src/Ice/ConnectionI.cpp +28 -11
  41. data/dist/ice/cpp/src/Ice/ConnectionI.h +1 -1
  42. data/dist/ice/cpp/src/Ice/Demangle.cpp +1 -0
  43. data/dist/ice/cpp/src/Ice/FileUtil.cpp +3 -67
  44. data/dist/ice/cpp/src/Ice/FileUtil.h +0 -3
  45. data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +4 -0
  46. data/dist/ice/cpp/src/Ice/IncomingRequest.cpp +1 -1
  47. data/dist/ice/cpp/src/Ice/InputStream.cpp +28 -17
  48. data/dist/ice/cpp/src/Ice/LocalException.cpp +1 -1
  49. data/dist/ice/cpp/src/Ice/LocalExceptions.cpp +6 -0
  50. data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +1 -1
  51. data/dist/ice/cpp/src/Ice/OutgoingResponse.cpp +127 -127
  52. data/dist/ice/cpp/src/Ice/OutgoingResponseInternal.h +21 -0
  53. data/dist/ice/cpp/src/Ice/OutputStream.cpp +80 -115
  54. data/dist/ice/cpp/src/Ice/PropertyNames.cpp +3 -2
  55. data/dist/ice/cpp/src/Ice/ProxyFunctions.cpp +4 -4
  56. data/dist/ice/cpp/src/Ice/Reference.cpp +15 -15
  57. data/dist/ice/cpp/src/Ice/ReferenceFactory.cpp +16 -13
  58. data/dist/ice/cpp/src/Ice/ResourceConfig.h +2 -2
  59. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.cpp +29 -20
  60. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.h +1 -2
  61. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.cpp +14 -3
  62. data/dist/ice/cpp/src/Ice/SSL/RFC2253.cpp +3 -3
  63. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.cpp +1 -1
  64. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.h +4 -10
  65. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.cpp +21 -2
  66. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.h +15 -1
  67. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.cpp +67 -48
  68. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.h +1 -5
  69. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.cpp +14 -2
  70. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.cpp +111 -15
  71. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.h +7 -2
  72. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.h +1 -1
  73. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.cpp +3 -16
  74. data/dist/ice/cpp/src/Ice/SSL/TrustManager.cpp +12 -1
  75. data/dist/ice/cpp/src/Ice/ServantManager.h +1 -1
  76. data/dist/ice/cpp/src/Ice/StringConverter.cpp +4 -0
  77. data/dist/ice/cpp/src/Ice/TcpEndpointI.cpp +2 -2
  78. data/dist/ice/cpp/src/Ice/UdpEndpointI.cpp +2 -2
  79. data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +8 -3
  80. data/dist/ice/cpp/src/Ice/WSAcceptor.h +5 -1
  81. data/dist/ice/cpp/src/Ice/WSEndpoint.cpp +45 -2
  82. data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +118 -7
  83. data/dist/ice/cpp/src/Ice/WSTransceiver.h +12 -1
  84. data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +2 -2
  85. data/dist/ice/cpp/src/Ice/generated/Context.cpp +2 -2
  86. data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +2 -2
  87. data/dist/ice/cpp/src/Ice/generated/Identity.cpp +2 -2
  88. data/dist/ice/cpp/src/Ice/generated/Locator.cpp +2 -2
  89. data/dist/ice/cpp/src/Ice/generated/LocatorRegistry.cpp +2 -2
  90. data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +2 -2
  91. data/dist/ice/cpp/src/Ice/generated/OperationMode.cpp +2 -2
  92. data/dist/ice/cpp/src/Ice/generated/Process.cpp +2 -2
  93. data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +2 -2
  94. data/dist/ice/cpp/src/Ice/generated/PropertyDict.cpp +2 -2
  95. data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +2 -2
  96. data/dist/ice/cpp/src/Ice/generated/ReplyStatus.cpp +4 -2
  97. data/dist/ice/cpp/src/Ice/generated/Router.cpp +2 -2
  98. data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +2 -2
  99. data/dist/ice/cpp/src/Ice/generated/Version.cpp +2 -2
  100. data/dist/ice/cpp/src/IceDiscovery/LocatorI.cpp +2 -2
  101. data/dist/ice/cpp/src/IceDiscovery/LookupI.cpp +4 -3
  102. data/dist/ice/cpp/src/IceDiscovery/LookupI.h +2 -1
  103. data/dist/ice/cpp/src/IceDiscovery/generated/Lookup.cpp +2 -2
  104. data/dist/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +6 -18
  105. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/Lookup.cpp +2 -2
  106. data/dist/ice/cpp/src/Slice/DocCommentParser.cpp +6 -6
  107. data/dist/ice/cpp/src/Slice/DocCommentParser.h +4 -2
  108. data/dist/ice/cpp/src/Slice/FileTracker.h +1 -0
  109. data/dist/ice/cpp/src/Slice/Grammar.cpp +261 -264
  110. data/dist/ice/cpp/src/Slice/MetadataValidation.cpp +39 -7
  111. data/dist/ice/cpp/src/Slice/MetadataValidation.h +3 -2
  112. data/dist/ice/cpp/src/Slice/Parser.cpp +192 -155
  113. data/dist/ice/cpp/src/Slice/Parser.h +44 -9
  114. data/dist/ice/cpp/src/Slice/Preprocessor.cpp +76 -20
  115. data/dist/ice/cpp/src/Slice/Preprocessor.h +0 -1
  116. data/dist/ice/cpp/src/Slice/Scanner.cpp +1 -1
  117. data/dist/ice/cpp/src/Slice/SliceUtil.cpp +44 -58
  118. data/dist/ice/cpp/src/Slice/StringLiteralUtil.cpp +3 -10
  119. data/dist/ice/cpp/src/Slice/Util.h +7 -3
  120. data/dist/ice/cpp/src/slice2rb/Main.cpp +2 -2
  121. data/dist/ice/cpp/src/slice2rb/Ruby.cpp +1 -1
  122. data/dist/ice/cpp/src/slice2rb/RubyUtil.cpp +10 -8
  123. data/dist/ice/cpp/src/slice2rb/RubyUtil.h +10 -13
  124. data/dist/ice/mcpp/directive.c +5 -2
  125. data/dist/ice/mcpp/mcpp_main.c +1 -1
  126. data/dist/ice/mcpp/support.c +6 -6
  127. data/dist/ice/mcpp/system.c +5 -5
  128. data/dist/ice/slice/Ice/Identity.ice +3 -0
  129. data/dist/ice/slice/Ice/Locator.ice +6 -5
  130. data/dist/ice/slice/Ice/LocatorRegistry.ice +3 -0
  131. data/dist/ice/slice/Ice/Metrics.ice +1 -1
  132. data/dist/ice/slice/Ice/OperationMode.ice +8 -0
  133. data/dist/ice/slice/Ice/Process.ice +3 -0
  134. data/dist/ice/slice/Ice/ReplyStatus.ice +13 -0
  135. data/dist/lib/Glacier2/Metrics.rb +1 -1
  136. data/dist/lib/Glacier2/PermissionsVerifier.rb +3 -3
  137. data/dist/lib/Glacier2/Router.rb +8 -8
  138. data/dist/lib/Glacier2/SSLInfo.rb +1 -1
  139. data/dist/lib/Glacier2/Session.rb +15 -15
  140. data/dist/lib/Ice/BuiltinSequences.rb +1 -1
  141. data/dist/lib/Ice/Context.rb +1 -1
  142. data/dist/lib/Ice/EndpointTypes.rb +1 -1
  143. data/dist/lib/Ice/Identity.rb +1 -1
  144. data/dist/lib/Ice/LocalExceptions.rb +3 -0
  145. data/dist/lib/Ice/Locator.rb +5 -5
  146. data/dist/lib/Ice/LocatorRegistry.rb +4 -4
  147. data/dist/lib/Ice/Metrics.rb +7 -7
  148. data/dist/lib/Ice/OperationMode.rb +1 -1
  149. data/dist/lib/Ice/Process.rb +3 -3
  150. data/dist/lib/Ice/PropertiesAdmin.rb +4 -4
  151. data/dist/lib/Ice/PropertyDict.rb +1 -1
  152. data/dist/lib/Ice/ProxyFunctions.rb +8 -4
  153. data/dist/lib/Ice/RemoteLogger.rb +6 -6
  154. data/dist/lib/Ice/ReplyStatus.rb +3 -2
  155. data/dist/lib/Ice/Router.rb +5 -5
  156. data/dist/lib/Ice/SliceChecksumDict.rb +1 -1
  157. data/dist/lib/Ice/Version.rb +1 -1
  158. data/dist/lib/IceBox/ServiceManager.rb +8 -8
  159. data/dist/lib/IceGrid/Admin.rb +83 -83
  160. data/dist/lib/IceGrid/Descriptor.rb +1 -1
  161. data/dist/lib/IceGrid/Exception.rb +1 -1
  162. data/dist/lib/IceGrid/FileParser.rb +2 -2
  163. data/dist/lib/IceGrid/Registry.rb +13 -13
  164. data/dist/lib/IceGrid/Session.rb +6 -6
  165. data/dist/lib/IceGrid/UserAccountMapper.rb +2 -2
  166. data/dist/lib/IceStorm/IceStorm.rb +16 -16
  167. data/dist/lib/IceStorm/Metrics.rb +1 -1
  168. data/ice.gemspec +1 -1
  169. metadata +2 -1
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) ZeroC, Inc.
2
2
 
3
- // slice2cpp version 3.8.0
3
+ // slice2cpp version 3.8.2
4
4
  // <auto-generated>Generated from Slice file 'PropertyDict.ice'.</auto-generated>
5
5
 
6
6
  #ifndef ICE_API_EXPORTS
@@ -34,7 +34,7 @@
34
34
  # if ICE_INT_VERSION % 100 >= 50
35
35
  # error Beta header file detected
36
36
  # endif
37
- # if ICE_INT_VERSION % 100 < 0
37
+ # if ICE_INT_VERSION % 100 < 2
38
38
  # error Ice patch level mismatch!
39
39
  # endif
40
40
  #endif
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) ZeroC, Inc.
2
2
 
3
- // slice2cpp version 3.8.0
3
+ // slice2cpp version 3.8.2
4
4
  // <auto-generated>Generated from Slice file 'RemoteLogger.ice'.</auto-generated>
5
5
 
6
6
  #ifndef ICE_API_EXPORTS
@@ -33,7 +33,7 @@
33
33
  # if ICE_INT_VERSION % 100 >= 50
34
34
  # error Beta header file detected
35
35
  # endif
36
- # if ICE_INT_VERSION % 100 < 0
36
+ # if ICE_INT_VERSION % 100 < 2
37
37
  # error Ice patch level mismatch!
38
38
  # endif
39
39
  #endif
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) ZeroC, Inc.
2
2
 
3
- // slice2cpp version 3.8.0
3
+ // slice2cpp version 3.8.2
4
4
  // <auto-generated>Generated from Slice file 'ReplyStatus.ice'.</auto-generated>
5
5
 
6
6
  #ifndef ICE_API_EXPORTS
@@ -34,7 +34,7 @@
34
34
  # if ICE_INT_VERSION % 100 >= 50
35
35
  # error Beta header file detected
36
36
  # endif
37
- # if ICE_INT_VERSION % 100 < 0
37
+ # if ICE_INT_VERSION % 100 < 2
38
38
  # error Ice patch level mismatch!
39
39
  # endif
40
40
  #endif
@@ -64,6 +64,8 @@ Ice::operator<<(std::ostream& os, ReplyStatus value)
64
64
  return os << "InvalidData";
65
65
  case ReplyStatus::Unauthorized:
66
66
  return os << "Unauthorized";
67
+ case ReplyStatus::NotSupported:
68
+ return os << "NotSupported";
67
69
  default:
68
70
  return os << static_cast<std::int32_t>(value);
69
71
  }
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) ZeroC, Inc.
2
2
 
3
- // slice2cpp version 3.8.0
3
+ // slice2cpp version 3.8.2
4
4
  // <auto-generated>Generated from Slice file 'Router.ice'.</auto-generated>
5
5
 
6
6
  #ifndef ICE_API_EXPORTS
@@ -33,7 +33,7 @@
33
33
  # if ICE_INT_VERSION % 100 >= 50
34
34
  # error Beta header file detected
35
35
  # endif
36
- # if ICE_INT_VERSION % 100 < 0
36
+ # if ICE_INT_VERSION % 100 < 2
37
37
  # error Ice patch level mismatch!
38
38
  # endif
39
39
  #endif
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) ZeroC, Inc.
2
2
 
3
- // slice2cpp version 3.8.0
3
+ // slice2cpp version 3.8.2
4
4
  // <auto-generated>Generated from Slice file 'SliceChecksumDict.ice'.</auto-generated>
5
5
 
6
6
  #ifndef ICE_API_EXPORTS
@@ -33,7 +33,7 @@
33
33
  # if ICE_INT_VERSION % 100 >= 50
34
34
  # error Beta header file detected
35
35
  # endif
36
- # if ICE_INT_VERSION % 100 < 0
36
+ # if ICE_INT_VERSION % 100 < 2
37
37
  # error Ice patch level mismatch!
38
38
  # endif
39
39
  #endif
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) ZeroC, Inc.
2
2
 
3
- // slice2cpp version 3.8.0
3
+ // slice2cpp version 3.8.2
4
4
  // <auto-generated>Generated from Slice file 'Version.ice'.</auto-generated>
5
5
 
6
6
  #ifndef ICE_API_EXPORTS
@@ -34,7 +34,7 @@
34
34
  # if ICE_INT_VERSION % 100 >= 50
35
35
  # error Beta header file detected
36
36
  # endif
37
- # if ICE_INT_VERSION % 100 < 0
37
+ # if ICE_INT_VERSION % 100 < 2
38
38
  # error Ice patch level mismatch!
39
39
  # endif
40
40
  #endif
@@ -25,7 +25,7 @@ LocatorRegistryI::setAdapterDirectProxy(string adapterId, optional<ObjectPrx> pr
25
25
  lock_guard lock(_mutex);
26
26
  if (proxy)
27
27
  {
28
- _adapters.insert({adapterId, std::move(*proxy)});
28
+ _adapters.insert_or_assign(adapterId, std::move(*proxy));
29
29
  }
30
30
  else
31
31
  {
@@ -43,7 +43,7 @@ LocatorRegistryI::setReplicatedAdapterDirectProxy(
43
43
  lock_guard lock(_mutex);
44
44
  if (proxy)
45
45
  {
46
- _adapters.insert({adapterId, std::move(*proxy)});
46
+ _adapters.insert_or_assign(adapterId, std::move(*proxy));
47
47
  auto p = _replicaGroups.find(replicaGroupId);
48
48
  if (p == _replicaGroups.end())
49
49
  {
@@ -2,7 +2,6 @@
2
2
 
3
3
  #include "LookupI.h"
4
4
  #include "Ice/Communicator.h"
5
- #include "Ice/Connection.h"
6
5
  #include "Ice/Initialize.h"
7
6
  #include "Ice/LocalExceptions.h"
8
7
  #include "Ice/LoggerUtil.h"
@@ -226,8 +225,9 @@ LookupI::setLookupReply(const LookupReplyPrx& lookupReply)
226
225
  }
227
226
 
228
227
  void
229
- LookupI::findObjectById(string domainId, Ice::Identity id, optional<LookupReplyPrx> reply, const Ice::Current&)
228
+ LookupI::findObjectById(string domainId, Ice::Identity id, optional<LookupReplyPrx> reply, const Ice::Current& current)
230
229
  {
230
+ checkNotNull(reply, __FILE__, __LINE__, current);
231
231
  if (domainId != _domainId)
232
232
  {
233
233
  return; // Ignore.
@@ -249,8 +249,9 @@ LookupI::findObjectById(string domainId, Ice::Identity id, optional<LookupReplyP
249
249
  }
250
250
 
251
251
  void
252
- LookupI::findAdapterById(string domainId, string adapterId, optional<LookupReplyPrx> reply, const Ice::Current&)
252
+ LookupI::findAdapterById(string domainId, string adapterId, optional<LookupReplyPrx> reply, const Ice::Current& current)
253
253
  {
254
+ checkNotNull(reply, __FILE__, __LINE__, current);
254
255
  if (domainId != _domainId)
255
256
  {
256
257
  return; // Ignore.
@@ -70,7 +70,8 @@ namespace IceDiscovery
70
70
  using AdapterCB =
71
71
  std::pair<std::function<void(const std::optional<Ice::ObjectPrx>&)>, std::function<void(std::exception_ptr)>>;
72
72
 
73
- class ObjectRequest : public RequestT<Ice::Identity, ObjectCB>, public std::enable_shared_from_this<ObjectRequest>
73
+ class ObjectRequest final : public RequestT<Ice::Identity, ObjectCB>,
74
+ public std::enable_shared_from_this<ObjectRequest>
74
75
  {
75
76
  public:
76
77
  ObjectRequest(const LookupIPtr&, const Ice::Identity&, int);
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) ZeroC, Inc.
2
2
 
3
- // slice2cpp version 3.8.0
3
+ // slice2cpp version 3.8.2
4
4
  // <auto-generated>Generated from Slice file 'Lookup.ice'.</auto-generated>
5
5
 
6
6
  #define ICE_BUILDING_GENERATED_CODE
@@ -30,7 +30,7 @@
30
30
  # if ICE_INT_VERSION % 100 >= 50
31
31
  # error Beta header file detected
32
32
  # endif
33
- # if ICE_INT_VERSION % 100 < 0
33
+ # if ICE_INT_VERSION % 100 < 2
34
34
  # error Ice patch level mismatch!
35
35
  # endif
36
36
  #endif
@@ -71,7 +71,7 @@ namespace
71
71
  function<void(exception_ptr)>,
72
72
  const Ice::Current&) final;
73
73
 
74
- void foundLocator(const optional<Ice::LocatorPrx>&);
74
+ void foundLocator(const Ice::LocatorPrx&);
75
75
  void invoke(const optional<Ice::LocatorPrx>&, const RequestPtr&);
76
76
 
77
77
  vector<Ice::LocatorPrx> getLocators(const string&, const chrono::milliseconds&);
@@ -149,7 +149,6 @@ namespace
149
149
  [[nodiscard]] vector<Ice::LocatorPrx> getLocators(const string&, const chrono::milliseconds&) const final;
150
150
 
151
151
  private:
152
- const string _name;
153
152
  const Ice::CommunicatorPtr _communicator;
154
153
  Ice::ObjectAdapterPtr _locatorAdapter;
155
154
  Ice::ObjectAdapterPtr _replyAdapter;
@@ -429,6 +428,7 @@ LocatorI::setLookupReply(const LookupReplyPrx& lookupReply)
429
428
  if (r && r->host == info->mcastInterface)
430
429
  {
431
430
  reply = reply->ice_endpoints(Ice::EndpointSeq{replyEndpoint});
431
+ break;
432
432
  }
433
433
  }
434
434
  }
@@ -506,21 +506,9 @@ LocatorI::getLocators(const string& instanceName, const chrono::milliseconds& wa
506
506
  }
507
507
 
508
508
  void
509
- LocatorI::foundLocator(const optional<Ice::LocatorPrx>& reply)
509
+ LocatorI::foundLocator(const Ice::LocatorPrx& locator)
510
510
  {
511
511
  lock_guard lock(_mutex);
512
-
513
- if (!reply)
514
- {
515
- if (_traceLevel > 2)
516
- {
517
- Ice::Trace out(_lookup->ice_getCommunicator()->getLogger(), "Lookup");
518
- out << "ignoring locator reply: (null locator)";
519
- }
520
- return;
521
- }
522
-
523
- Ice::LocatorPrx locator = *reply;
524
512
  if (!_instanceName.empty() && locator->ice_getIdentity().category != _instanceName)
525
513
  {
526
514
  if (_traceLevel > 2)
@@ -574,7 +562,6 @@ LocatorI::foundLocator(const optional<Ice::LocatorPrx>& reply)
574
562
  {
575
563
  // We found another locator replica, append its endpoints to the current locator proxy endpoints.
576
564
  Ice::EndpointSeq newEndpoints = i->second->ice_getEndpoints();
577
- Ice::EndpointSeq endpts = locator->ice_getEndpoints();
578
565
  for (const auto& endpoint : locator->ice_getEndpoints())
579
566
  {
580
567
  if (std::find(newEndpoints.begin(), newEndpoints.end(), endpoint) == newEndpoints.end())
@@ -816,7 +803,8 @@ LocatorI::runTimerTask()
816
803
  }
817
804
 
818
805
  void
819
- LookupReplyI::foundLocator(optional<Ice::LocatorPrx> locator, const Ice::Current&)
806
+ LookupReplyI::foundLocator(optional<Ice::LocatorPrx> locator, const Ice::Current& current)
820
807
  {
821
- _locator->foundLocator(locator);
808
+ checkNotNull(locator, __FILE__, __LINE__, current);
809
+ _locator->foundLocator(*locator);
822
810
  }
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) ZeroC, Inc.
2
2
 
3
- // slice2cpp version 3.8.0
3
+ // slice2cpp version 3.8.2
4
4
  // <auto-generated>Generated from Slice file 'Lookup.ice'.</auto-generated>
5
5
 
6
6
  #define ICE_BUILDING_GENERATED_CODE
@@ -30,7 +30,7 @@
30
30
  # if ICE_INT_VERSION % 100 >= 50
31
31
  # error Beta header file detected
32
32
  # endif
33
- # if ICE_INT_VERSION % 100 < 0
33
+ # if ICE_INT_VERSION % 100 < 2
34
34
  # error Ice patch level mismatch!
35
35
  # endif
36
36
  #endif
@@ -60,9 +60,9 @@ DocCommentFormatter::formatCode(const string& rawText)
60
60
  }
61
61
 
62
62
  string
63
- DocCommentFormatter::formatParamRef(const string& param)
63
+ DocCommentFormatter::formatParamRef(const string& paramName, const ParameterPtr&)
64
64
  {
65
- return formatCode(param);
65
+ return formatCode(paramName);
66
66
  }
67
67
 
68
68
  string
@@ -397,19 +397,19 @@ namespace
397
397
  // Extract the parameter's name and check if matches an operation parameter.
398
398
  // If it does, make sure to use the mapped name instead of the Slice name.
399
399
  string parameterName = line.substr(nameStart, nameEnd - nameStart);
400
+ ParameterPtr parameterPtr = nullptr;
400
401
  if (auto operationTarget = dynamic_pointer_cast<Operation>(p))
401
402
  {
402
- bool doesParameterExist = false;
403
403
  for (const auto& param : operationTarget->parameters())
404
404
  {
405
405
  if (param->name() == parameterName)
406
406
  {
407
407
  parameterName = param->mappedName();
408
- doesParameterExist = true;
408
+ parameterPtr = param;
409
409
  break;
410
410
  }
411
411
  }
412
- if (!doesParameterExist)
412
+ if (parameterPtr == nullptr)
413
413
  {
414
414
  string opName = operationTarget->name();
415
415
  string msg = "No parameter named '" + parameterName + "' exists on operation '" + opName + "'";
@@ -422,7 +422,7 @@ namespace
422
422
  }
423
423
 
424
424
  // Format the parameter's name and insert it in-place of the original '@p name'.
425
- const string formattedParamName = formatter.formatParamRef(parameterName);
425
+ const string formattedParamName = formatter.formatParamRef(parameterName, parameterPtr);
426
426
  line.erase(pos, nameEnd - pos);
427
427
  line.insert(pos, formattedParamName);
428
428
 
@@ -27,12 +27,14 @@ namespace Slice
27
27
  [[nodiscard]] virtual std::string formatCode(const std::string& rawText);
28
28
 
29
29
  /// This function is called by the doc-comment parser to map '@p' tags into each language's syntax.
30
- /// @param param The mapped name of the parameter that is being referenced.
30
+ /// @param paramName If @p paramPtr is non-null, this is the mapped name of the parameter being referenced.
31
+ /// Otherwise, this is the identifier after '@p', taken verbatim from the doc-comment.
32
+ /// @param paramPtr A pointer to the parameter that is being referenced, or `nullptr` if it doesn't exist.
31
33
  /// @return A properly formatted parameters reference in the target language. The doc-comment parser will
32
34
  /// replace the entire "@p <rawParamName>" string with the returned value.
33
35
  //
34
36
  // By default we just emit the parameter's name in code formatting.
35
- [[nodiscard]] virtual std::string formatParamRef(const std::string& param);
37
+ [[nodiscard]] virtual std::string formatParamRef(const std::string& paramName, const ParameterPtr& paramPtr);
36
38
 
37
39
  /// This function is called by the doc-comment parser to map doc-links ('{@link <rawLink>}') into each
38
40
  /// language's syntax.
@@ -7,6 +7,7 @@
7
7
  #include <map>
8
8
  #include <memory>
9
9
  #include <stdexcept>
10
+ #include <string>
10
11
 
11
12
  namespace Slice
12
13
  {