zeroc-ice 3.7.3 → 3.7.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/Communicator.cpp +3 -0
- data/ext/Config.h +11 -0
- data/ext/Types.cpp +18 -2
- data/ext/Util.cpp +15 -3
- data/ext/Util.h +36 -0
- data/ext/ice/cpp/include/Ice/Exception.h +3 -3
- data/ext/ice/cpp/include/Ice/Functional.h +3 -1
- data/ext/ice/cpp/include/Ice/IconvStringConverter.h +1 -1
- data/ext/ice/cpp/include/Ice/Initialize.h +1 -1
- data/ext/ice/cpp/include/Ice/Object.h +7 -0
- data/ext/ice/cpp/include/Ice/Optional.h +1 -1
- data/ext/ice/cpp/include/Ice/OutgoingAsync.h +15 -0
- data/ext/ice/cpp/include/Ice/Proxy.h +56 -25
- data/ext/ice/cpp/include/Ice/Service.h +1 -1
- data/ext/ice/cpp/include/IceSSL/Plugin.h +142 -0
- data/ext/ice/cpp/include/IceUtil/Config.h +3 -2
- data/ext/ice/cpp/include/IceUtil/Functional.h +3 -1
- data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +4 -4
- data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Communicator.h +10 -4
- data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Connection.h +58 -15
- data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Current.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Endpoint.h +50 -14
- data/ext/ice/cpp/include/generated/Ice/EndpointF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/FacetMap.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Identity.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +8 -2
- data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +62 -2
- data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/LocalException.h +523 -127
- data/ext/ice/cpp/include/generated/Ice/Locator.h +62 -14
- data/ext/ice/cpp/include/generated/Ice/LocatorF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Logger.h +8 -2
- data/ext/ice/cpp/include/generated/Ice/LoggerF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Metrics.h +79 -27
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +8 -2
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +8 -2
- data/ext/ice/cpp/include/generated/Ice/Plugin.h +14 -2
- data/ext/ice/cpp/include/generated/Ice/PluginF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Process.h +10 -4
- data/ext/ice/cpp/include/generated/Ice/ProcessF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Properties.h +8 -2
- data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +11 -5
- data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +26 -8
- data/ext/ice/cpp/include/generated/Ice/Router.h +18 -6
- data/ext/ice/cpp/include/generated/Ice/RouterF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +8 -2
- data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +14 -2
- data/ext/ice/cpp/include/generated/Ice/Version.h +2 -2
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +10 -5
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +2 -2
- data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +8 -3
- data/ext/ice/cpp/src/Ice/ArgVector.cpp +1 -1
- data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Communicator.cpp +2 -2
- data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Connection.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ConnectionF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Current.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Endpoint.cpp +2 -2
- data/ext/ice/cpp/src/Ice/EndpointF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +2 -2
- data/ext/ice/cpp/src/Ice/FacetMap.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Identity.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +1 -1
- data/ext/ice/cpp/src/Ice/Initialize.cpp +1 -1
- data/ext/ice/cpp/src/Ice/InputStream.cpp +29 -14
- data/ext/ice/cpp/src/Ice/Instance.cpp +3 -0
- data/ext/ice/cpp/src/Ice/Instance.h +2 -0
- data/ext/ice/cpp/src/Ice/Instrumentation.cpp +2 -2
- data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LocalException.cpp +398 -2
- data/ext/ice/cpp/src/Ice/Locator.cpp +32 -2
- data/ext/ice/cpp/src/Ice/LocatorF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Logger.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LoggerF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Metrics.cpp +8 -2
- data/ext/ice/cpp/src/Ice/Network.cpp +1 -1
- data/ext/ice/cpp/src/Ice/Network.h +0 -0
- data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +4 -4
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +8 -8
- data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Plugin.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PluginF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Process.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ProcessF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Properties.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PropertiesF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PropertyNames.cpp +6 -3
- data/ext/ice/cpp/src/Ice/PropertyNames.h +1 -1
- data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +9 -0
- data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +8 -2
- data/ext/ice/cpp/src/Ice/RetryQueue.cpp +5 -2
- data/ext/ice/cpp/src/Ice/Router.cpp +2 -2
- data/ext/ice/cpp/src/Ice/RouterF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/RouterInfo.cpp +6 -2
- data/ext/ice/cpp/src/Ice/SHA1.cpp +2 -0
- data/ext/ice/cpp/src/Ice/ServantLocator.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +2 -2
- data/ext/ice/cpp/src/Ice/StreamSocket.cpp +0 -0
- data/ext/ice/cpp/src/Ice/Thread.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ThreadPool.cpp +5 -1
- data/ext/ice/cpp/src/Ice/ThreadPool.h +0 -4
- data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -0
- data/ext/ice/cpp/src/Ice/ValueFactory.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Version.cpp +2 -2
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +2 -2
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +491 -6
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +2 -2
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +16 -4
- data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +12 -1
- data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +23 -1
- data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +2 -2
- data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +2 -2
- data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +2 -2
- data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +124 -19
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +60 -1
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +105 -2
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +1 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +2 -0
- data/ext/ice/cpp/src/IceSSL/PluginI.cpp +114 -0
- data/ext/ice/cpp/src/IceSSL/PluginI.h +21 -0
- data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +142 -1
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +117 -3
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +1 -0
- data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +20 -1
- data/ext/ice/cpp/src/IceSSL/SSLEngine.h +4 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +133 -2
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +151 -89
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +1 -0
- data/ext/ice/cpp/src/IceSSL/Util.cpp +0 -0
- data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +6 -0
- data/ext/ice/cpp/src/IceUtil/Time.cpp +8 -10
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +6 -2
- data/ext/ice/cpp/src/Slice/JavaUtil.cpp +12 -4
- data/ext/ice/cpp/src/Slice/PHPUtil.cpp +4 -0
- data/ext/ice/cpp/src/Slice/Parser.cpp +11 -7
- data/ext/ice/cpp/src/Slice/Parser.h +2 -2
- data/ext/ice/cpp/src/Slice/Preprocessor.cpp +12 -0
- data/ext/ice/cpp/src/Slice/Preprocessor.h +1 -1
- data/ext/ice/cpp/src/Slice/Python.cpp +1 -1
- data/ext/ice/cpp/src/Slice/PythonUtil.cpp +17 -5
- data/ext/ice/cpp/src/Slice/Scanner.cpp +621 -369
- data/ext/ice/mcpp/CMakeLists.txt +80 -0
- data/ext/ice/mcpp/expand.c +6 -6
- data/ice.gemspec +1 -1
- data/lib/Glacier2/Metrics.rb +1 -1
- data/lib/Glacier2/PermissionsVerifier.rb +1 -1
- data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
- data/lib/Glacier2/Router.rb +1 -1
- data/lib/Glacier2/RouterF.rb +1 -1
- data/lib/Glacier2/SSLInfo.rb +1 -1
- data/lib/Glacier2/Session.rb +1 -1
- data/lib/Ice/BuiltinSequences.rb +1 -1
- data/lib/Ice/Communicator.rb +1 -1
- data/lib/Ice/CommunicatorF.rb +1 -1
- data/lib/Ice/Connection.rb +1 -1
- data/lib/Ice/ConnectionF.rb +1 -1
- data/lib/Ice/Current.rb +1 -1
- data/lib/Ice/Endpoint.rb +1 -1
- data/lib/Ice/EndpointF.rb +1 -1
- data/lib/Ice/EndpointTypes.rb +1 -1
- data/lib/Ice/FacetMap.rb +1 -1
- data/lib/Ice/Identity.rb +1 -1
- data/lib/Ice/ImplicitContext.rb +1 -1
- data/lib/Ice/ImplicitContextF.rb +1 -1
- data/lib/Ice/Instrumentation.rb +1 -1
- data/lib/Ice/InstrumentationF.rb +1 -1
- data/lib/Ice/LocalException.rb +1 -1
- data/lib/Ice/Locator.rb +1 -1
- data/lib/Ice/LocatorF.rb +1 -1
- data/lib/Ice/Logger.rb +1 -1
- data/lib/Ice/LoggerF.rb +1 -1
- data/lib/Ice/Metrics.rb +1 -1
- data/lib/Ice/ObjectAdapter.rb +1 -1
- data/lib/Ice/ObjectAdapterF.rb +1 -1
- data/lib/Ice/ObjectFactory.rb +1 -1
- data/lib/Ice/Plugin.rb +1 -1
- data/lib/Ice/PluginF.rb +1 -1
- data/lib/Ice/Process.rb +1 -1
- data/lib/Ice/ProcessF.rb +1 -1
- data/lib/Ice/Properties.rb +1 -1
- data/lib/Ice/PropertiesAdmin.rb +1 -1
- data/lib/Ice/PropertiesF.rb +1 -1
- data/lib/Ice/RemoteLogger.rb +1 -1
- data/lib/Ice/Router.rb +1 -1
- data/lib/Ice/RouterF.rb +1 -1
- data/lib/Ice/ServantLocator.rb +1 -1
- data/lib/Ice/ServantLocatorF.rb +1 -1
- data/lib/Ice/SliceChecksumDict.rb +1 -1
- data/lib/Ice/ValueFactory.rb +1 -1
- data/lib/Ice/Version.rb +1 -1
- data/lib/IceBox/IceBox.rb +1 -1
- data/lib/IceGrid/Admin.rb +1 -1
- data/lib/IceGrid/Descriptor.rb +1 -1
- data/lib/IceGrid/Exception.rb +1 -1
- data/lib/IceGrid/FileParser.rb +1 -1
- data/lib/IceGrid/PluginFacade.rb +1 -1
- data/lib/IceGrid/Registry.rb +1 -1
- data/lib/IceGrid/Session.rb +1 -1
- data/lib/IceGrid/UserAccountMapper.rb +1 -1
- data/lib/IcePatch2/FileInfo.rb +1 -1
- data/lib/IcePatch2/FileServer.rb +1 -1
- data/lib/IceStorm/IceStorm.rb +1 -1
- data/lib/IceStorm/Metrics.rb +1 -1
- data/slice/Ice/Communicator.ice +1 -1
- data/slice/IceBox/IceBox.ice +17 -2
- data/slice/IceDiscovery/IceDiscovery.ice +56 -0
- metadata +4 -4
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.7
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -37,7 +37,7 @@
|
|
37
37
|
# if ICE_INT_VERSION % 100 >= 50
|
38
38
|
# error Beta header file detected
|
39
39
|
# endif
|
40
|
-
# if ICE_INT_VERSION % 100 <
|
40
|
+
# if ICE_INT_VERSION % 100 < 7
|
41
41
|
# error Ice patch level mismatch!
|
42
42
|
# endif
|
43
43
|
#endif
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.7
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -41,7 +41,7 @@
|
|
41
41
|
# if ICE_INT_VERSION % 100 >= 50
|
42
42
|
# error Beta header file detected
|
43
43
|
# endif
|
44
|
-
# if ICE_INT_VERSION % 100 <
|
44
|
+
# if ICE_INT_VERSION % 100 < 7
|
45
45
|
# error Ice patch level mismatch!
|
46
46
|
# endif
|
47
47
|
#endif
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.7
|
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 <
|
38
|
+
# if ICE_INT_VERSION % 100 < 7
|
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.
|
5
|
+
// Ice version 3.7.7
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -37,7 +37,7 @@
|
|
37
37
|
# if ICE_INT_VERSION % 100 >= 50
|
38
38
|
# error Beta header file detected
|
39
39
|
# endif
|
40
|
-
# if ICE_INT_VERSION % 100 <
|
40
|
+
# if ICE_INT_VERSION % 100 < 7
|
41
41
|
# error Ice patch level mismatch!
|
42
42
|
# endif
|
43
43
|
#endif
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.7
|
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 <
|
38
|
+
# if ICE_INT_VERSION % 100 < 7
|
39
39
|
# error Ice patch level mismatch!
|
40
40
|
# endif
|
41
41
|
#endif
|
@@ -48,7 +48,7 @@ IceUtil::Shared* IceInternal::upCast(IncomingConnectionFactory* p) { return p; }
|
|
48
48
|
namespace
|
49
49
|
{
|
50
50
|
|
51
|
-
#ifdef
|
51
|
+
#ifdef ICE_CPP11_COMPILER
|
52
52
|
template <typename Map> void
|
53
53
|
remove(Map& m, const typename Map::key_type& k, const typename Map::mapped_type& v)
|
54
54
|
{
|
@@ -463,7 +463,7 @@ IceInternal::OutgoingConnectionFactory::findConnection(const vector<EndpointIPtr
|
|
463
463
|
assert(!endpoints.empty());
|
464
464
|
for(vector<EndpointIPtr>::const_iterator p = endpoints.begin(); p != endpoints.end(); ++p)
|
465
465
|
{
|
466
|
-
#ifdef
|
466
|
+
#ifdef ICE_CPP11_COMPILER
|
467
467
|
auto connection = find(_connectionsByEndpoint, *p,
|
468
468
|
[](const ConnectionIPtr& conn)
|
469
469
|
{
|
@@ -501,7 +501,7 @@ IceInternal::OutgoingConnectionFactory::findConnection(const vector<ConnectorInf
|
|
501
501
|
continue;
|
502
502
|
}
|
503
503
|
|
504
|
-
#ifdef
|
504
|
+
#ifdef ICE_CPP11_COMPILER
|
505
505
|
auto connection = find(_connections, p->connector,
|
506
506
|
[](const ConnectionIPtr& conn)
|
507
507
|
{
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.7
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -37,7 +37,7 @@
|
|
37
37
|
# if ICE_INT_VERSION % 100 >= 50
|
38
38
|
# error Beta header file detected
|
39
39
|
# endif
|
40
|
-
# if ICE_INT_VERSION % 100 <
|
40
|
+
# if ICE_INT_VERSION % 100 < 7
|
41
41
|
# error Ice patch level mismatch!
|
42
42
|
# endif
|
43
43
|
#endif
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.7
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -37,7 +37,7 @@
|
|
37
37
|
# if ICE_INT_VERSION % 100 >= 50
|
38
38
|
# error Beta header file detected
|
39
39
|
# endif
|
40
|
-
# if ICE_INT_VERSION % 100 <
|
40
|
+
# if ICE_INT_VERSION % 100 < 7
|
41
41
|
# error Ice patch level mismatch!
|
42
42
|
# endif
|
43
43
|
#endif
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.7
|
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 <
|
38
|
+
# if ICE_INT_VERSION % 100 < 7
|
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.
|
5
|
+
// Ice version 3.7.7
|
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 <
|
38
|
+
# if ICE_INT_VERSION % 100 < 7
|
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.
|
5
|
+
// Ice version 3.7.7
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -37,7 +37,7 @@
|
|
37
37
|
# if ICE_INT_VERSION % 100 >= 50
|
38
38
|
# error Beta header file detected
|
39
39
|
# endif
|
40
|
-
# if ICE_INT_VERSION % 100 <
|
40
|
+
# if ICE_INT_VERSION % 100 < 7
|
41
41
|
# error Ice patch level mismatch!
|
42
42
|
# endif
|
43
43
|
#endif
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.7
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -37,7 +37,7 @@
|
|
37
37
|
# if ICE_INT_VERSION % 100 >= 50
|
38
38
|
# error Beta header file detected
|
39
39
|
# endif
|
40
|
-
# if ICE_INT_VERSION % 100 <
|
40
|
+
# if ICE_INT_VERSION % 100 < 7
|
41
41
|
# error Ice patch level mismatch!
|
42
42
|
# endif
|
43
43
|
#endif
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.7
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -37,7 +37,7 @@
|
|
37
37
|
# if ICE_INT_VERSION % 100 >= 50
|
38
38
|
# error Beta header file detected
|
39
39
|
# endif
|
40
|
-
# if ICE_INT_VERSION % 100 <
|
40
|
+
# if ICE_INT_VERSION % 100 < 7
|
41
41
|
# error Ice patch level mismatch!
|
42
42
|
# endif
|
43
43
|
#endif
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.7
|
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 <
|
38
|
+
# if ICE_INT_VERSION % 100 < 7
|
39
39
|
# error Ice patch level mismatch!
|
40
40
|
# endif
|
41
41
|
#endif
|
@@ -471,7 +471,7 @@ PerThreadImplicitContext::clearThreadContext() const
|
|
471
471
|
# ifdef _WIN32
|
472
472
|
if(TlsSetValue(_key, 0) == 0)
|
473
473
|
{
|
474
|
-
IceUtil::ThreadSyscallException(__FILE__, __LINE__, GetLastError());
|
474
|
+
throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, GetLastError());
|
475
475
|
}
|
476
476
|
# else
|
477
477
|
if(int err = pthread_setspecific(_key, 0))
|
@@ -413,7 +413,7 @@ Ice::CommunicatorHolder::operator=(shared_ptr<Communicator> communicator)
|
|
413
413
|
}
|
414
414
|
|
415
415
|
Ice::CommunicatorHolder&
|
416
|
-
Ice::CommunicatorHolder::operator=(CommunicatorHolder&& other)
|
416
|
+
Ice::CommunicatorHolder::operator=(CommunicatorHolder&& other) noexcept
|
417
417
|
{
|
418
418
|
if(_communicator)
|
419
419
|
{
|
@@ -481,7 +481,7 @@ struct ReadBoolHelper
|
|
481
481
|
{
|
482
482
|
static bool* read(pair<const bool*, const bool*>& v, Int sz, InputStream::Container::iterator& i)
|
483
483
|
{
|
484
|
-
bool* array = new bool[sz];
|
484
|
+
bool* array = new bool[static_cast<size_t>(sz)];
|
485
485
|
for(int idx = 0; idx < sz; ++idx)
|
486
486
|
{
|
487
487
|
array[idx] = static_cast<bool>(*(i + idx));
|
@@ -608,12 +608,12 @@ Ice::InputStream::read(pair<const Short*, const Short*>& v, IceUtil::ScopedArray
|
|
608
608
|
v.second = reinterpret_cast<Short*>(i);
|
609
609
|
#else
|
610
610
|
# ifdef ICE_CPP11_MAPPING
|
611
|
-
auto result = new short[sz];
|
611
|
+
auto result = new short[static_cast<size_t>(sz)];
|
612
612
|
_deleters.push_back([result] { delete[] result; });
|
613
613
|
v.first = result;
|
614
614
|
v.second = result + sz;
|
615
615
|
# else
|
616
|
-
result.reset(new Short[sz]);
|
616
|
+
result.reset(new Short[static_cast<size_t>(sz)]);
|
617
617
|
v.first = result.get();
|
618
618
|
v.second = result.get() + sz;
|
619
619
|
# endif
|
@@ -691,12 +691,12 @@ Ice::InputStream::read(pair<const Int*, const Int*>& v, ::IceUtil::ScopedArray<I
|
|
691
691
|
#else
|
692
692
|
|
693
693
|
# ifdef ICE_CPP11_MAPPING
|
694
|
-
auto result = new int[sz];
|
694
|
+
auto result = new int[static_cast<size_t>(sz)];
|
695
695
|
_deleters.push_back([result] { delete[] result; });
|
696
696
|
v.first = result;
|
697
697
|
v.second = result + sz;
|
698
698
|
# else
|
699
|
-
result.reset(new Int[sz]);
|
699
|
+
result.reset(new Int[static_cast<size_t>(sz)]);
|
700
700
|
v.first = result.get();
|
701
701
|
v.second = result.get() + sz;
|
702
702
|
# endif
|
@@ -812,12 +812,12 @@ Ice::InputStream::read(pair<const Long*, const Long*>& v, IceUtil::ScopedArray<L
|
|
812
812
|
#else
|
813
813
|
|
814
814
|
# ifdef ICE_CPP11_MAPPING
|
815
|
-
auto result = new long long[sz];
|
815
|
+
auto result = new long long[static_cast<size_t>(sz)];
|
816
816
|
_deleters.push_back([result] { delete[] result; });
|
817
817
|
v.first = result;
|
818
818
|
v.second = result + sz;
|
819
819
|
# else
|
820
|
-
result.reset(new Long[sz]);
|
820
|
+
result.reset(new Long[static_cast<size_t>(sz)]);
|
821
821
|
v.first = result.get();
|
822
822
|
v.second = result.get() + sz;
|
823
823
|
# endif
|
@@ -925,12 +925,12 @@ Ice::InputStream::read(pair<const Float*, const Float*>& v, IceUtil::ScopedArray
|
|
925
925
|
#else
|
926
926
|
|
927
927
|
# ifdef ICE_CPP11_MAPPING
|
928
|
-
auto result = new float[sz];
|
928
|
+
auto result = new float[static_cast<size_t>(sz)];
|
929
929
|
_deleters.push_back([result] { delete[] result; });
|
930
930
|
v.first = result;
|
931
931
|
v.second = result + sz;
|
932
932
|
# else
|
933
|
-
result.reset(new Float[sz]);
|
933
|
+
result.reset(new Float[static_cast<size_t>(sz)]);
|
934
934
|
v.first = result.get();
|
935
935
|
v.second = result.get() + sz;
|
936
936
|
# endif
|
@@ -1046,12 +1046,12 @@ Ice::InputStream::read(pair<const Double*, const Double*>& v, IceUtil::ScopedArr
|
|
1046
1046
|
#else
|
1047
1047
|
|
1048
1048
|
# ifdef ICE_CPP11_MAPPING
|
1049
|
-
auto result = new double[sz];
|
1049
|
+
auto result = new double[static_cast<size_t>(sz)];
|
1050
1050
|
_deleters.push_back([result] { delete[] result; });
|
1051
1051
|
v.first = result;
|
1052
1052
|
v.second = result + sz;
|
1053
1053
|
# else
|
1054
|
-
result.reset(new Double[sz]);
|
1054
|
+
result.reset(new Double[static_cast<size_t>(sz)]);
|
1055
1055
|
v.first = result.get();
|
1056
1056
|
v.second = result.get() + sz;
|
1057
1057
|
# endif
|
@@ -1819,12 +1819,17 @@ Ice::InputStream::EncapsDecoder::addPatchEntry(Int index, PatchFunc patchFunc, v
|
|
1819
1819
|
assert(index > 0);
|
1820
1820
|
|
1821
1821
|
//
|
1822
|
-
// Check if we already unmarshaled the object. If that's the case,
|
1823
|
-
//
|
1822
|
+
// Check if we already unmarshaled the object. If that's the case, just patch the object smart pointer
|
1823
|
+
// and we're done. A null value indicates we've encountered a cycle and Ice.AllowClassCycles is false.
|
1824
1824
|
//
|
1825
1825
|
IndexToPtrMap::iterator p = _unmarshaledMap.find(index);
|
1826
1826
|
if(p != _unmarshaledMap.end())
|
1827
1827
|
{
|
1828
|
+
if (p->second == ICE_NULLPTR)
|
1829
|
+
{
|
1830
|
+
assert(!_stream->_instance->acceptClassCycles());
|
1831
|
+
throw MarshalException(__FILE__, __LINE__, "cycle detected during Value unmarshaling");
|
1832
|
+
}
|
1828
1833
|
(*patchFunc)(patchAddr, p->second);
|
1829
1834
|
return;
|
1830
1835
|
}
|
@@ -1862,7 +1867,10 @@ Ice::InputStream::EncapsDecoder::unmarshal(Int index, const Ice::ValuePtr& v)
|
|
1862
1867
|
// Add the object to the map of unmarshaled instances, this must
|
1863
1868
|
// be done before reading the instances (for circular references).
|
1864
1869
|
//
|
1865
|
-
|
1870
|
+
// If circular references are not allowed we insert null (for cycle detection) and add
|
1871
|
+
// the object to the map once it has been fully unmarshaled.
|
1872
|
+
//
|
1873
|
+
_unmarshaledMap.insert(make_pair(index, _stream->_instance->acceptClassCycles() ? v : Ice::ValuePtr()));
|
1866
1874
|
|
1867
1875
|
//
|
1868
1876
|
// Read the object.
|
@@ -1915,6 +1923,13 @@ Ice::InputStream::EncapsDecoder::unmarshal(Int index, const Ice::ValuePtr& v)
|
|
1915
1923
|
_valueList.clear();
|
1916
1924
|
}
|
1917
1925
|
}
|
1926
|
+
|
1927
|
+
if(!_stream->_instance->acceptClassCycles())
|
1928
|
+
{
|
1929
|
+
// This class has been fully unmarshaled without creating any cycles
|
1930
|
+
// It can be added to the map now.
|
1931
|
+
_unmarshaledMap[index] = v;
|
1932
|
+
}
|
1918
1933
|
}
|
1919
1934
|
|
1920
1935
|
void
|
@@ -950,6 +950,7 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi
|
|
950
950
|
_classGraphDepthMax(0),
|
951
951
|
_collectObjects(false),
|
952
952
|
_toStringMode(ICE_ENUM(ToStringMode, Unicode)),
|
953
|
+
_acceptClassCycles(false),
|
953
954
|
_implicitContext(0),
|
954
955
|
_stringConverter(Ice::getProcessStringConverter()),
|
955
956
|
_wstringConverter(Ice::getProcessWstringConverter()),
|
@@ -1227,6 +1228,8 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi
|
|
1227
1228
|
throw InitializationException(__FILE__, __LINE__, "The value for Ice.ToStringMode must be Unicode, ASCII or Compat");
|
1228
1229
|
}
|
1229
1230
|
|
1231
|
+
const_cast<bool&>(_acceptClassCycles) = _initData.properties->getPropertyAsInt("Ice.AcceptClassCycles") > 0;
|
1232
|
+
|
1230
1233
|
const_cast<ImplicitContextIPtr&>(_implicitContext) =
|
1231
1234
|
ImplicitContextI::create(_initData.properties->getProperty("Ice.ImplicitContext"));
|
1232
1235
|
|
@@ -106,6 +106,7 @@ public:
|
|
106
106
|
size_t classGraphDepthMax() const { return _classGraphDepthMax; }
|
107
107
|
bool collectObjects() const { return _collectObjects; }
|
108
108
|
Ice::ToStringMode toStringMode() const { return _toStringMode; }
|
109
|
+
bool acceptClassCycles() const { return _acceptClassCycles; }
|
109
110
|
const ACMConfig& clientACM() const;
|
110
111
|
const ACMConfig& serverACM() const;
|
111
112
|
|
@@ -175,6 +176,7 @@ private:
|
|
175
176
|
const size_t _classGraphDepthMax; // Immutable, not reset by destroy().
|
176
177
|
const bool _collectObjects; // Immutable, not reset by destroy().
|
177
178
|
const Ice::ToStringMode _toStringMode; // Immutable, not reset by destroy()
|
179
|
+
const bool _acceptClassCycles; // Immutable, not reset by destroy()
|
178
180
|
ACMConfig _clientACM;
|
179
181
|
ACMConfig _serverACM;
|
180
182
|
RouterManagerPtr _routerManager;
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.7
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -37,7 +37,7 @@
|
|
37
37
|
# if ICE_INT_VERSION % 100 >= 50
|
38
38
|
# error Beta header file detected
|
39
39
|
# endif
|
40
|
-
# if ICE_INT_VERSION % 100 <
|
40
|
+
# if ICE_INT_VERSION % 100 < 7
|
41
41
|
# error Ice patch level mismatch!
|
42
42
|
# endif
|
43
43
|
#endif
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.7
|
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 <
|
38
|
+
# if ICE_INT_VERSION % 100 < 7
|
39
39
|
# error Ice patch level mismatch!
|
40
40
|
# endif
|
41
41
|
#endif
|