zeroc-ice 3.7.3 → 3.7.7
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.
- 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
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cff48e9f22f45608f28bf0b3ba75a93c4dda74bff3b4de7fee4bf135a40cc46c
|
|
4
|
+
data.tar.gz: 8554d36b0529c6be6828682a00874c85de26145421b62eb6d487df33814a737f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 82c9091136257ab107583fa77daed2acab9c2ca00d2b94511437169ace8efbb8bc212df48efbd88728dd53568e3f52cec8ec851397b1182e24d0b8e913bac289
|
|
7
|
+
data.tar.gz: dd022772296e7269f6c58d726b3fcc941d6980f54d818bf648b62246101ca669de2bffd2faa258e62a0498baf0504c72a91922c4894080811a8f74012d73f699
|
data/ext/Communicator.cpp
CHANGED
|
@@ -207,6 +207,9 @@ IceRuby_initialize(int argc, VALUE* argv, VALUE /*self*/)
|
|
|
207
207
|
data.properties = Ice::createProperties(seq, data.properties);
|
|
208
208
|
}
|
|
209
209
|
|
|
210
|
+
// Always accept cycles in Ruby
|
|
211
|
+
data.properties->setProperty("Ice.AcceptClassCycles", "1");
|
|
212
|
+
|
|
210
213
|
//
|
|
211
214
|
// Remaining command line options are passed to the communicator
|
|
212
215
|
// as an argument vector in case they contain plugin properties.
|
data/ext/Config.h
CHANGED
|
@@ -51,15 +51,26 @@
|
|
|
51
51
|
// BUGFIX: Workaround unused parameter in ruby.h header file
|
|
52
52
|
//
|
|
53
53
|
#if defined(__clang__)
|
|
54
|
+
// BUFIX: Workaround clang 13 warnings during ruby macro expansion, it is important to put this before the push/pop
|
|
55
|
+
// directives to keep the warnings ignored in the source files where macros are expanded.
|
|
56
|
+
# if __clang_major__ >= 13
|
|
57
|
+
# pragma clang diagnostic ignored "-Wcompound-token-split-by-macro"
|
|
58
|
+
# endif
|
|
54
59
|
# pragma clang diagnostic push
|
|
55
60
|
# pragma clang diagnostic ignored "-Wunused-parameter"
|
|
56
61
|
//
|
|
57
62
|
// BUGFIX: Workaround clang conversion warnings in ruby headers
|
|
58
63
|
//
|
|
59
64
|
# pragma clang diagnostic ignored "-Wconversion"
|
|
65
|
+
|
|
66
|
+
// Silence warnings regarding missing deprecation attributes in ruby headers
|
|
67
|
+
# pragma clang diagnostic ignored "-Wdocumentation-deprecated-sync"
|
|
60
68
|
#elif defined(__GNUC__)
|
|
61
69
|
# pragma GCC diagnostic push
|
|
62
70
|
# pragma GCC diagnostic ignored "-Wunused-parameter"
|
|
71
|
+
// BUGFIX Workaround G++ 10 problem with ruby headers
|
|
72
|
+
// see https://bugs.ruby-lang.org/issues/16930
|
|
73
|
+
# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
|
63
74
|
#endif
|
|
64
75
|
|
|
65
76
|
#include <ruby.h>
|
data/ext/Types.cpp
CHANGED
|
@@ -1853,7 +1853,18 @@ IceRuby::DictionaryInfo::unmarshal(Ice::InputStream* is, const UnmarshalCallback
|
|
|
1853
1853
|
//
|
|
1854
1854
|
keyType->unmarshal(is, keyCB, Qnil, 0, false);
|
|
1855
1855
|
assert(!NIL_P(keyCB->key));
|
|
1856
|
-
|
|
1856
|
+
if (valueType->usesClasses())
|
|
1857
|
+
{
|
|
1858
|
+
// Temporarily set the entry with a Qnil value to ensure the key is not GC
|
|
1859
|
+
// while unmarshaling a value class
|
|
1860
|
+
if (RB_TYPE_P(keyCB->key, T_STRING))
|
|
1861
|
+
{
|
|
1862
|
+
// For string keys create a frozen string to ensure that the key used
|
|
1863
|
+
// in the map matches the one keep in the closure
|
|
1864
|
+
keyCB->key = rb_str_new_frozen(keyCB->key);
|
|
1865
|
+
}
|
|
1866
|
+
callRuby(rb_hash_aset, hash, keyCB->key, Qnil);
|
|
1867
|
+
}
|
|
1857
1868
|
//
|
|
1858
1869
|
// The callback will set the dictionary entry with the unmarshaled value,
|
|
1859
1870
|
// so we pass it the key.
|
|
@@ -2744,7 +2755,10 @@ IceRuby::ReadObjectCallback::invoke(const Ice::ObjectPtr& p)
|
|
|
2744
2755
|
ex.expectedType = _info->id;
|
|
2745
2756
|
throw ex;
|
|
2746
2757
|
}
|
|
2747
|
-
|
|
2758
|
+
#ifndef NDEBUG
|
|
2759
|
+
// With debug builds we force a GC to ensure that all data members are correctly keep alive.
|
|
2760
|
+
rb_gc();
|
|
2761
|
+
#endif
|
|
2748
2762
|
_cb->unmarshaled(obj, _target, _closure);
|
|
2749
2763
|
}
|
|
2750
2764
|
else
|
|
@@ -2875,6 +2889,7 @@ IceRuby::ExceptionReader::ExceptionReader(const ExceptionInfoPtr& info) :
|
|
|
2875
2889
|
IceRuby::ExceptionReader::~ExceptionReader()
|
|
2876
2890
|
throw()
|
|
2877
2891
|
{
|
|
2892
|
+
rb_gc_unregister_address(&_ex);
|
|
2878
2893
|
}
|
|
2879
2894
|
|
|
2880
2895
|
string
|
|
@@ -2910,6 +2925,7 @@ IceRuby::ExceptionReader::_read(Ice::InputStream* is)
|
|
|
2910
2925
|
is->startException();
|
|
2911
2926
|
|
|
2912
2927
|
const_cast<VALUE&>(_ex) = _info->unmarshal(is);
|
|
2928
|
+
rb_gc_register_address(&_ex);
|
|
2913
2929
|
|
|
2914
2930
|
const_cast<Ice::SlicedDataPtr&>(_slicedData) = is->endException(_info->preserve);
|
|
2915
2931
|
}
|
data/ext/Util.cpp
CHANGED
|
@@ -448,7 +448,11 @@ IceRuby::contextToHash(const Ice::Context& ctx)
|
|
|
448
448
|
|
|
449
449
|
extern "C"
|
|
450
450
|
VALUE
|
|
451
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
@@ -44,7 +44,7 @@ public:
|
|
|
44
44
|
#endif
|
|
45
45
|
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
47
|
+
* Polymorphically clones this exception.
|
|
48
48
|
* @return A shallow copy of this exception.
|
|
49
49
|
*/
|
|
50
50
|
#ifdef ICE_CPP11_MAPPING
|
|
@@ -69,7 +69,7 @@ class ICE_API UserException : public IceUtil::Exception
|
|
|
69
69
|
public:
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
|
-
*
|
|
72
|
+
* Polymorphically clones this exception.
|
|
73
73
|
* @return A shallow copy of this exception.
|
|
74
74
|
*/
|
|
75
75
|
#ifdef ICE_CPP11_MAPPING
|
|
@@ -126,7 +126,7 @@ public:
|
|
|
126
126
|
#endif
|
|
127
127
|
|
|
128
128
|
/**
|
|
129
|
-
*
|
|
129
|
+
* Polymorphically clones this exception.
|
|
130
130
|
* @return A shallow copy of this exception.
|
|
131
131
|
*/
|
|
132
132
|
#ifdef ICE_CPP11_MAPPING
|
|
@@ -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.
|
|
@@ -329,7 +329,14 @@ public:
|
|
|
329
329
|
protected:
|
|
330
330
|
|
|
331
331
|
Object() {} // This class is abstract.
|
|
332
|
+
#if defined(__clang__)
|
|
333
|
+
# pragma clang diagnostic push
|
|
334
|
+
# pragma clang diagnostic ignored "-Wdeprecated-copy-dtor"
|
|
335
|
+
#endif
|
|
332
336
|
virtual ~Object() {}
|
|
337
|
+
#if defined(__clang__)
|
|
338
|
+
# pragma clang diagnostic pop
|
|
339
|
+
#endif
|
|
333
340
|
|
|
334
341
|
protected:
|
|
335
342
|
|
|
@@ -210,7 +210,7 @@ template <class T> inline constexpr typename std::remove_reference<T>::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(
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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(),
|
|
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
|
}
|
|
@@ -1455,10 +1477,10 @@ ICE_API bool proxyIdentityAndFacetEqual(const ::std::shared_ptr<ObjectPrx>& lhs,
|
|
|
1455
1477
|
* compares less than the identity in rhs, false otherwise.
|
|
1456
1478
|
* \headerfile Ice/Ice.h
|
|
1457
1479
|
*/
|
|
1458
|
-
|
|
1480
|
+
|
|
1459
1481
|
struct ProxyIdentityLess
|
|
1460
|
-
#
|
|
1461
|
-
|
|
1482
|
+
#if (ICE_CPLUSPLUS < 201703L)
|
|
1483
|
+
: std::binary_function<bool, ::std::shared_ptr<ObjectPrx>&, ::std::shared_ptr<ObjectPrx>&>
|
|
1462
1484
|
#endif
|
|
1463
1485
|
{
|
|
1464
1486
|
bool operator()(const ::std::shared_ptr<ObjectPrx>& lhs, const ::std::shared_ptr<ObjectPrx>& rhs) const
|
|
@@ -1472,10 +1494,9 @@ struct ProxyIdentityLess : std::binary_function<bool, ::std::shared_ptr<ObjectPr
|
|
|
1472
1494
|
* compares equal to the identity in rhs, false otherwise.
|
|
1473
1495
|
* \headerfile Ice/Ice.h
|
|
1474
1496
|
*/
|
|
1475
|
-
#if (ICE_CPLUSPLUS >= 201703L)
|
|
1476
1497
|
struct ProxyIdentityEqual
|
|
1477
|
-
#
|
|
1478
|
-
|
|
1498
|
+
#if (ICE_CPLUSPLUS < 201703L)
|
|
1499
|
+
: std::binary_function<bool, ::std::shared_ptr<ObjectPrx>&, ::std::shared_ptr<ObjectPrx>&>
|
|
1479
1500
|
#endif
|
|
1480
1501
|
{
|
|
1481
1502
|
bool operator()(const ::std::shared_ptr<ObjectPrx>& lhs, const ::std::shared_ptr<ObjectPrx>& rhs) const
|
|
@@ -1489,10 +1510,9 @@ struct ProxyIdentityEqual : std::binary_function<bool, ::std::shared_ptr<ObjectP
|
|
|
1489
1510
|
* and facet in lhs compare less than the identity and facet in rhs, false otherwise.
|
|
1490
1511
|
* \headerfile Ice/Ice.h
|
|
1491
1512
|
*/
|
|
1492
|
-
#if (ICE_CPLUSPLUS >= 201703L)
|
|
1493
1513
|
struct ProxyIdentityAndFacetLess
|
|
1494
|
-
#
|
|
1495
|
-
|
|
1514
|
+
#if (ICE_CPLUSPLUS < 201703L)
|
|
1515
|
+
: std::binary_function<bool, ::std::shared_ptr<ObjectPrx>&, ::std::shared_ptr<ObjectPrx>&>
|
|
1496
1516
|
#endif
|
|
1497
1517
|
{
|
|
1498
1518
|
bool operator()(const ::std::shared_ptr<ObjectPrx>& lhs, const ::std::shared_ptr<ObjectPrx>& rhs) const
|
|
@@ -1506,10 +1526,9 @@ struct ProxyIdentityAndFacetLess : std::binary_function<bool, ::std::shared_ptr<
|
|
|
1506
1526
|
* and facet in lhs compare equal to the identity and facet in rhs, false otherwise.
|
|
1507
1527
|
* \headerfile Ice/Ice.h
|
|
1508
1528
|
*/
|
|
1509
|
-
#if (ICE_CPLUSPLUS >= 201703L)
|
|
1510
1529
|
struct ProxyIdentityAndFacetEqual
|
|
1511
|
-
#
|
|
1512
|
-
|
|
1530
|
+
#if (ICE_CPLUSPLUS < 201703L)
|
|
1531
|
+
: std::binary_function<bool, ::std::shared_ptr<ObjectPrx>&, ::std::shared_ptr<ObjectPrx>&>
|
|
1513
1532
|
#endif
|
|
1514
1533
|
{
|
|
1515
1534
|
bool operator()(const ::std::shared_ptr<ObjectPrx>& lhs, const ::std::shared_ptr<ObjectPrx>& rhs) const
|
|
@@ -3146,7 +3165,10 @@ ICE_API bool proxyIdentityAndFacetEqual(const ObjectPrx& lhs, const ObjectPrx& r
|
|
|
3146
3165
|
* compares less than the identity in rhs, false otherwise.
|
|
3147
3166
|
* \headerfile Ice/Ice.h
|
|
3148
3167
|
*/
|
|
3149
|
-
struct ProxyIdentityLess
|
|
3168
|
+
struct ProxyIdentityLess
|
|
3169
|
+
#if (ICE_CPLUSPLUS < 201703L)
|
|
3170
|
+
: std::binary_function<bool, ObjectPrx&, ObjectPrx&>
|
|
3171
|
+
#endif
|
|
3150
3172
|
{
|
|
3151
3173
|
bool operator()(const ObjectPrx& lhs, const ObjectPrx& rhs) const
|
|
3152
3174
|
{
|
|
@@ -3159,7 +3181,10 @@ struct ProxyIdentityLess : std::binary_function<bool, ObjectPrx&, ObjectPrx&>
|
|
|
3159
3181
|
* compares equal to the identity in rhs, false otherwise.
|
|
3160
3182
|
* \headerfile Ice/Ice.h
|
|
3161
3183
|
*/
|
|
3162
|
-
struct ProxyIdentityEqual
|
|
3184
|
+
struct ProxyIdentityEqual
|
|
3185
|
+
#if (ICE_CPLUSPLUS < 201703L)
|
|
3186
|
+
: std::binary_function<bool, ObjectPrx&, ObjectPrx&>
|
|
3187
|
+
#endif
|
|
3163
3188
|
{
|
|
3164
3189
|
bool operator()(const ObjectPrx& lhs, const ObjectPrx& rhs) const
|
|
3165
3190
|
{
|
|
@@ -3172,7 +3197,10 @@ struct ProxyIdentityEqual : std::binary_function<bool, ObjectPrx&, ObjectPrx&>
|
|
|
3172
3197
|
* and facet in lhs compare less than the identity and facet in rhs, false otherwise.
|
|
3173
3198
|
* \headerfile Ice/Ice.h
|
|
3174
3199
|
*/
|
|
3175
|
-
struct ProxyIdentityAndFacetLess
|
|
3200
|
+
struct ProxyIdentityAndFacetLess
|
|
3201
|
+
#if (ICE_CPLUSPLUS < 201703L)
|
|
3202
|
+
: std::binary_function<bool, ObjectPrx&, ObjectPrx&>
|
|
3203
|
+
#endif
|
|
3176
3204
|
{
|
|
3177
3205
|
bool operator()(const ObjectPrx& lhs, const ObjectPrx& rhs) const
|
|
3178
3206
|
{
|
|
@@ -3185,7 +3213,10 @@ struct ProxyIdentityAndFacetLess : std::binary_function<bool, ObjectPrx&, Object
|
|
|
3185
3213
|
* and facet in lhs compare equal to the identity and facet in rhs, false otherwise.
|
|
3186
3214
|
* \headerfile Ice/Ice.h
|
|
3187
3215
|
*/
|
|
3188
|
-
struct ProxyIdentityAndFacetEqual
|
|
3216
|
+
struct ProxyIdentityAndFacetEqual
|
|
3217
|
+
#if (ICE_CPLUSPLUS < 201703L)
|
|
3218
|
+
: std::binary_function<bool, ObjectPrx&, ObjectPrx&>
|
|
3219
|
+
#endif
|
|
3189
3220
|
{
|
|
3190
3221
|
bool operator()(const ObjectPrx& lhs, const ObjectPrx& rhs) const
|
|
3191
3222
|
{
|
|
@@ -157,6 +157,7 @@ public:
|
|
|
157
157
|
*/
|
|
158
158
|
bool checkSystem() const;
|
|
159
159
|
|
|
160
|
+
#ifdef _WIN32
|
|
160
161
|
/**
|
|
161
162
|
* Alternative entry point for services that use their own
|
|
162
163
|
* command-line options. Instead of invoking main(), the
|
|
@@ -172,7 +173,6 @@ public:
|
|
|
172
173
|
* specified, the version of the Ice installation is used.
|
|
173
174
|
* @return The application's exit status: EXIT_FAILURE or EXIT_SUCCESS.
|
|
174
175
|
*/
|
|
175
|
-
#ifdef _WIN32
|
|
176
176
|
int run(int argc, const wchar_t* const argv[], const InitializationData& initData = InitializationData(),
|
|
177
177
|
int version = ICE_INT_VERSION);
|
|
178
178
|
#endif
|