zeroc-ice 3.7.0 → 3.7.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/ICE_LICENSE +1 -1
- data/bin/slice2rb +1 -6
- data/ext/Communicator.cpp +78 -10
- data/ext/Communicator.h +1 -6
- data/ext/Config.h +35 -6
- data/ext/Connection.cpp +22 -11
- data/ext/Connection.h +4 -6
- data/ext/Endpoint.cpp +1 -10
- data/ext/Endpoint.h +1 -6
- data/ext/ImplicitContext.cpp +1 -6
- data/ext/ImplicitContext.h +1 -6
- data/ext/Init.cpp +1 -6
- data/ext/Logger.cpp +1 -6
- data/ext/Logger.h +1 -6
- data/ext/Operation.cpp +6 -11
- data/ext/Operation.h +1 -6
- data/ext/Properties.cpp +3 -8
- data/ext/Properties.h +1 -6
- data/ext/Proxy.cpp +90 -14
- data/ext/Proxy.h +1 -6
- data/ext/Slice.cpp +3 -18
- data/ext/Slice.h +1 -6
- data/ext/Types.cpp +92 -60
- data/ext/Types.h +1 -6
- data/ext/Util.cpp +61 -32
- data/ext/Util.h +108 -33
- data/ext/ValueFactoryManager.cpp +2 -7
- data/ext/ValueFactoryManager.h +2 -7
- data/ext/extconf.rb +5 -3
- data/ext/ice/cpp/include/Ice/Application.h +234 -81
- data/ext/ice/cpp/include/Ice/AsyncResult.h +77 -6
- data/ext/ice/cpp/include/Ice/AsyncResultF.h +1 -6
- data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +35 -7
- data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +1 -6
- data/ext/ice/cpp/include/Ice/Buffer.h +1 -6
- data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +43 -6
- data/ext/ice/cpp/include/Ice/Comparable.h +81 -6
- data/ext/ice/cpp/include/Ice/Config.h +12 -6
- data/ext/ice/cpp/include/Ice/ConnectionAsync.h +97 -6
- data/ext/ice/cpp/include/Ice/ConnectionIF.h +3 -6
- data/ext/ice/cpp/include/Ice/ConsoleUtil.h +1 -6
- data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +1 -6
- data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +17 -7
- data/ext/ice/cpp/include/Ice/Dispatcher.h +22 -7
- data/ext/ice/cpp/include/Ice/DynamicLibrary.h +1 -6
- data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +1 -6
- data/ext/ice/cpp/include/Ice/Exception.h +57 -20
- data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +11 -6
- data/ext/ice/cpp/include/Ice/FactoryTable.h +12 -7
- data/ext/ice/cpp/include/Ice/FactoryTableInit.h +2 -7
- data/ext/ice/cpp/include/Ice/Format.h +13 -19
- data/ext/ice/cpp/include/Ice/Functional.h +6 -6
- data/ext/ice/cpp/include/Ice/GCObject.h +1 -6
- data/ext/ice/cpp/include/Ice/Handle.h +1 -6
- data/ext/ice/cpp/include/Ice/Ice.h +1 -6
- data/ext/ice/cpp/include/Ice/IconvStringConverter.h +47 -18
- data/ext/ice/cpp/include/Ice/Incoming.h +27 -9
- data/ext/ice/cpp/include/Ice/IncomingAsync.h +47 -9
- data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +1 -6
- data/ext/ice/cpp/include/Ice/Initialize.h +775 -103
- data/ext/ice/cpp/include/Ice/InputStream.h +642 -122
- data/ext/ice/cpp/include/Ice/InstanceF.h +1 -6
- data/ext/ice/cpp/include/Ice/InterfaceByValue.h +17 -6
- data/ext/ice/cpp/include/Ice/LocalObject.h +5 -6
- data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -6
- data/ext/ice/cpp/include/Ice/LoggerUtil.h +37 -11
- data/ext/ice/cpp/include/Ice/MetricsAdminI.h +11 -7
- data/ext/ice/cpp/include/Ice/MetricsFunctional.h +3 -6
- data/ext/ice/cpp/include/Ice/MetricsObserverI.h +18 -7
- data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +46 -28
- data/ext/ice/cpp/include/Ice/Object.h +338 -52
- data/ext/ice/cpp/include/Ice/ObjectF.h +5 -6
- data/ext/ice/cpp/include/Ice/ObserverHelper.h +1 -6
- data/ext/ice/cpp/include/Ice/Optional.h +42 -12
- data/ext/ice/cpp/include/Ice/OutgoingAsync.h +32 -8
- data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +1 -6
- data/ext/ice/cpp/include/Ice/OutputStream.h +441 -102
- data/ext/ice/cpp/include/Ice/Protocol.h +31 -6
- data/ext/ice/cpp/include/Ice/Proxy.h +2288 -207
- data/ext/ice/cpp/include/Ice/ProxyF.h +3 -6
- data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -6
- data/ext/ice/cpp/include/Ice/ProxyHandle.h +10 -6
- data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -6
- data/ext/ice/cpp/include/Ice/RegisterPlugins.h +67 -14
- data/ext/ice/cpp/include/Ice/RequestHandlerF.h +1 -6
- data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +1 -6
- data/ext/ice/cpp/include/Ice/SHA1.h +1 -6
- data/ext/ice/cpp/include/Ice/ServantManagerF.h +1 -6
- data/ext/ice/cpp/include/Ice/Service.h +267 -143
- data/ext/ice/cpp/include/Ice/SliceChecksums.h +5 -6
- data/ext/ice/cpp/include/Ice/SlicedData.h +80 -38
- data/ext/ice/cpp/include/Ice/SlicedDataF.h +4 -6
- data/ext/ice/cpp/include/Ice/StreamHelpers.h +325 -122
- data/ext/ice/cpp/include/Ice/StringConverter.h +32 -6
- data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -6
- data/ext/ice/cpp/include/Ice/UUID.h +2 -6
- data/ext/ice/cpp/include/Ice/UniquePtr.h +2 -7
- data/ext/ice/cpp/include/Ice/UniqueRef.h +6 -7
- data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +6 -6
- data/ext/ice/cpp/include/Ice/Value.h +41 -6
- data/ext/ice/cpp/include/Ice/ValueF.h +3 -6
- data/ext/ice/cpp/include/IceSSL/Config.h +1 -6
- data/ext/ice/cpp/include/IceSSL/IceSSL.h +1 -6
- data/ext/ice/cpp/include/IceSSL/OpenSSL.h +75 -58
- data/ext/ice/cpp/include/IceSSL/Plugin.h +323 -223
- data/ext/ice/cpp/include/IceSSL/SChannel.h +41 -35
- data/ext/ice/cpp/include/IceSSL/SecureTransport.h +39 -33
- data/ext/ice/cpp/include/IceSSL/UWP.h +33 -29
- data/ext/ice/cpp/include/IceUtil/Atomic.h +2 -7
- data/ext/ice/cpp/include/IceUtil/Cond.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Config.h +35 -14
- data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +5 -10
- data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +1 -6
- data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +52 -36
- data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +5 -11
- data/ext/ice/cpp/include/IceUtil/Exception.h +130 -11
- data/ext/ice/cpp/include/IceUtil/FileUtil.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Functional.h +5 -6
- data/ext/ice/cpp/include/IceUtil/Handle.h +1 -6
- data/ext/ice/cpp/include/IceUtil/IceUtil.h +1 -6
- data/ext/ice/cpp/include/IceUtil/InputUtil.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Iterator.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Lock.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Monitor.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Mutex.h +3 -13
- data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +1 -6
- data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +1 -6
- data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Optional.h +103 -6
- data/ext/ice/cpp/include/IceUtil/Options.h +1 -6
- data/ext/ice/cpp/include/IceUtil/OutputUtil.h +18 -20
- data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +1 -6
- data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +8 -6
- data/ext/ice/cpp/include/IceUtil/Random.h +37 -6
- data/ext/ice/cpp/include/IceUtil/RecMutex.h +1 -6
- data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +4 -9
- data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +12 -9
- data/ext/ice/cpp/include/IceUtil/ScopedArray.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Shared.h +1 -6
- data/ext/ice/cpp/include/IceUtil/StopWatch.h +1 -6
- data/ext/ice/cpp/include/IceUtil/StringConverter.h +107 -92
- data/ext/ice/cpp/include/IceUtil/StringUtil.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Thread.h +1 -6
- data/ext/ice/cpp/include/IceUtil/ThreadException.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Time.h +1 -6
- data/ext/ice/cpp/include/IceUtil/Timer.h +5 -6
- data/ext/ice/cpp/include/IceUtil/UUID.h +5 -6
- data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -6
- data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +81 -26
- data/ext/ice/cpp/include/generated/Ice/Communicator.h +928 -136
- data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +14 -11
- data/ext/ice/cpp/include/generated/Ice/Connection.h +968 -180
- data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +22 -15
- data/ext/ice/cpp/include/generated/Ice/Current.h +166 -9
- data/ext/ice/cpp/include/generated/Ice/Endpoint.h +476 -115
- data/ext/ice/cpp/include/generated/Ice/EndpointF.h +42 -23
- data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +30 -9
- data/ext/ice/cpp/include/generated/Ice/FacetMap.h +12 -11
- data/ext/ice/cpp/include/generated/Ice/Identity.h +56 -13
- data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +151 -34
- data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +14 -11
- data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +630 -89
- data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +20 -13
- data/ext/ice/cpp/include/generated/Ice/LocalException.h +5009 -770
- data/ext/ice/cpp/include/generated/Ice/Locator.h +2255 -441
- data/ext/ice/cpp/include/generated/Ice/LocatorF.h +32 -19
- data/ext/ice/cpp/include/generated/Ice/Logger.h +105 -32
- data/ext/ice/cpp/include/generated/Ice/LoggerF.h +14 -11
- data/ext/ice/cpp/include/generated/Ice/Metrics.h +2539 -471
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +1005 -132
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +14 -11
- data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +73 -18
- data/ext/ice/cpp/include/generated/Ice/Plugin.h +143 -34
- data/ext/ice/cpp/include/generated/Ice/PluginF.h +18 -13
- data/ext/ice/cpp/include/generated/Ice/Process.h +514 -79
- data/ext/ice/cpp/include/generated/Ice/ProcessF.h +21 -14
- data/ext/ice/cpp/include/generated/Ice/Properties.h +307 -64
- data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +738 -127
- data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +25 -16
- data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +1524 -284
- data/ext/ice/cpp/include/generated/Ice/Router.h +1007 -201
- data/ext/ice/cpp/include/generated/Ice/RouterF.h +21 -14
- data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +175 -24
- data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +14 -11
- data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +14 -9
- data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +178 -29
- data/ext/ice/cpp/include/generated/Ice/Version.h +32 -9
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +72 -21
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +14 -11
- data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +40 -15
- data/ext/ice/cpp/src/Ice/ACM.cpp +21 -14
- data/ext/ice/cpp/src/Ice/ACM.h +1 -6
- data/ext/ice/cpp/src/Ice/ACMF.h +1 -6
- data/ext/ice/cpp/src/Ice/Acceptor.cpp +1 -6
- data/ext/ice/cpp/src/Ice/Acceptor.h +1 -6
- data/ext/ice/cpp/src/Ice/AcceptorF.h +1 -6
- data/ext/ice/cpp/src/Ice/ArgVector.cpp +8 -13
- data/ext/ice/cpp/src/Ice/ArgVector.h +1 -6
- data/ext/ice/cpp/src/Ice/AsyncResult.cpp +1 -7
- data/ext/ice/cpp/src/Ice/Base64.cpp +12 -18
- data/ext/ice/cpp/src/Ice/Base64.h +1 -6
- data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +2 -7
- data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +1 -6
- data/ext/ice/cpp/src/Ice/Buffer.cpp +3 -8
- data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +4 -9
- data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +2 -8
- data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +1 -6
- data/ext/ice/cpp/src/Ice/Communicator.cpp +7 -10
- data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +56 -22
- data/ext/ice/cpp/src/Ice/CommunicatorI.h +15 -16
- data/ext/ice/cpp/src/Ice/Cond.cpp +1 -6
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +11 -11
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +5 -10
- data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +1 -6
- data/ext/ice/cpp/src/Ice/Connection.cpp +28 -17
- data/ext/ice/cpp/src/Ice/ConnectionF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +167 -52
- data/ext/ice/cpp/src/Ice/ConnectionFactory.h +4 -6
- data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +1 -6
- data/ext/ice/cpp/src/Ice/ConnectionI.cpp +78 -60
- data/ext/ice/cpp/src/Ice/ConnectionI.h +10 -13
- data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +1 -6
- data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +2 -7
- data/ext/ice/cpp/src/Ice/Connector.cpp +1 -6
- data/ext/ice/cpp/src/Ice/Connector.h +1 -6
- data/ext/ice/cpp/src/Ice/ConnectorF.h +1 -6
- data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +1 -6
- data/ext/ice/cpp/src/Ice/Current.cpp +4 -9
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +5 -12
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +1 -6
- data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +1 -6
- data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +14 -6
- data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +7 -11
- data/ext/ice/cpp/src/Ice/Endpoint.cpp +25 -16
- data/ext/ice/cpp/src/Ice/EndpointF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +1 -6
- data/ext/ice/cpp/src/Ice/EndpointFactory.h +1 -6
- data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +1 -6
- data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +7 -18
- data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +1 -6
- data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +1 -6
- data/ext/ice/cpp/src/Ice/EndpointI.cpp +2 -7
- data/ext/ice/cpp/src/Ice/EndpointI.h +5 -10
- data/ext/ice/cpp/src/Ice/EndpointIF.h +1 -6
- data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +4 -9
- data/ext/ice/cpp/src/Ice/EventHandler.cpp +1 -6
- data/ext/ice/cpp/src/Ice/EventHandler.h +1 -6
- data/ext/ice/cpp/src/Ice/EventHandlerF.h +1 -6
- data/ext/ice/cpp/src/Ice/Exception.cpp +8 -13
- data/ext/ice/cpp/src/Ice/FacetMap.cpp +4 -9
- data/ext/ice/cpp/src/Ice/FactoryTable.cpp +1 -6
- data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +1 -6
- data/ext/ice/cpp/src/Ice/GCObject.cpp +2 -7
- data/ext/ice/cpp/src/Ice/HashUtil.h +2 -7
- data/ext/ice/cpp/src/Ice/HttpParser.cpp +1 -6
- data/ext/ice/cpp/src/Ice/HttpParser.h +1 -6
- data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +37 -59
- data/ext/ice/cpp/src/Ice/IPEndpointI.h +5 -10
- data/ext/ice/cpp/src/Ice/IPEndpointIF.h +1 -6
- data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +1 -6
- data/ext/ice/cpp/src/Ice/Identity.cpp +4 -9
- data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +7 -10
- data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +3 -20
- data/ext/ice/cpp/src/Ice/ImplicitContextI.h +1 -6
- data/ext/ice/cpp/src/Ice/Incoming.cpp +11 -13
- data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +1 -6
- data/ext/ice/cpp/src/Ice/IncomingRequest.h +1 -6
- data/ext/ice/cpp/src/Ice/Initialize.cpp +15 -26
- data/ext/ice/cpp/src/Ice/InputStream.cpp +45 -77
- data/ext/ice/cpp/src/Ice/Instance.cpp +70 -46
- data/ext/ice/cpp/src/Ice/Instance.h +3 -6
- data/ext/ice/cpp/src/Ice/Instrumentation.cpp +34 -19
- data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +2 -7
- data/ext/ice/cpp/src/Ice/InstrumentationI.h +1 -6
- data/ext/ice/cpp/src/Ice/LocalException.cpp +280 -285
- data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -6
- data/ext/ice/cpp/src/Ice/Locator.cpp +274 -166
- data/ext/ice/cpp/src/Ice/LocatorF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +28 -30
- data/ext/ice/cpp/src/Ice/LocatorInfo.h +3 -8
- data/ext/ice/cpp/src/Ice/LocatorInfoF.h +1 -6
- data/ext/ice/cpp/src/Ice/Logger.cpp +7 -10
- data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +8 -19
- data/ext/ice/cpp/src/Ice/LoggerAdminI.h +1 -6
- data/ext/ice/cpp/src/Ice/LoggerF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/LoggerI.cpp +13 -12
- data/ext/ice/cpp/src/Ice/LoggerI.h +1 -6
- data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +1 -6
- data/ext/ice/cpp/src/Ice/Metrics.cpp +296 -113
- data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +10 -15
- data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -6
- data/ext/ice/cpp/src/Ice/Network.cpp +252 -271
- data/ext/ice/cpp/src/Ice/Network.h +6 -20
- data/ext/ice/cpp/src/Ice/NetworkF.h +1 -6
- data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +2 -8
- data/ext/ice/cpp/src/Ice/NetworkProxy.h +1 -6
- data/ext/ice/cpp/src/Ice/NetworkProxyF.h +1 -6
- data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +57 -0
- data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +40 -0
- data/ext/ice/cpp/src/Ice/Object.cpp +16 -17
- data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +7 -10
- data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +53 -24
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +1 -6
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +1 -6
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +137 -156
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +15 -16
- data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +7 -10
- data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +1 -6
- data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +29 -51
- data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +2 -7
- data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +6 -9
- data/ext/ice/cpp/src/Ice/OutputStream.cpp +29 -61
- data/ext/ice/cpp/src/Ice/Plugin.cpp +10 -11
- data/ext/ice/cpp/src/Ice/PluginF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +15 -39
- data/ext/ice/cpp/src/Ice/PluginManagerI.h +3 -8
- data/ext/ice/cpp/src/Ice/Process.cpp +66 -42
- data/ext/ice/cpp/src/Ice/ProcessF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/Properties.cpp +7 -10
- data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +84 -54
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +3 -8
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +1 -6
- data/ext/ice/cpp/src/Ice/PropertiesF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/PropertiesI.cpp +25 -35
- data/ext/ice/cpp/src/Ice/PropertiesI.h +10 -15
- data/ext/ice/cpp/src/Ice/PropertyNames.cpp +45 -8
- data/ext/ice/cpp/src/Ice/PropertyNames.h +2 -7
- data/ext/ice/cpp/src/Ice/Protocol.cpp +5 -18
- data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +1 -6
- data/ext/ice/cpp/src/Ice/ProtocolInstance.h +1 -6
- data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +1 -6
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +1 -6
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +1 -6
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +1 -6
- data/ext/ice/cpp/src/Ice/Proxy.cpp +54 -8
- data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +11 -7
- data/ext/ice/cpp/src/Ice/ProxyFactory.h +1 -6
- data/ext/ice/cpp/src/Ice/Reference.cpp +116 -38
- data/ext/ice/cpp/src/Ice/Reference.h +13 -7
- data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +52 -98
- data/ext/ice/cpp/src/Ice/ReferenceFactory.h +1 -6
- data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +1 -6
- data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +4 -8
- data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +1 -6
- data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +194 -113
- data/ext/ice/cpp/src/Ice/ReplyStatus.h +1 -6
- data/ext/ice/cpp/src/Ice/RequestHandler.cpp +1 -6
- data/ext/ice/cpp/src/Ice/RequestHandler.h +1 -6
- data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +1 -6
- data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +1 -6
- data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +1 -6
- data/ext/ice/cpp/src/Ice/ResponseHandler.h +1 -6
- data/ext/ice/cpp/src/Ice/RetryQueue.cpp +7 -9
- data/ext/ice/cpp/src/Ice/RetryQueue.h +1 -6
- data/ext/ice/cpp/src/Ice/RetryQueueF.h +1 -6
- data/ext/ice/cpp/src/Ice/Router.cpp +160 -87
- data/ext/ice/cpp/src/Ice/RouterF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/RouterInfo.cpp +8 -35
- data/ext/ice/cpp/src/Ice/RouterInfo.h +1 -8
- data/ext/ice/cpp/src/Ice/RouterInfoF.h +1 -6
- data/ext/ice/cpp/src/Ice/SHA1.cpp +3 -8
- data/ext/ice/cpp/src/Ice/Selector.cpp +76 -49
- data/ext/ice/cpp/src/Ice/Selector.h +1 -6
- data/ext/ice/cpp/src/Ice/ServantLocator.cpp +7 -10
- data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +4 -9
- data/ext/ice/cpp/src/Ice/ServantManager.cpp +21 -42
- data/ext/ice/cpp/src/Ice/ServantManager.h +1 -6
- data/ext/ice/cpp/src/Ice/SharedContext.h +1 -6
- data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +4 -9
- data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +1 -6
- data/ext/ice/cpp/src/Ice/SlicedData.cpp +1 -6
- data/ext/ice/cpp/src/Ice/StreamSocket.cpp +46 -69
- data/ext/ice/cpp/src/Ice/StreamSocket.h +1 -6
- data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +10 -6
- data/ext/ice/cpp/src/Ice/StringUtil.h +1 -6
- data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +3 -8
- data/ext/ice/cpp/src/Ice/SysLoggerI.h +1 -6
- data/ext/ice/cpp/src/Ice/SystemdJournalI.cpp +66 -0
- data/ext/ice/cpp/src/Ice/SystemdJournalI.h +39 -0
- data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +13 -19
- data/ext/ice/cpp/src/Ice/TcpAcceptor.h +1 -6
- data/ext/ice/cpp/src/Ice/TcpConnector.cpp +6 -6
- data/ext/ice/cpp/src/Ice/TcpConnector.h +1 -6
- data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +13 -16
- data/ext/ice/cpp/src/Ice/TcpEndpointI.h +2 -7
- data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +6 -6
- data/ext/ice/cpp/src/Ice/TcpTransceiver.h +1 -6
- data/ext/ice/cpp/src/Ice/Thread.cpp +18 -14
- data/ext/ice/cpp/src/Ice/ThreadPool.cpp +79 -19
- data/ext/ice/cpp/src/Ice/ThreadPool.h +11 -12
- data/ext/ice/cpp/src/Ice/Timer.cpp +11 -6
- data/ext/ice/cpp/src/Ice/TraceLevels.cpp +1 -6
- data/ext/ice/cpp/src/Ice/TraceLevels.h +1 -6
- data/ext/ice/cpp/src/Ice/TraceLevelsF.h +1 -6
- data/ext/ice/cpp/src/Ice/TraceUtil.cpp +1 -6
- data/ext/ice/cpp/src/Ice/TraceUtil.h +1 -6
- data/ext/ice/cpp/src/Ice/Transceiver.cpp +1 -6
- data/ext/ice/cpp/src/Ice/Transceiver.h +1 -6
- data/ext/ice/cpp/src/Ice/TransceiverF.h +3 -8
- data/ext/ice/cpp/src/Ice/UdpConnector.cpp +4 -6
- data/ext/ice/cpp/src/Ice/UdpConnector.h +1 -6
- data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +30 -33
- data/ext/ice/cpp/src/Ice/UdpEndpointI.h +2 -7
- data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +49 -79
- data/ext/ice/cpp/src/Ice/UdpTransceiver.h +1 -6
- data/ext/ice/cpp/src/Ice/Value.cpp +1 -6
- data/ext/ice/cpp/src/Ice/ValueFactory.cpp +10 -11
- data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +3 -12
- data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +2 -7
- data/ext/ice/cpp/src/Ice/Version.cpp +4 -9
- data/ext/ice/cpp/src/Ice/VirtualShared.h +1 -6
- data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +1 -6
- data/ext/ice/cpp/src/Ice/WSAcceptor.h +1 -6
- data/ext/ice/cpp/src/Ice/WSConnector.cpp +1 -6
- data/ext/ice/cpp/src/Ice/WSConnector.h +1 -6
- data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +4 -10
- data/ext/ice/cpp/src/Ice/WSEndpoint.h +2 -7
- data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +25 -30
- data/ext/ice/cpp/src/Ice/WSTransceiver.h +1 -7
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +86 -33
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +1083 -129
- data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +4 -7
- data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +1 -6
- data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +5 -10
- data/ext/ice/cpp/src/IceDiscovery/LookupI.h +1 -6
- data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +1 -6
- data/ext/ice/cpp/src/IceDiscovery/PluginI.h +1 -6
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +71 -30
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +640 -79
- data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +1 -6
- data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +122 -25
- data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +2 -9
- data/ext/ice/cpp/src/IceSSL/AcceptorI.h +1 -6
- data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +4 -9
- data/ext/ice/cpp/src/IceSSL/CertificateI.h +1 -6
- data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +7 -10
- data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +4 -9
- data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +2 -9
- data/ext/ice/cpp/src/IceSSL/ConnectorI.h +1 -6
- data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +9 -14
- data/ext/ice/cpp/src/IceSSL/EndpointI.h +3 -8
- data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +7 -10
- data/ext/ice/cpp/src/IceSSL/Instance.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/Instance.h +1 -6
- data/ext/ice/cpp/src/IceSSL/InstanceF.h +1 -6
- data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +11 -19
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +100 -46
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +3 -8
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +1 -6
- data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +190 -206
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +2 -11
- data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +1 -6
- data/ext/ice/cpp/src/IceSSL/PluginI.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/PluginI.h +1 -6
- data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +1 -7
- data/ext/ice/cpp/src/IceSSL/RFC2253.h +1 -6
- data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +5 -10
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +69 -36
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +5 -8
- data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +5 -6
- data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +71 -62
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +7 -6
- data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +26 -28
- data/ext/ice/cpp/src/IceSSL/SSLEngine.h +3 -6
- data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +1 -6
- data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +37 -31
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +44 -18
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +5 -6
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +4 -6
- data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +47 -27
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +6 -7
- data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +41 -34
- data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +5 -6
- data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +4 -10
- data/ext/ice/cpp/src/IceSSL/TrustManager.h +1 -6
- data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +1 -6
- data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +4 -9
- data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +4 -9
- data/ext/ice/cpp/src/IceSSL/UWPEngine.h +1 -6
- data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +1 -6
- data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +5 -10
- data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +1 -6
- data/ext/ice/cpp/src/IceSSL/Util.cpp +12 -11
- data/ext/ice/cpp/src/IceSSL/Util.h +1 -6
- data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +1 -6
- data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +1 -6
- data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +1 -6
- data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +3 -6
- data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +6 -11
- data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +1 -6
- data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +1 -6
- data/ext/ice/cpp/src/IceUtil/Options.cpp +25 -15
- data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +41 -16
- data/ext/ice/cpp/src/IceUtil/Random.cpp +3 -8
- data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +2 -11
- data/ext/ice/cpp/src/IceUtil/Shared.cpp +1 -6
- data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +6 -11
- data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +45 -12
- data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +1 -6
- data/ext/ice/cpp/src/IceUtil/Time.cpp +10 -17
- data/ext/ice/cpp/src/IceUtil/UUID.cpp +8 -13
- data/ext/ice/cpp/src/IceUtil/Unicode.cpp +1 -6
- data/ext/ice/cpp/src/IceUtil/Unicode.h +1 -6
- data/ext/ice/cpp/src/IceUtil/UtilException.cpp +17 -16
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +178 -170
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +8 -12
- data/ext/ice/cpp/src/Slice/Checksum.cpp +1 -6
- data/ext/ice/cpp/src/Slice/Checksum.h +1 -6
- data/ext/ice/cpp/src/Slice/FileTracker.cpp +1 -6
- data/ext/ice/cpp/src/Slice/FileTracker.h +1 -6
- data/ext/ice/cpp/src/Slice/Grammar.cpp +424 -438
- data/ext/ice/cpp/src/Slice/Grammar.h +7 -7
- data/ext/ice/cpp/src/Slice/GrammarUtil.h +1 -7
- data/ext/ice/cpp/src/Slice/JavaUtil.cpp +195 -122
- data/ext/ice/cpp/src/Slice/JavaUtil.h +12 -12
- data/ext/ice/cpp/src/Slice/MD5.cpp +1 -6
- data/ext/ice/cpp/src/Slice/MD5.h +1 -6
- data/ext/ice/cpp/src/Slice/MD5I.cpp +8 -0
- data/ext/ice/cpp/src/Slice/PHPUtil.cpp +6 -6
- data/ext/ice/cpp/src/Slice/PHPUtil.h +1 -6
- data/ext/ice/cpp/src/Slice/Parser.cpp +535 -266
- data/ext/ice/cpp/src/Slice/Parser.h +72 -12
- data/ext/ice/cpp/src/Slice/Preprocessor.cpp +26 -17
- data/ext/ice/cpp/src/Slice/Preprocessor.h +2 -7
- data/ext/ice/cpp/src/Slice/Python.cpp +28 -42
- data/ext/ice/cpp/src/Slice/PythonUtil.cpp +137 -53
- data/ext/ice/cpp/src/Slice/PythonUtil.h +2 -7
- data/ext/ice/cpp/src/Slice/Ruby.cpp +5 -10
- data/ext/ice/cpp/src/Slice/RubyUtil.cpp +13 -15
- data/ext/ice/cpp/src/Slice/RubyUtil.h +1 -6
- data/ext/ice/cpp/src/Slice/Scanner.cpp +296 -217
- data/ext/ice/cpp/src/Slice/SliceUtil.cpp +2 -8
- data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +109 -27
- data/ext/ice/cpp/src/Slice/Util.h +5 -9
- data/ext/ice/mcpp/Makefile +2 -5
- data/ice.gemspec +3 -5
- data/lib/Glacier2.rb +1 -6
- data/lib/Glacier2/Metrics.rb +3 -8
- data/lib/Glacier2/PermissionsVerifier.rb +3 -8
- data/lib/Glacier2/PermissionsVerifierF.rb +3 -8
- data/lib/Glacier2/Router.rb +3 -8
- data/lib/Glacier2/RouterF.rb +3 -8
- data/lib/Glacier2/SSLInfo.rb +3 -8
- data/lib/Glacier2/Session.rb +3 -8
- data/lib/Ice.rb +2 -7
- data/lib/Ice/BuiltinSequences.rb +3 -8
- data/lib/Ice/Communicator.rb +3 -8
- data/lib/Ice/CommunicatorF.rb +3 -8
- data/lib/Ice/Connection.rb +3 -8
- data/lib/Ice/ConnectionF.rb +3 -8
- data/lib/Ice/Current.rb +3 -8
- data/lib/Ice/Endpoint.rb +3 -8
- data/lib/Ice/EndpointF.rb +3 -8
- data/lib/Ice/EndpointTypes.rb +3 -8
- data/lib/Ice/FacetMap.rb +3 -8
- data/lib/Ice/Identity.rb +3 -8
- data/lib/Ice/ImplicitContext.rb +3 -8
- data/lib/Ice/ImplicitContextF.rb +3 -8
- data/lib/Ice/Instrumentation.rb +3 -8
- data/lib/Ice/InstrumentationF.rb +3 -8
- data/lib/Ice/LocalException.rb +3 -8
- data/lib/Ice/Locator.rb +3 -8
- data/lib/Ice/LocatorF.rb +3 -8
- data/lib/Ice/Logger.rb +3 -8
- data/lib/Ice/LoggerF.rb +3 -8
- data/lib/Ice/Metrics.rb +3 -8
- data/lib/Ice/ObjectAdapter.rb +3 -8
- data/lib/Ice/ObjectAdapterF.rb +3 -8
- data/lib/Ice/ObjectFactory.rb +3 -8
- data/lib/Ice/Plugin.rb +3 -8
- data/lib/Ice/PluginF.rb +3 -8
- data/lib/Ice/Process.rb +3 -8
- data/lib/Ice/ProcessF.rb +3 -8
- data/lib/Ice/Properties.rb +3 -8
- data/lib/Ice/PropertiesAdmin.rb +3 -8
- data/lib/Ice/PropertiesF.rb +3 -8
- data/lib/Ice/RemoteLogger.rb +3 -8
- data/lib/Ice/Router.rb +3 -8
- data/lib/Ice/RouterF.rb +3 -8
- data/lib/Ice/ServantLocator.rb +3 -8
- data/lib/Ice/ServantLocatorF.rb +3 -8
- data/lib/Ice/SliceChecksumDict.rb +3 -8
- data/lib/Ice/ValueFactory.rb +3 -8
- data/lib/Ice/Version.rb +3 -8
- data/lib/IceBox.rb +1 -6
- data/lib/IceBox/IceBox.rb +3 -8
- data/lib/IceGrid.rb +1 -6
- data/lib/IceGrid/Admin.rb +3 -8
- data/lib/IceGrid/Descriptor.rb +3 -8
- data/lib/IceGrid/Exception.rb +3 -8
- data/lib/IceGrid/FileParser.rb +3 -8
- data/lib/IceGrid/PluginFacade.rb +3 -8
- data/lib/IceGrid/Registry.rb +3 -8
- data/lib/IceGrid/Session.rb +3 -8
- data/lib/IceGrid/UserAccountMapper.rb +3 -8
- data/lib/IcePatch2.rb +1 -6
- data/lib/IcePatch2/FileInfo.rb +3 -8
- data/lib/IcePatch2/FileServer.rb +3 -8
- data/lib/IceStorm.rb +1 -6
- data/lib/IceStorm/IceStorm.rb +3 -8
- data/lib/IceStorm/Metrics.rb +3 -8
- data/slice/Glacier2/Metrics.ice +14 -8
- data/slice/Glacier2/PermissionsVerifier.ice +11 -7
- data/slice/Glacier2/PermissionsVerifierF.ice +11 -7
- data/slice/Glacier2/Router.ice +12 -8
- data/slice/Glacier2/RouterF.ice +11 -7
- data/slice/Glacier2/SSLInfo.ice +11 -7
- data/slice/Glacier2/Session.ice +11 -7
- data/slice/Ice/BuiltinSequences.ice +13 -7
- data/slice/Ice/Communicator.ice +143 -102
- data/slice/Ice/CommunicatorF.ice +13 -7
- data/slice/Ice/Connection.ice +65 -29
- data/slice/Ice/ConnectionF.ice +13 -7
- data/slice/Ice/Current.ice +31 -26
- data/slice/Ice/Endpoint.ice +24 -21
- data/slice/Ice/EndpointF.ice +14 -8
- data/slice/Ice/EndpointTypes.ice +15 -9
- data/slice/Ice/FacetMap.ice +14 -8
- data/slice/Ice/Identity.ice +13 -7
- data/slice/Ice/ImplicitContext.ice +31 -25
- data/slice/Ice/ImplicitContextF.ice +12 -7
- data/slice/Ice/Instrumentation.ice +19 -13
- data/slice/Ice/InstrumentationF.ice +13 -7
- data/slice/Ice/LocalException.ice +35 -29
- data/slice/Ice/Locator.ice +14 -8
- data/slice/Ice/LocatorF.ice +13 -7
- data/slice/Ice/Logger.ice +19 -13
- data/slice/Ice/LoggerF.ice +13 -7
- data/slice/Ice/Metrics.ice +26 -18
- data/slice/Ice/ObjectAdapter.ice +63 -45
- data/slice/Ice/ObjectAdapterF.ice +13 -7
- data/slice/Ice/ObjectFactory.ice +20 -12
- data/slice/Ice/Plugin.ice +19 -10
- data/slice/Ice/PluginF.ice +17 -7
- data/slice/Ice/Process.ice +13 -7
- data/slice/Ice/ProcessF.ice +13 -7
- data/slice/Ice/Properties.ice +35 -24
- data/slice/Ice/PropertiesAdmin.ice +13 -7
- data/slice/Ice/PropertiesF.ice +13 -7
- data/slice/Ice/RemoteLogger.ice +23 -28
- data/slice/Ice/Router.ice +14 -8
- data/slice/Ice/RouterF.ice +13 -7
- data/slice/Ice/ServantLocator.ice +31 -23
- data/slice/Ice/ServantLocatorF.ice +13 -7
- data/slice/Ice/SliceChecksumDict.ice +13 -7
- data/slice/Ice/ValueFactory.ice +31 -26
- data/slice/Ice/Version.ice +13 -7
- data/slice/IceBT/ConnectionInfo.ice +12 -7
- data/slice/IceBT/EndpointInfo.ice +13 -8
- data/slice/IceBT/Types.ice +12 -7
- data/slice/IceBox/IceBox.ice +30 -11
- data/slice/IceDiscovery/IceDiscovery.ice +68 -7
- data/slice/IceGrid/Admin.ice +41 -35
- data/slice/IceGrid/Descriptor.ice +15 -10
- data/slice/IceGrid/Exception.ice +15 -10
- data/slice/IceGrid/FileParser.ice +14 -8
- data/slice/IceGrid/PluginFacade.ice +17 -11
- data/slice/IceGrid/Registry.ice +13 -7
- data/slice/IceGrid/Session.ice +18 -12
- data/slice/IceGrid/UserAccountMapper.ice +16 -10
- data/slice/IceIAP/ConnectionInfo.ice +11 -8
- data/slice/IceIAP/EndpointInfo.ice +11 -8
- data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +12 -7
- data/slice/IcePatch2/FileInfo.ice +12 -7
- data/slice/IcePatch2/FileServer.ice +13 -8
- data/slice/IceSSL/ConnectionInfo.ice +16 -9
- data/slice/IceSSL/ConnectionInfoF.ice +14 -8
- data/slice/IceSSL/EndpointInfo.ice +14 -8
- data/slice/IceStorm/IceStorm.ice +20 -15
- data/slice/IceStorm/Metrics.ice +12 -8
- metadata +7 -13
- data/BZIP2_LICENSE +0 -42
- data/ext/ice/bzip2/blocksort.c +0 -1094
- data/ext/ice/bzip2/bzlib.c +0 -1572
- data/ext/ice/bzip2/bzlib.h +0 -282
- data/ext/ice/bzip2/bzlib_private.h +0 -509
- data/ext/ice/bzip2/compress.c +0 -672
- data/ext/ice/bzip2/crctable.c +0 -104
- data/ext/ice/bzip2/decompress.c +0 -646
- data/ext/ice/bzip2/huffman.c +0 -205
- data/ext/ice/bzip2/randtable.c +0 -84
@@ -1,11 +1,6 @@
|
|
1
|
-
// **********************************************************************
|
2
1
|
//
|
3
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) ZeroC, Inc. All rights reserved.
|
4
3
|
//
|
5
|
-
// This copy of Ice is licensed to you under the terms described in the
|
6
|
-
// ICE_LICENSE file included in this distribution.
|
7
|
-
//
|
8
|
-
// **********************************************************************
|
9
4
|
|
10
5
|
#ifndef ICE_OBJECT_F_H
|
11
6
|
#define ICE_OBJECT_F_H
|
@@ -18,12 +13,16 @@ namespace Ice
|
|
18
13
|
|
19
14
|
class Object;
|
20
15
|
#ifdef ICE_CPP11_MAPPING
|
16
|
+
/// \cond INTERNAL
|
21
17
|
using ObjectPtr = ::std::shared_ptr<Object>;
|
18
|
+
/// \endcond
|
22
19
|
#else
|
23
20
|
ICE_API Object* upCast(Object*);
|
24
21
|
typedef IceInternal::Handle<Object> ObjectPtr;
|
25
22
|
typedef ObjectPtr ValuePtr;
|
23
|
+
/// \cond INTERNAL
|
26
24
|
ICE_API void _icePatchObjectPtr(ObjectPtr&, const ObjectPtr&);
|
25
|
+
/// \endcond
|
27
26
|
#endif
|
28
27
|
|
29
28
|
}
|
@@ -1,11 +1,6 @@
|
|
1
|
-
// **********************************************************************
|
2
1
|
//
|
3
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) ZeroC, Inc. All rights reserved.
|
4
3
|
//
|
5
|
-
// This copy of Ice is licensed to you under the terms described in the
|
6
|
-
// ICE_LICENSE file included in this distribution.
|
7
|
-
//
|
8
|
-
// **********************************************************************
|
9
4
|
|
10
5
|
#ifndef ICE_OBSERVERHELPER_H
|
11
6
|
#define ICE_OBSERVERHELPER_H
|
@@ -1,11 +1,6 @@
|
|
1
|
-
// **********************************************************************
|
2
1
|
//
|
3
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) ZeroC, Inc. All rights reserved.
|
4
3
|
//
|
5
|
-
// This copy of Ice is licensed to you under the terms described in the
|
6
|
-
// ICE_LICENSE file included in this distribution.
|
7
|
-
//
|
8
|
-
// **********************************************************************
|
9
4
|
|
10
5
|
//
|
11
6
|
// Ice::optional is a placeholder for std::optional:
|
@@ -215,7 +210,7 @@ template <class T> inline constexpr typename std::remove_reference<T>::type&& co
|
|
215
210
|
#if defined NDEBUG
|
216
211
|
# define TR2_OPTIONAL_ASSERTED_EXPRESSION(CHECK, EXPR) (EXPR)
|
217
212
|
#else
|
218
|
-
# define TR2_OPTIONAL_ASSERTED_EXPRESSION(CHECK, EXPR) ((CHECK) ? (EXPR) : ([]{assert(
|
213
|
+
# define TR2_OPTIONAL_ASSERTED_EXPRESSION(CHECK, EXPR) ((CHECK) ? (EXPR) : ([]{assert(false && #CHECK);}(), (EXPR)))
|
219
214
|
#endif
|
220
215
|
|
221
216
|
namespace detail_
|
@@ -545,15 +540,30 @@ public:
|
|
545
540
|
return dataptr();
|
546
541
|
}
|
547
542
|
|
543
|
+
//
|
544
|
+
// WORKAROUND error: implicit conversion turns string literal into bool
|
545
|
+
//
|
546
|
+
#if defined(__clang__)
|
547
|
+
# pragma clang diagnostic push
|
548
|
+
# pragma clang diagnostic ignored "-Wconversion"
|
549
|
+
#endif
|
548
550
|
constexpr T const& operator *() const {
|
549
551
|
return TR2_OPTIONAL_ASSERTED_EXPRESSION(initialized(), contained_val());
|
550
552
|
}
|
551
553
|
|
554
|
+
#if defined(__clang__)
|
555
|
+
# pragma clang diagnostic pop
|
556
|
+
#endif
|
557
|
+
|
552
558
|
T& operator *() {
|
553
559
|
assert (initialized());
|
554
560
|
return contained_val();
|
555
561
|
}
|
556
562
|
|
563
|
+
#ifdef _MSC_VER
|
564
|
+
# pragma warning(push)
|
565
|
+
# pragma warning(disable:4702) // unreachable code
|
566
|
+
#endif
|
557
567
|
constexpr T const& value() const {
|
558
568
|
return initialized() ? contained_val() : (throw bad_optional_access("bad optional access"), contained_val());
|
559
569
|
}
|
@@ -562,6 +572,10 @@ public:
|
|
562
572
|
return initialized() ? contained_val() : (throw bad_optional_access("bad optional access"), contained_val());
|
563
573
|
}
|
564
574
|
|
575
|
+
#ifdef _MSC_VER
|
576
|
+
# pragma warning(pop)
|
577
|
+
#endif
|
578
|
+
|
565
579
|
# endif
|
566
580
|
|
567
581
|
# if OPTIONAL_HAS_THIS_RVALUE_REFS == 1
|
@@ -1041,8 +1055,13 @@ namespace std
|
|
1041
1055
|
# undef TR2_OPTIONAL_REQUIRES
|
1042
1056
|
# undef TR2_OPTIONAL_ASSERTED_EXPRESSION
|
1043
1057
|
|
1044
|
-
namespace Ice
|
1058
|
+
namespace Ice
|
1059
|
+
{
|
1045
1060
|
|
1061
|
+
/**
|
1062
|
+
* Ice::optional is a placeholder for std::optional.
|
1063
|
+
* Refer to http://en.cppreference.com/w/cpp/utility/optional for more information.
|
1064
|
+
*/
|
1046
1065
|
template<class T> using optional = std::experimental::Ice::optional<T>;
|
1047
1066
|
|
1048
1067
|
using std::experimental::Ice::operator==;
|
@@ -1052,25 +1071,36 @@ using std::experimental::Ice::operator<=;
|
|
1052
1071
|
using std::experimental::Ice::operator>;
|
1053
1072
|
using std::experimental::Ice::operator>=;
|
1054
1073
|
|
1074
|
+
/** Creates an optional object. */
|
1055
1075
|
using std::experimental::Ice::make_optional;
|
1076
|
+
/** Exchanges the state of an optional object with another one. */
|
1056
1077
|
using std::experimental::Ice::swap;
|
1057
1078
|
|
1079
|
+
/** This type indicates that no value is provided. */
|
1058
1080
|
using nullopt_t = std::experimental::Ice::nullopt_t;
|
1081
|
+
/** An instance of nullopt_t used as a marker value to indicate that no value is provided. */
|
1059
1082
|
using std::experimental::Ice::nullopt;
|
1060
1083
|
|
1084
|
+
/** Raised when accessing an optional that doesn't contain a value. */
|
1061
1085
|
using bad_optional_access = std::experimental::Ice::bad_optional_access;
|
1062
1086
|
|
1087
|
+
/** This type indicates that an optional value should be constructed in place. */
|
1063
1088
|
using in_place_t = std::experimental::Ice::in_place_t;
|
1089
|
+
/** An instance of in_place_t that indicates that an optional value should be constructed in place. */
|
1064
1090
|
using std::experimental::Ice::in_place;
|
1065
1091
|
|
1066
1092
|
}
|
1067
1093
|
|
1068
|
-
|
1069
|
-
|
1070
|
-
//
|
1071
|
-
namespace IceUtil{
|
1094
|
+
namespace IceUtil
|
1095
|
+
{
|
1072
1096
|
|
1097
|
+
/**
|
1098
|
+
* For compatibility with the Ice C++98 mapping, do not use in new code:
|
1099
|
+
*/
|
1073
1100
|
template<class T> using Optional = std::experimental::Ice::optional<T>;
|
1101
|
+
/**
|
1102
|
+
* For compatibility with the Ice C++98 mapping, do not use in new code:
|
1103
|
+
*/
|
1074
1104
|
constexpr std::experimental::Ice::nullopt_t None{std::experimental::Ice::nullopt_t::init()};
|
1075
1105
|
|
1076
1106
|
}
|
@@ -1,11 +1,6 @@
|
|
1
|
-
// **********************************************************************
|
2
1
|
//
|
3
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) ZeroC, Inc. All rights reserved.
|
4
3
|
//
|
5
|
-
// This copy of Ice is licensed to you under the terms described in the
|
6
|
-
// ICE_LICENSE file included in this distribution.
|
7
|
-
//
|
8
|
-
// **********************************************************************
|
9
4
|
|
10
5
|
#ifndef ICE_OUTGOING_ASYNC_H
|
11
6
|
#define ICE_OUTGOING_ASYNC_H
|
@@ -468,7 +463,12 @@ public:
|
|
468
463
|
std::function<void(bool)> sent) :
|
469
464
|
OutgoingAsyncT<R>(proxy, false), LambdaInvoke(std::move(ex), std::move(sent))
|
470
465
|
{
|
466
|
+
#if ICE_CPLUSPLUS >= 201402L
|
467
|
+
// Move capture with C++14
|
468
|
+
_response = [this, response = std::move(response)](bool ok)
|
469
|
+
#else
|
471
470
|
_response = [this, response](bool ok)
|
471
|
+
#endif
|
472
472
|
{
|
473
473
|
if(!ok)
|
474
474
|
{
|
@@ -504,7 +504,12 @@ public:
|
|
504
504
|
std::function<void(bool)> sent) :
|
505
505
|
OutgoingAsyncT<void>(proxy, false), LambdaInvoke(std::move(ex), std::move(sent))
|
506
506
|
{
|
507
|
+
#if ICE_CPLUSPLUS >= 201402L
|
508
|
+
// Move capture with C++14
|
509
|
+
_response = [this, response = std::move(response)](bool ok)
|
510
|
+
#else
|
507
511
|
_response = [this, response](bool ok)
|
512
|
+
#endif
|
508
513
|
{
|
509
514
|
if(!ok)
|
510
515
|
{
|
@@ -540,7 +545,12 @@ public:
|
|
540
545
|
std::function<void(bool)> sent) :
|
541
546
|
OutgoingAsync(proxy, false), LambdaInvoke(std::move(ex), std::move(sent))
|
542
547
|
{
|
548
|
+
#if ICE_CPLUSPLUS >= 201402L
|
549
|
+
// Move capture with C++14
|
550
|
+
_response = [this, read = std::move(read)](bool ok)
|
551
|
+
#else
|
543
552
|
_response = [this, read](bool ok)
|
553
|
+
#endif
|
544
554
|
{
|
545
555
|
if(!ok)
|
546
556
|
{
|
@@ -585,7 +595,7 @@ public:
|
|
585
595
|
this->_is.startEncapsulation();
|
586
596
|
R v = this->_read(&this->_is);
|
587
597
|
this->_is.endEncapsulation();
|
588
|
-
this->_promise.set_value(v);
|
598
|
+
this->_promise.set_value(std::move(v));
|
589
599
|
}
|
590
600
|
else
|
591
601
|
{
|
@@ -669,7 +679,7 @@ public:
|
|
669
679
|
//
|
670
680
|
// See comments in OutgoingAsync.cpp
|
671
681
|
//
|
672
|
-
extern ICE_API CallbackBasePtr dummyCallback;
|
682
|
+
extern ICE_API CallbackBasePtr dummyCallback ICE_GLOBAL_VAR_SUFFIX;
|
673
683
|
|
674
684
|
//
|
675
685
|
// Generic callback template that requires the caller to down-cast the
|
@@ -805,6 +815,13 @@ namespace Ice
|
|
805
815
|
|
806
816
|
typedef IceUtil::Handle< ::IceInternal::GenericCallbackBase> CallbackPtr;
|
807
817
|
|
818
|
+
/**
|
819
|
+
* Creates a callback wrapper instance that delegates to your object.
|
820
|
+
* @param instance The callback object.
|
821
|
+
* @param cb The completion callback.
|
822
|
+
* @param sentcb The sent callback.
|
823
|
+
* @return A callback object that can be passed to an asynchronous invocation.
|
824
|
+
*/
|
808
825
|
template<class T> CallbackPtr
|
809
826
|
newCallback(const IceUtil::Handle<T>& instance,
|
810
827
|
void (T::*cb)(const AsyncResultPtr&),
|
@@ -813,6 +830,13 @@ newCallback(const IceUtil::Handle<T>& instance,
|
|
813
830
|
return new ::IceInternal::AsyncCallback<T>(instance, cb, sentcb);
|
814
831
|
}
|
815
832
|
|
833
|
+
/**
|
834
|
+
* Creates a callback wrapper instance that delegates to your object.
|
835
|
+
* @param instance The callback object.
|
836
|
+
* @param cb The completion callback.
|
837
|
+
* @param sentcb The sent callback.
|
838
|
+
* @return A callback object that can be passed to an asynchronous invocation.
|
839
|
+
*/
|
816
840
|
template<class T> CallbackPtr
|
817
841
|
newCallback(T* instance,
|
818
842
|
void (T::*cb)(const AsyncResultPtr&),
|
@@ -1,11 +1,6 @@
|
|
1
|
-
// **********************************************************************
|
2
1
|
//
|
3
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) ZeroC, Inc. All rights reserved.
|
4
3
|
//
|
5
|
-
// This copy of Ice is licensed to you under the terms described in the
|
6
|
-
// ICE_LICENSE file included in this distribution.
|
7
|
-
//
|
8
|
-
// **********************************************************************
|
9
4
|
|
10
5
|
#ifndef ICE_OUTGOING_ASYNC_F_H
|
11
6
|
#define ICE_OUTGOING_ASYNC_F_H
|
@@ -1,11 +1,6 @@
|
|
1
|
-
// **********************************************************************
|
2
1
|
//
|
3
|
-
// Copyright (c)
|
2
|
+
// Copyright (c) ZeroC, Inc. All rights reserved.
|
4
3
|
//
|
5
|
-
// This copy of Ice is licensed to you under the terms described in the
|
6
|
-
// ICE_LICENSE file included in this distribution.
|
7
|
-
//
|
8
|
-
// **********************************************************************
|
9
4
|
|
10
5
|
#ifndef ICE_OUTPUT_STREAM_H
|
11
6
|
#define ICE_OUTPUT_STREAM_H
|
@@ -25,35 +20,45 @@ namespace Ice
|
|
25
20
|
|
26
21
|
class UserException;
|
27
22
|
|
23
|
+
/**
|
24
|
+
* Interface for output streams used to create a sequence of bytes from Slice types.
|
25
|
+
* \headerfile Ice/Ice.h
|
26
|
+
*/
|
28
27
|
class ICE_API OutputStream : public IceInternal::Buffer
|
29
28
|
{
|
30
29
|
public:
|
31
30
|
|
32
31
|
typedef size_t size_type;
|
33
32
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
33
|
+
/**
|
34
|
+
* Constructs an OutputStream using the latest encoding version, the default format for
|
35
|
+
* class encoding, and the process string converters. You can supply a communicator later
|
36
|
+
* by calling initialize().
|
37
|
+
*/
|
39
38
|
OutputStream();
|
40
39
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
40
|
+
/**
|
41
|
+
* Constructs a stream using the communicator's default encoding version.
|
42
|
+
* @param communicator The communicator to use for marshaling tasks.
|
43
|
+
*/
|
44
|
+
OutputStream(const CommunicatorPtr& communicator);
|
45
|
+
|
46
|
+
/**
|
47
|
+
* Constructs a stream using the given communicator and encoding version.
|
48
|
+
* @param communicator The communicator to use for marshaling tasks.
|
49
|
+
* @param version The encoding version used to encode the data.
|
50
|
+
*/
|
51
|
+
OutputStream(const CommunicatorPtr& communicator, const EncodingVersion& version);
|
52
|
+
|
53
|
+
/**
|
54
|
+
* Constructs a stream using the given communicator and encoding version.
|
55
|
+
* @param communicator The communicator to use for marshaling tasks.
|
56
|
+
* @param version The encoding version used to encode the data.
|
57
|
+
* @param bytes Application-supplied memory that the stream uses as its initial marshaling buffer. The
|
58
|
+
* stream will reallocate if the size of the marshaled data exceeds the application's buffer.
|
59
|
+
*/
|
60
|
+
OutputStream(const CommunicatorPtr& communicator, const EncodingVersion& version,
|
61
|
+
const std::pair<const Byte*, const Byte*>& bytes);
|
57
62
|
|
58
63
|
~OutputStream()
|
59
64
|
{
|
@@ -65,63 +70,128 @@ public:
|
|
65
70
|
}
|
66
71
|
}
|
67
72
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
73
|
+
/**
|
74
|
+
* Initializes the stream to use the communicator's default encoding version, class
|
75
|
+
* encoding format and string converters. Use this method if you originally constructed
|
76
|
+
* the stream without a communicator.
|
77
|
+
* @param communicator The communicator to use for marshaling tasks.
|
78
|
+
*/
|
79
|
+
void initialize(const CommunicatorPtr& communicator);
|
80
|
+
|
81
|
+
/**
|
82
|
+
* Initializes the stream to use the given encoding version and the communicator's
|
83
|
+
* default class encoding format and string converters. Use this method if you
|
84
|
+
* originally constructed the stream without a communicator.
|
85
|
+
* @param communicator The communicator to use for marshaling tasks.
|
86
|
+
* @param version The encoding version used to encode the data.
|
87
|
+
*/
|
88
|
+
void initialize(const CommunicatorPtr& communicator, const EncodingVersion& version);
|
89
|
+
|
90
|
+
/**
|
91
|
+
* Releases any data retained by encapsulations.
|
92
|
+
*/
|
80
93
|
void clear();
|
81
94
|
|
95
|
+
/// \cond INTERNAL
|
82
96
|
//
|
83
97
|
// Must return Instance*, because we don't hold an InstancePtr for
|
84
98
|
// optimization reasons (see comments below).
|
85
99
|
//
|
86
100
|
IceInternal::Instance* instance() const { return _instance; } // Inlined for performance reasons.
|
87
|
-
|
88
|
-
|
89
|
-
|
101
|
+
/// \endcond
|
102
|
+
|
103
|
+
/**
|
104
|
+
* Sets the class encoding format.
|
105
|
+
* @param format The encoding format.
|
106
|
+
*/
|
107
|
+
void setFormat(FormatType format);
|
108
|
+
|
109
|
+
/**
|
110
|
+
* Obtains the closure data associated with this stream.
|
111
|
+
* @return The data as a void pointer.
|
112
|
+
*/
|
90
113
|
void* getClosure() const;
|
91
|
-
void* setClosure(void*);
|
92
114
|
|
93
|
-
|
115
|
+
/**
|
116
|
+
* Associates closure data with this stream.
|
117
|
+
* @param p The data as a void pointer.
|
118
|
+
* @return The previous closure data, or nil.
|
119
|
+
*/
|
120
|
+
void* setClosure(void* p);
|
121
|
+
|
122
|
+
/**
|
123
|
+
* Swaps the contents of one stream with another.
|
124
|
+
*
|
125
|
+
* @param other The other stream.
|
126
|
+
*/
|
127
|
+
void swap(OutputStream& other);
|
128
|
+
|
129
|
+
/// \cond INTERNAL
|
94
130
|
void resetEncapsulation();
|
131
|
+
/// \endcond
|
95
132
|
|
133
|
+
/**
|
134
|
+
* Resizes the stream to a new size.
|
135
|
+
*
|
136
|
+
* @param sz The new size.
|
137
|
+
*/
|
96
138
|
void resize(Container::size_type sz)
|
97
139
|
{
|
98
140
|
b.resize(sz);
|
99
141
|
}
|
100
142
|
|
143
|
+
/**
|
144
|
+
* Marks the start of a class instance.
|
145
|
+
* @param data Contains the marshaled form of unknown slices from this instance. If not nil,
|
146
|
+
* these slices will be marshaled with the instance.
|
147
|
+
*/
|
101
148
|
void startValue(const SlicedDataPtr& data)
|
102
149
|
{
|
103
150
|
assert(_currentEncaps && _currentEncaps->encoder);
|
104
151
|
_currentEncaps->encoder->startInstance(ValueSlice, data);
|
105
152
|
}
|
153
|
+
|
154
|
+
/**
|
155
|
+
* Marks the end of a class instance.
|
156
|
+
*/
|
106
157
|
void endValue()
|
107
158
|
{
|
108
159
|
assert(_currentEncaps && _currentEncaps->encoder);
|
109
160
|
_currentEncaps->encoder->endInstance();
|
110
161
|
}
|
111
162
|
|
163
|
+
/**
|
164
|
+
* Marks the start of an exception instance.
|
165
|
+
* @param data Contains the marshaled form of unknown slices from this instance. If not nil,
|
166
|
+
* these slices will be marshaled with the instance.
|
167
|
+
*/
|
112
168
|
void startException(const SlicedDataPtr& data)
|
113
169
|
{
|
114
170
|
assert(_currentEncaps && _currentEncaps->encoder);
|
115
171
|
_currentEncaps->encoder->startInstance(ExceptionSlice, data);
|
116
172
|
}
|
173
|
+
|
174
|
+
/**
|
175
|
+
* Marks the end of an exception instance.
|
176
|
+
*/
|
117
177
|
void endException()
|
118
178
|
{
|
119
179
|
assert(_currentEncaps && _currentEncaps->encoder);
|
120
180
|
_currentEncaps->encoder->endInstance();
|
121
181
|
}
|
122
182
|
|
183
|
+
/**
|
184
|
+
* Writes the start of an encapsulation using the default encoding version and
|
185
|
+
* class encoding format.
|
186
|
+
*/
|
123
187
|
void startEncapsulation();
|
124
188
|
|
189
|
+
/**
|
190
|
+
* Writes the start of an encapsulation using the given encoding version and
|
191
|
+
* class encoding format.
|
192
|
+
* @param encoding The encoding version to use for the encapsulation.
|
193
|
+
* @param format The class format to use for the encapsulation.
|
194
|
+
*/
|
125
195
|
void startEncapsulation(const EncodingVersion& encoding, FormatType format)
|
126
196
|
{
|
127
197
|
IceInternal::checkSupportedEncoding(encoding);
|
@@ -143,6 +213,10 @@ public:
|
|
143
213
|
write(Int(0)); // Placeholder for the encapsulation length.
|
144
214
|
write(_currentEncaps->encoding);
|
145
215
|
}
|
216
|
+
|
217
|
+
/**
|
218
|
+
* Ends the current encapsulation.
|
219
|
+
*/
|
146
220
|
void endEncapsulation()
|
147
221
|
{
|
148
222
|
assert(_currentEncaps);
|
@@ -163,12 +237,22 @@ public:
|
|
163
237
|
}
|
164
238
|
}
|
165
239
|
|
240
|
+
/**
|
241
|
+
* Writes an empty encapsulation using the given encoding version.
|
242
|
+
* @param encoding The encoding version to use for the encapsulation.
|
243
|
+
*/
|
166
244
|
void writeEmptyEncapsulation(const EncodingVersion& encoding)
|
167
245
|
{
|
168
246
|
IceInternal::checkSupportedEncoding(encoding);
|
169
247
|
write(Int(6)); // Size
|
170
248
|
write(encoding);
|
171
249
|
}
|
250
|
+
|
251
|
+
/**
|
252
|
+
* Copies the marshaled form of an encapsulation to the buffer.
|
253
|
+
* @param v The start of the buffer.
|
254
|
+
* @param sz The number of bytes to copy.
|
255
|
+
*/
|
172
256
|
void writeEncapsulation(const Byte* v, Int sz)
|
173
257
|
{
|
174
258
|
if(sz < 6)
|
@@ -177,28 +261,54 @@ public:
|
|
177
261
|
}
|
178
262
|
|
179
263
|
Container::size_type position = b.size();
|
180
|
-
resize(position + sz);
|
181
|
-
memcpy(&b[position], &v[0], sz);
|
264
|
+
resize(position + static_cast<size_t>(sz));
|
265
|
+
memcpy(&b[position], &v[0], static_cast<size_t>(sz));
|
182
266
|
}
|
183
267
|
|
268
|
+
/**
|
269
|
+
* Determines the current encoding version.
|
270
|
+
*
|
271
|
+
* @return The encoding version.
|
272
|
+
*/
|
184
273
|
const EncodingVersion& getEncoding() const
|
185
274
|
{
|
186
275
|
return _currentEncaps ? _currentEncaps->encoding : _encoding;
|
187
276
|
}
|
188
277
|
|
278
|
+
/**
|
279
|
+
* Writes the start of a value or exception slice.
|
280
|
+
*
|
281
|
+
* @param typeId The Slice type ID for this slice.
|
282
|
+
* @param compactId The compact ID corresponding to the type, or -1 if no compact ID is used.
|
283
|
+
* @param last True if this is the last slice, false otherwise.
|
284
|
+
*/
|
189
285
|
void startSlice(const std::string& typeId, int compactId, bool last)
|
190
286
|
{
|
191
287
|
assert(_currentEncaps && _currentEncaps->encoder);
|
192
288
|
_currentEncaps->encoder->startSlice(typeId, compactId, last);
|
193
289
|
}
|
290
|
+
|
291
|
+
/**
|
292
|
+
* Marks the end of a value or exception slice.
|
293
|
+
*/
|
194
294
|
void endSlice()
|
195
295
|
{
|
196
296
|
assert(_currentEncaps && _currentEncaps->encoder);
|
197
297
|
_currentEncaps->encoder->endSlice();
|
198
298
|
}
|
199
299
|
|
300
|
+
/**
|
301
|
+
* Encodes the state of class instances whose insertion was delayed during a previous
|
302
|
+
* call to write. This member function must only be called once. For backward
|
303
|
+
* compatibility with encoding version 1.0, this function must only be called when
|
304
|
+
* non-optional data members or parameters use class types.
|
305
|
+
*/
|
200
306
|
void writePendingValues();
|
201
307
|
|
308
|
+
/**
|
309
|
+
* Writes a size value.
|
310
|
+
* @param v A non-negative integer.
|
311
|
+
*/
|
202
312
|
void writeSize(Int v) // Inlined for performance reasons.
|
203
313
|
{
|
204
314
|
assert(v >= 0);
|
@@ -212,6 +322,13 @@ public:
|
|
212
322
|
write(static_cast<Byte>(v));
|
213
323
|
}
|
214
324
|
}
|
325
|
+
|
326
|
+
/**
|
327
|
+
* Replaces a size value at the given destination in the stream. This function
|
328
|
+
* does not change the stream's current position.
|
329
|
+
* @param v A non-negative integer representing the size.
|
330
|
+
* @param dest The buffer destination for the size.
|
331
|
+
*/
|
215
332
|
void rewriteSize(Int v, Container::iterator dest)
|
216
333
|
{
|
217
334
|
assert(v >= 0);
|
@@ -226,6 +343,12 @@ public:
|
|
226
343
|
}
|
227
344
|
}
|
228
345
|
|
346
|
+
/**
|
347
|
+
* Writes a placeholder value for the size and returns the starting position of the
|
348
|
+
* size value; after writing the data, call endSize to patch the placeholder with
|
349
|
+
* the actual size at the given position.
|
350
|
+
* @return The starting position of the size value.
|
351
|
+
*/
|
229
352
|
size_type startSize()
|
230
353
|
{
|
231
354
|
size_type position = b.size();
|
@@ -233,13 +356,27 @@ public:
|
|
233
356
|
return position;
|
234
357
|
}
|
235
358
|
|
359
|
+
/**
|
360
|
+
* Updates the size value at the given position to contain a size based on the
|
361
|
+
* stream's current position.
|
362
|
+
* @param position The starting position of the size value as returned by startSize.
|
363
|
+
*/
|
236
364
|
void endSize(size_type position)
|
237
365
|
{
|
238
366
|
rewrite(static_cast<Int>(b.size() - position) - 4, position);
|
239
367
|
}
|
240
368
|
|
241
|
-
|
242
|
-
|
369
|
+
/**
|
370
|
+
* Copies the specified blob of bytes to the stream without modification.
|
371
|
+
* @param v The bytes to be copied.
|
372
|
+
*/
|
373
|
+
void writeBlob(const std::vector<Byte>& v);
|
374
|
+
|
375
|
+
/**
|
376
|
+
* Copies the specified blob of bytes to the stream without modification.
|
377
|
+
* @param v The start of the buffer to be copied.
|
378
|
+
* @param sz The number of bytes to be copied.
|
379
|
+
*/
|
243
380
|
void writeBlob(const Byte* v, Container::size_type sz)
|
244
381
|
{
|
245
382
|
if(sz > 0)
|
@@ -250,11 +387,20 @@ public:
|
|
250
387
|
}
|
251
388
|
}
|
252
389
|
|
390
|
+
/**
|
391
|
+
* Writes a data value to the stream.
|
392
|
+
* @param v The data value to be written.
|
393
|
+
*/
|
253
394
|
template<typename T> void write(const T& v)
|
254
395
|
{
|
255
396
|
StreamHelper<T, StreamableTraits<T>::helper>::write(this, v);
|
256
397
|
}
|
257
398
|
|
399
|
+
/**
|
400
|
+
* Writes an optional data value to the stream.
|
401
|
+
* @param tag The tag ID.
|
402
|
+
* @param v The data value to be written (if any).
|
403
|
+
*/
|
258
404
|
template<typename T> void write(Int tag, const IceUtil::Optional<T>& v)
|
259
405
|
{
|
260
406
|
if(!v)
|
@@ -272,9 +418,10 @@ public:
|
|
272
418
|
}
|
273
419
|
}
|
274
420
|
|
275
|
-
|
276
|
-
|
277
|
-
|
421
|
+
/**
|
422
|
+
* Writes a sequence of data values to the stream.
|
423
|
+
* @param v The sequence to be written.
|
424
|
+
*/
|
278
425
|
template<typename T> void write(const std::vector<T>& v)
|
279
426
|
{
|
280
427
|
if(v.empty())
|
@@ -287,6 +434,11 @@ public:
|
|
287
434
|
}
|
288
435
|
}
|
289
436
|
|
437
|
+
/**
|
438
|
+
* Writes a sequence of data values to the stream.
|
439
|
+
* @param begin The beginning of the sequence.
|
440
|
+
* @param end The end of the sequence.
|
441
|
+
*/
|
290
442
|
template<typename T> void write(const T* begin, const T* end)
|
291
443
|
{
|
292
444
|
writeSize(static_cast<Int>(end - begin));
|
@@ -298,17 +450,26 @@ public:
|
|
298
450
|
|
299
451
|
#ifdef ICE_CPP11_MAPPING
|
300
452
|
|
453
|
+
/**
|
454
|
+
* Writes a list of mandatory data values.
|
455
|
+
*/
|
301
456
|
template<typename T> void writeAll(const T& v)
|
302
457
|
{
|
303
458
|
write(v);
|
304
459
|
}
|
305
460
|
|
461
|
+
/**
|
462
|
+
* Writes a list of mandatory data values.
|
463
|
+
*/
|
306
464
|
template<typename T, typename... Te> void writeAll(const T& v, const Te&... ve)
|
307
465
|
{
|
308
466
|
write(v);
|
309
467
|
writeAll(ve...);
|
310
468
|
}
|
311
469
|
|
470
|
+
/**
|
471
|
+
* Writes a list of mandatory data values.
|
472
|
+
*/
|
312
473
|
template<size_t I = 0, typename... Te>
|
313
474
|
typename std::enable_if<I == sizeof...(Te), void>::type
|
314
475
|
writeAll(std::tuple<Te...>)
|
@@ -316,6 +477,9 @@ public:
|
|
316
477
|
// Do nothing. Either tuple is empty or we are at the end.
|
317
478
|
}
|
318
479
|
|
480
|
+
/**
|
481
|
+
* Writes a list of mandatory data values.
|
482
|
+
*/
|
319
483
|
template<size_t I = 0, typename... Te>
|
320
484
|
typename std::enable_if<I < sizeof...(Te), void>::type
|
321
485
|
writeAll(std::tuple<Te...> tuple)
|
@@ -324,12 +488,18 @@ public:
|
|
324
488
|
writeAll<I + 1, Te...>(tuple);
|
325
489
|
}
|
326
490
|
|
491
|
+
/**
|
492
|
+
* Writes a list of optional data values.
|
493
|
+
*/
|
327
494
|
template<typename T>
|
328
495
|
void writeAll(std::initializer_list<int> tags, const IceUtil::Optional<T>& v)
|
329
496
|
{
|
330
497
|
write(*(tags.begin() + tags.size() - 1), v);
|
331
498
|
}
|
332
499
|
|
500
|
+
/**
|
501
|
+
* Writes a list of optional data values.
|
502
|
+
*/
|
333
503
|
template<typename T, typename... Te>
|
334
504
|
void writeAll(std::initializer_list<int> tags, const IceUtil::Optional<T>& v, const IceUtil::Optional<Te>&... ve)
|
335
505
|
{
|
@@ -340,7 +510,13 @@ public:
|
|
340
510
|
|
341
511
|
#endif
|
342
512
|
|
343
|
-
|
513
|
+
/**
|
514
|
+
* Writes the tag and format of an optional value.
|
515
|
+
* @param tag The optional tag ID.
|
516
|
+
* @param format The optional format.
|
517
|
+
* @return True if the current encoding version supports optional values, false otherwise.
|
518
|
+
* If true, the data associated with the optional value must be written next.
|
519
|
+
*/
|
344
520
|
bool writeOptional(Int tag, OptionalFormat format)
|
345
521
|
{
|
346
522
|
assert(_currentEncaps);
|
@@ -354,32 +530,74 @@ public:
|
|
354
530
|
}
|
355
531
|
}
|
356
532
|
|
357
|
-
|
533
|
+
/**
|
534
|
+
* Writes a byte to the stream.
|
535
|
+
* @param v The byte to write.
|
536
|
+
*/
|
358
537
|
void write(Byte v)
|
359
538
|
{
|
360
539
|
b.push_back(v);
|
361
540
|
}
|
362
|
-
void write(const Byte*, const Byte*);
|
363
541
|
|
364
|
-
|
542
|
+
/**
|
543
|
+
* Writes a byte sequence to the stream.
|
544
|
+
* @param start The beginning of the sequence.
|
545
|
+
* @param end The end of the sequence.
|
546
|
+
*/
|
547
|
+
void write(const Byte* start, const Byte* end);
|
548
|
+
|
549
|
+
/**
|
550
|
+
* Writes a boolean to the stream.
|
551
|
+
* @param v The boolean to write.
|
552
|
+
*/
|
365
553
|
void write(bool v)
|
366
554
|
{
|
367
555
|
b.push_back(static_cast<Byte>(v));
|
368
556
|
}
|
369
|
-
void write(const std::vector<bool>&);
|
370
|
-
void write(const bool*, const bool*);
|
371
|
-
|
372
|
-
// Short
|
373
|
-
void write(Short);
|
374
|
-
void write(const Short*, const Short*);
|
375
557
|
|
376
|
-
|
558
|
+
/**
|
559
|
+
* Writes a byte sequence to the stream.
|
560
|
+
* @param v The sequence to be written.
|
561
|
+
*/
|
562
|
+
void write(const std::vector<bool>& v);
|
563
|
+
|
564
|
+
/**
|
565
|
+
* Writes a byte sequence to the stream.
|
566
|
+
* @param begin The beginning of the sequence.
|
567
|
+
* @param end The end of the sequence.
|
568
|
+
*/
|
569
|
+
void write(const bool* begin, const bool* end);
|
570
|
+
|
571
|
+
/**
|
572
|
+
* Writes a short to the stream.
|
573
|
+
* @param v The short to write.
|
574
|
+
*/
|
575
|
+
void write(Short v);
|
576
|
+
|
577
|
+
/**
|
578
|
+
* Writes a short sequence to the stream.
|
579
|
+
* @param begin The beginning of the sequence.
|
580
|
+
* @param end The end of the sequence.
|
581
|
+
*/
|
582
|
+
void write(const Short* begin, const Short* end);
|
583
|
+
|
584
|
+
/**
|
585
|
+
* Writes an int to the stream.
|
586
|
+
* @param v The int to write.
|
587
|
+
*/
|
377
588
|
void write(Int v) // Inlined for performance reasons.
|
378
589
|
{
|
379
590
|
Container::size_type position = b.size();
|
380
591
|
resize(position + sizeof(Int));
|
381
592
|
write(v, &b[position]);
|
382
593
|
}
|
594
|
+
|
595
|
+
/**
|
596
|
+
* Overwrites a 32-bit integer value at the given destination in the stream.
|
597
|
+
* This function does not change the stream's current position.
|
598
|
+
* @param v The integer value to be written.
|
599
|
+
* @param dest The buffer destination for the integer value.
|
600
|
+
*/
|
383
601
|
void write(Int v, Container::iterator dest)
|
384
602
|
{
|
385
603
|
#ifdef ICE_BIG_ENDIAN
|
@@ -397,21 +615,58 @@ public:
|
|
397
615
|
#endif
|
398
616
|
}
|
399
617
|
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
void write(
|
412
|
-
|
413
|
-
|
414
|
-
|
618
|
+
/**
|
619
|
+
* Writes an int sequence to the stream.
|
620
|
+
* @param begin The beginning of the sequence.
|
621
|
+
* @param end The end of the sequence.
|
622
|
+
*/
|
623
|
+
void write(const Int* begin, const Int* end);
|
624
|
+
|
625
|
+
/**
|
626
|
+
* Writes a long to the stream.
|
627
|
+
* @param v The long to write.
|
628
|
+
*/
|
629
|
+
void write(Long v);
|
630
|
+
|
631
|
+
/**
|
632
|
+
* Writes a long sequence to the stream.
|
633
|
+
* @param begin The beginning of the sequence.
|
634
|
+
* @param end The end of the sequence.
|
635
|
+
*/
|
636
|
+
void write(const Long* begin, const Long* end);
|
637
|
+
|
638
|
+
/**
|
639
|
+
* Writes a float to the stream.
|
640
|
+
* @param v The float to write.
|
641
|
+
*/
|
642
|
+
void write(Float v);
|
643
|
+
|
644
|
+
/**
|
645
|
+
* Writes a float sequence to the stream.
|
646
|
+
* @param begin The beginning of the sequence.
|
647
|
+
* @param end The end of the sequence.
|
648
|
+
*/
|
649
|
+
void write(const Float* begin, const Float* end);
|
650
|
+
|
651
|
+
/**
|
652
|
+
* Writes a double to the stream.
|
653
|
+
* @param v The double to write.
|
654
|
+
*/
|
655
|
+
void write(Double v);
|
656
|
+
|
657
|
+
/**
|
658
|
+
* Writes a double sequence to the stream.
|
659
|
+
* @param begin The beginning of the sequence.
|
660
|
+
* @param end The end of the sequence.
|
661
|
+
*/
|
662
|
+
void write(const Double* begin, const Double* end);
|
663
|
+
|
664
|
+
/**
|
665
|
+
* Writes a string to the stream.
|
666
|
+
* @param v The string to write.
|
667
|
+
* @param convert Determines whether the string is processed by the narrow string converter,
|
668
|
+
* if one has been configured. The default behavior is to convert the strings.
|
669
|
+
*/
|
415
670
|
void write(const std::string& v, bool convert = true)
|
416
671
|
{
|
417
672
|
Int sz = static_cast<Int>(v.size());
|
@@ -425,13 +680,19 @@ public:
|
|
425
680
|
if(sz > 0)
|
426
681
|
{
|
427
682
|
Container::size_type position = b.size();
|
428
|
-
resize(position + sz);
|
429
|
-
memcpy(&b[position], v.data(), sz);
|
683
|
+
resize(position + static_cast<size_t>(sz));
|
684
|
+
memcpy(&b[position], v.data(), static_cast<size_t>(sz));
|
430
685
|
}
|
431
686
|
}
|
432
687
|
}
|
433
688
|
|
434
|
-
|
689
|
+
/**
|
690
|
+
* Writes a string to the stream.
|
691
|
+
* @param vdata The string to write.
|
692
|
+
* @param vsize The size of the string.
|
693
|
+
* @param convert Determines whether the string is processed by the narrow string converter,
|
694
|
+
* if one has been configured. The default behavior is to convert the strings.
|
695
|
+
*/
|
435
696
|
void write(const char* vdata, size_t vsize, bool convert = true)
|
436
697
|
{
|
437
698
|
Int sz = static_cast<Int>(vsize);
|
@@ -445,42 +706,83 @@ public:
|
|
445
706
|
if(sz > 0)
|
446
707
|
{
|
447
708
|
Container::size_type position = b.size();
|
448
|
-
resize(position + sz);
|
709
|
+
resize(position + static_cast<size_t>(sz));
|
449
710
|
memcpy(&b[position], vdata, vsize);
|
450
711
|
}
|
451
712
|
}
|
452
713
|
}
|
453
714
|
|
454
|
-
|
715
|
+
/**
|
716
|
+
* Writes a string to the stream.
|
717
|
+
* @param vdata The null-terminated string to write.
|
718
|
+
* @param convert Determines whether the string is processed by the narrow string converter,
|
719
|
+
* if one has been configured. The default behavior is to convert the strings.
|
720
|
+
*/
|
455
721
|
void write(const char* vdata, bool convert = true)
|
456
722
|
{
|
457
723
|
write(vdata, strlen(vdata), convert);
|
458
724
|
}
|
459
725
|
|
460
|
-
|
461
|
-
|
726
|
+
/**
|
727
|
+
* Writes a string sequence to the stream.
|
728
|
+
* @param begin The beginning of the sequence.
|
729
|
+
* @param end The end of the sequence.
|
730
|
+
* @param convert Determines whether the string is processed by the narrow string converter,
|
731
|
+
* if one has been configured. The default behavior is to convert the strings.
|
732
|
+
*/
|
733
|
+
void write(const std::string* begin, const std::string* end, bool convert = true);
|
734
|
+
|
735
|
+
/**
|
736
|
+
* Writes a wide string to the stream.
|
737
|
+
* @param v The wide string to write.
|
738
|
+
*/
|
462
739
|
void write(const std::wstring& v);
|
463
|
-
void write(const std::wstring*, const std::wstring*);
|
464
740
|
|
465
|
-
|
466
|
-
|
467
|
-
|
741
|
+
/**
|
742
|
+
* Writes a wide string sequence to the stream.
|
743
|
+
* @param begin The beginning of the sequence.
|
744
|
+
* @param end The end of the sequence.
|
745
|
+
*/
|
746
|
+
void write(const std::wstring* begin, const std::wstring* end);
|
468
747
|
|
748
|
+
#ifdef ICE_CPP11_MAPPING
|
749
|
+
/**
|
750
|
+
* Writes a proxy to the stream.
|
751
|
+
* @param v The proxy to be written.
|
752
|
+
*/
|
753
|
+
void writeProxy(const ::std::shared_ptr<ObjectPrx>& v);
|
754
|
+
|
755
|
+
/**
|
756
|
+
* Writes a proxy to the stream.
|
757
|
+
* @param v The proxy to be written.
|
758
|
+
*/
|
469
759
|
template<typename T, typename ::std::enable_if<::std::is_base_of<ObjectPrx, T>::value>::type* = nullptr>
|
470
760
|
void write(const ::std::shared_ptr<T>& v)
|
471
761
|
{
|
472
762
|
writeProxy(::std::static_pointer_cast<ObjectPrx>(v));
|
473
763
|
}
|
474
764
|
#else
|
475
|
-
|
765
|
+
/**
|
766
|
+
* Writes a proxy to the stream.
|
767
|
+
* @param v The proxy to be written.
|
768
|
+
*/
|
769
|
+
void write(const ObjectPrx& v);
|
770
|
+
|
771
|
+
/**
|
772
|
+
* Writes a proxy to the stream.
|
773
|
+
* @param v The proxy to be written.
|
774
|
+
*/
|
476
775
|
template<typename T> void write(const IceInternal::ProxyHandle<T>& v)
|
477
776
|
{
|
478
777
|
write(ObjectPrx(upCast(v.get())));
|
479
778
|
}
|
480
779
|
#endif
|
481
780
|
|
482
|
-
// Class
|
483
781
|
#ifdef ICE_CPP11_MAPPING // C++11 mapping
|
782
|
+
/**
|
783
|
+
* Writes a value instance to the stream.
|
784
|
+
* @param v The value to be written.
|
785
|
+
*/
|
484
786
|
template<typename T, typename ::std::enable_if<::std::is_base_of<Value, T>::value>::type* = nullptr>
|
485
787
|
void write(const ::std::shared_ptr<T>& v)
|
486
788
|
{
|
@@ -488,42 +790,79 @@ public:
|
|
488
790
|
_currentEncaps->encoder->write(v);
|
489
791
|
}
|
490
792
|
#else // C++98 mapping
|
793
|
+
/**
|
794
|
+
* Writes a value instance to the stream.
|
795
|
+
* @param v The value to be written.
|
796
|
+
*/
|
491
797
|
void write(const ObjectPtr& v)
|
492
798
|
{
|
493
799
|
initEncaps();
|
494
800
|
_currentEncaps->encoder->write(v);
|
495
801
|
}
|
802
|
+
|
803
|
+
/**
|
804
|
+
* Writes a value instance to the stream.
|
805
|
+
* @param v The value to be written.
|
806
|
+
*/
|
496
807
|
template<typename T> void write(const IceInternal::Handle<T>& v)
|
497
808
|
{
|
498
809
|
write(ObjectPtr(upCast(v.get())));
|
499
810
|
}
|
500
811
|
#endif
|
501
812
|
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
813
|
+
/**
|
814
|
+
* Writes an enumerator to the stream.
|
815
|
+
* @param v The enumerator to be written.
|
816
|
+
* @param maxValue The maximum value of all enumerators in this enumeration.
|
817
|
+
*/
|
818
|
+
void writeEnum(Int v, Int maxValue);
|
819
|
+
|
820
|
+
/**
|
821
|
+
* Writes an exception to the stream.
|
822
|
+
* @param v The exception to be written.
|
823
|
+
*/
|
824
|
+
void writeException(const UserException& v);
|
825
|
+
|
826
|
+
/**
|
827
|
+
* Obtains the current position of the stream.
|
828
|
+
* @return The current position.
|
829
|
+
*/
|
508
830
|
size_type pos()
|
509
831
|
{
|
510
832
|
return b.size();
|
511
833
|
}
|
512
834
|
|
513
|
-
|
835
|
+
/**
|
836
|
+
* Overwrite a 32-bit integer value at the given position in the stream.
|
837
|
+
* This function does not change the stream's current position.
|
838
|
+
* @param v The value to be written.
|
839
|
+
* @param pos The buffer position for the value.
|
840
|
+
*/
|
841
|
+
void rewrite(Int v, size_type pos)
|
514
842
|
{
|
515
|
-
write(
|
843
|
+
write(v, b.begin() + pos);
|
516
844
|
}
|
517
845
|
|
518
|
-
|
846
|
+
/**
|
847
|
+
* Indicates that marshaling is complete. This function must only be called once.
|
848
|
+
* @param v Filled with a copy of the encoded data.
|
849
|
+
*/
|
850
|
+
void finished(std::vector<Byte>& v);
|
851
|
+
|
852
|
+
/**
|
853
|
+
* Indicates that marshaling is complete. This function must only be called once.
|
854
|
+
* @return A pair of pointers into the internal marshaling buffer. These pointers are
|
855
|
+
* valid for the lifetime of the stream.
|
856
|
+
*/
|
857
|
+
std::pair<const Byte*, const Byte*> finished();
|
519
858
|
|
859
|
+
/// \cond INTERNAL
|
860
|
+
OutputStream(IceInternal::Instance*, const EncodingVersion&);
|
520
861
|
void initialize(IceInternal::Instance*, const EncodingVersion&);
|
521
862
|
|
522
|
-
void finished(std::vector<Byte>&);
|
523
|
-
std::pair<const Byte*, const Byte*> finished();
|
524
|
-
|
525
863
|
// Optionals
|
526
864
|
bool writeOptImpl(Int, OptionalFormat);
|
865
|
+
/// \endcond
|
527
866
|
|
528
867
|
private:
|
529
868
|
|