zeroc-ice 3.6b1
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 +7 -0
- data/ICE_LICENSE +54 -0
- data/LICENSE +339 -0
- data/bin/slice2rb +17 -0
- data/ext/Communicator.cpp +596 -0
- data/ext/Communicator.h +25 -0
- data/ext/Config.h +111 -0
- data/ext/Connection.cpp +381 -0
- data/ext/Connection.h +26 -0
- data/ext/Endpoint.cpp +311 -0
- data/ext/Endpoint.h +27 -0
- data/ext/ImplicitContext.cpp +152 -0
- data/ext/ImplicitContext.h +25 -0
- data/ext/Init.cpp +52 -0
- data/ext/Logger.cpp +151 -0
- data/ext/Logger.h +28 -0
- data/ext/ObjectFactory.cpp +140 -0
- data/ext/ObjectFactory.h +50 -0
- data/ext/Operation.cpp +676 -0
- data/ext/Operation.h +36 -0
- data/ext/Properties.cpp +369 -0
- data/ext/Properties.h +25 -0
- data/ext/Proxy.cpp +1354 -0
- data/ext/Proxy.h +27 -0
- data/ext/Slice.cpp +223 -0
- data/ext/Slice.h +22 -0
- data/ext/Types.cpp +3160 -0
- data/ext/Types.h +545 -0
- data/ext/Util.cpp +792 -0
- data/ext/Util.h +511 -0
- data/ext/extconf.rb +118 -0
- data/ext/ice/BZIP_LICENSE +42 -0
- data/ext/ice/MCPP_LICENSE +36 -0
- data/ext/ice/bzip2/blocksort.c +1094 -0
- data/ext/ice/bzip2/bzlib.c +1572 -0
- data/ext/ice/bzip2/bzlib.h +282 -0
- data/ext/ice/bzip2/bzlib_private.h +509 -0
- data/ext/ice/bzip2/compress.c +672 -0
- data/ext/ice/bzip2/crctable.c +104 -0
- data/ext/ice/bzip2/decompress.c +646 -0
- data/ext/ice/bzip2/huffman.c +205 -0
- data/ext/ice/bzip2/randtable.c +84 -0
- data/ext/ice/cpp/include/Ice/ACMF.h +30 -0
- data/ext/ice/cpp/include/Ice/Application.h +156 -0
- data/ext/ice/cpp/include/Ice/AsyncResult.h +363 -0
- data/ext/ice/cpp/include/Ice/AsyncResultF.h +26 -0
- data/ext/ice/cpp/include/Ice/BasicStream.h +1315 -0
- data/ext/ice/cpp/include/Ice/Buffer.h +159 -0
- data/ext/ice/cpp/include/Ice/BuiltinSequences.h +74 -0
- data/ext/ice/cpp/include/Ice/Communicator.h +194 -0
- data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +115 -0
- data/ext/ice/cpp/include/Ice/CommunicatorF.h +60 -0
- data/ext/ice/cpp/include/Ice/Config.h +97 -0
- data/ext/ice/cpp/include/Ice/Connection.h +495 -0
- data/ext/ice/cpp/include/Ice/ConnectionAsync.h +115 -0
- data/ext/ice/cpp/include/Ice/ConnectionF.h +72 -0
- data/ext/ice/cpp/include/Ice/ConnectionFactoryF.h +30 -0
- data/ext/ice/cpp/include/Ice/ConnectionIF.h +37 -0
- data/ext/ice/cpp/include/Ice/Current.h +94 -0
- data/ext/ice/cpp/include/Ice/DefaultObjectFactory.h +48 -0
- data/ext/ice/cpp/include/Ice/DeprecatedStringConverter.h +62 -0
- data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +33 -0
- data/ext/ice/cpp/include/Ice/Dispatcher.h +51 -0
- data/ext/ice/cpp/include/Ice/DynamicLibrary.h +105 -0
- data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +29 -0
- data/ext/ice/cpp/include/Ice/Endpoint.h +350 -0
- data/ext/ice/cpp/include/Ice/EndpointF.h +97 -0
- data/ext/ice/cpp/include/Ice/EndpointTypes.h +74 -0
- data/ext/ice/cpp/include/Ice/Exception.h +114 -0
- data/ext/ice/cpp/include/Ice/FacetMap.h +56 -0
- data/ext/ice/cpp/include/Ice/FactoryTable.h +69 -0
- data/ext/ice/cpp/include/Ice/FactoryTableInit.h +87 -0
- data/ext/ice/cpp/include/Ice/Format.h +39 -0
- data/ext/ice/cpp/include/Ice/Functional.h +138 -0
- data/ext/ice/cpp/include/Ice/GCObject.h +73 -0
- data/ext/ice/cpp/include/Ice/Handle.h +192 -0
- data/ext/ice/cpp/include/Ice/Ice.h +54 -0
- data/ext/ice/cpp/include/Ice/Identity.h +160 -0
- data/ext/ice/cpp/include/Ice/ImplicitContext.h +96 -0
- data/ext/ice/cpp/include/Ice/ImplicitContextF.h +60 -0
- data/ext/ice/cpp/include/Ice/Incoming.h +131 -0
- data/ext/ice/cpp/include/Ice/IncomingAsync.h +108 -0
- data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +35 -0
- data/ext/ice/cpp/include/Ice/Initialize.h +141 -0
- data/ext/ice/cpp/include/Ice/InstanceF.h +26 -0
- data/ext/ice/cpp/include/Ice/Instrumentation.h +377 -0
- data/ext/ice/cpp/include/Ice/InstrumentationF.h +71 -0
- data/ext/ice/cpp/include/Ice/LocalException.h +1022 -0
- data/ext/ice/cpp/include/Ice/LocalObject.h +36 -0
- data/ext/ice/cpp/include/Ice/LocalObjectF.h +26 -0
- data/ext/ice/cpp/include/Ice/Locator.h +2191 -0
- data/ext/ice/cpp/include/Ice/LocatorF.h +89 -0
- data/ext/ice/cpp/include/Ice/Logger.h +94 -0
- data/ext/ice/cpp/include/Ice/LoggerF.h +60 -0
- data/ext/ice/cpp/include/Ice/LoggerUtil.h +153 -0
- data/ext/ice/cpp/include/Ice/Makefile +26 -0
- data/ext/ice/cpp/include/Ice/Metrics.h +2989 -0
- data/ext/ice/cpp/include/Ice/MetricsAdminI.h +662 -0
- data/ext/ice/cpp/include/Ice/MetricsFunctional.h +144 -0
- data/ext/ice/cpp/include/Ice/MetricsObserverI.h +576 -0
- data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +55 -0
- data/ext/ice/cpp/include/Ice/Object.h +165 -0
- data/ext/ice/cpp/include/Ice/ObjectAdapter.h +162 -0
- data/ext/ice/cpp/include/Ice/ObjectAdapterF.h +60 -0
- data/ext/ice/cpp/include/Ice/ObjectAdapterFactoryF.h +26 -0
- data/ext/ice/cpp/include/Ice/ObjectF.h +26 -0
- data/ext/ice/cpp/include/Ice/ObjectFactory.h +86 -0
- data/ext/ice/cpp/include/Ice/ObjectFactoryF.h +60 -0
- data/ext/ice/cpp/include/Ice/ObjectFactoryManagerF.h +26 -0
- data/ext/ice/cpp/include/Ice/ObserverHelper.h +177 -0
- data/ext/ice/cpp/include/Ice/Outgoing.h +197 -0
- data/ext/ice/cpp/include/Ice/OutgoingAsync.h +264 -0
- data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +38 -0
- data/ext/ice/cpp/include/Ice/Plugin.h +121 -0
- data/ext/ice/cpp/include/Ice/PluginF.h +66 -0
- data/ext/ice/cpp/include/Ice/Process.h +568 -0
- data/ext/ice/cpp/include/Ice/ProcessF.h +77 -0
- data/ext/ice/cpp/include/Ice/Properties.h +130 -0
- data/ext/ice/cpp/include/Ice/PropertiesAdmin.h +824 -0
- data/ext/ice/cpp/include/Ice/PropertiesF.h +83 -0
- data/ext/ice/cpp/include/Ice/Protocol.h +242 -0
- data/ext/ice/cpp/include/Ice/Proxy.h +2448 -0
- data/ext/ice/cpp/include/Ice/ProxyF.h +78 -0
- data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +26 -0
- data/ext/ice/cpp/include/Ice/ProxyHandle.h +330 -0
- data/ext/ice/cpp/include/Ice/ReferenceF.h +34 -0
- data/ext/ice/cpp/include/Ice/RemoteLogger.h +1496 -0
- data/ext/ice/cpp/include/Ice/RequestHandlerF.h +29 -0
- data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +25 -0
- data/ext/ice/cpp/include/Ice/Router.h +1155 -0
- data/ext/ice/cpp/include/Ice/RouterF.h +77 -0
- data/ext/ice/cpp/include/Ice/ServantLocator.h +90 -0
- data/ext/ice/cpp/include/Ice/ServantLocatorF.h +60 -0
- data/ext/ice/cpp/include/Ice/ServantManagerF.h +26 -0
- data/ext/ice/cpp/include/Ice/Service.h +260 -0
- data/ext/ice/cpp/include/Ice/SliceChecksumDict.h +56 -0
- data/ext/ice/cpp/include/Ice/SliceChecksums.h +34 -0
- data/ext/ice/cpp/include/Ice/SlicedData.h +103 -0
- data/ext/ice/cpp/include/Ice/SlicedDataF.h +34 -0
- data/ext/ice/cpp/include/Ice/Stream.h +449 -0
- data/ext/ice/cpp/include/Ice/StreamF.h +30 -0
- data/ext/ice/cpp/include/Ice/StreamHelpers.h +877 -0
- data/ext/ice/cpp/include/Ice/ThreadPoolF.h +28 -0
- data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +56 -0
- data/ext/ice/cpp/include/Ice/Version.h +254 -0
- data/ext/ice/cpp/include/IceSSL/Config.h +23 -0
- data/ext/ice/cpp/include/IceSSL/ConnectionInfo.h +119 -0
- data/ext/ice/cpp/include/IceSSL/EndpointInfo.h +101 -0
- data/ext/ice/cpp/include/IceSSL/IceSSL.h +22 -0
- data/ext/ice/cpp/include/IceSSL/Makefile +26 -0
- data/ext/ice/cpp/include/IceSSL/Plugin.h +558 -0
- data/ext/ice/cpp/include/IceUtil/AbstractMutex.h +119 -0
- data/ext/ice/cpp/include/IceUtil/Cache.h +362 -0
- data/ext/ice/cpp/include/IceUtil/Cond.h +323 -0
- data/ext/ice/cpp/include/IceUtil/Config.h +234 -0
- data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +50 -0
- data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +70 -0
- data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +45 -0
- data/ext/ice/cpp/include/IceUtil/Exception.h +184 -0
- data/ext/ice/cpp/include/IceUtil/Functional.h +389 -0
- data/ext/ice/cpp/include/IceUtil/Handle.h +266 -0
- data/ext/ice/cpp/include/IceUtil/IceUtil.h +51 -0
- data/ext/ice/cpp/include/IceUtil/IconvStringConverter.h +302 -0
- data/ext/ice/cpp/include/IceUtil/InputUtil.h +47 -0
- data/ext/ice/cpp/include/IceUtil/Iterator.h +36 -0
- data/ext/ice/cpp/include/IceUtil/Lock.h +135 -0
- data/ext/ice/cpp/include/IceUtil/Makefile +26 -0
- data/ext/ice/cpp/include/IceUtil/Monitor.h +249 -0
- data/ext/ice/cpp/include/IceUtil/Mutex.h +357 -0
- data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +28 -0
- data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +83 -0
- data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +82 -0
- data/ext/ice/cpp/include/IceUtil/Optional.h +322 -0
- data/ext/ice/cpp/include/IceUtil/Options.h +141 -0
- data/ext/ice/cpp/include/IceUtil/OutputUtil.h +362 -0
- data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +19 -0
- data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +26 -0
- data/ext/ice/cpp/include/IceUtil/Random.h +24 -0
- data/ext/ice/cpp/include/IceUtil/RecMutex.h +113 -0
- data/ext/ice/cpp/include/IceUtil/SHA1.h +65 -0
- data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +44 -0
- data/ext/ice/cpp/include/IceUtil/ScopedArray.h +97 -0
- data/ext/ice/cpp/include/IceUtil/Shared.h +168 -0
- data/ext/ice/cpp/include/IceUtil/StringConverter.h +175 -0
- data/ext/ice/cpp/include/IceUtil/StringUtil.h +91 -0
- data/ext/ice/cpp/include/IceUtil/Thread.h +181 -0
- data/ext/ice/cpp/include/IceUtil/ThreadException.h +108 -0
- data/ext/ice/cpp/include/IceUtil/Time.h +209 -0
- data/ext/ice/cpp/include/IceUtil/Timer.h +143 -0
- data/ext/ice/cpp/include/IceUtil/UUID.h +22 -0
- data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +42 -0
- data/ext/ice/cpp/include/IceUtil/UniquePtr.h +101 -0
- data/ext/ice/cpp/include/Slice/CPlusPlusUtil.h +64 -0
- data/ext/ice/cpp/include/Slice/Checksum.h +26 -0
- data/ext/ice/cpp/include/Slice/CsUtil.h +92 -0
- data/ext/ice/cpp/include/Slice/DotNetNames.h +34 -0
- data/ext/ice/cpp/include/Slice/FileTracker.h +71 -0
- data/ext/ice/cpp/include/Slice/JavaUtil.h +277 -0
- data/ext/ice/cpp/include/Slice/Makefile +26 -0
- data/ext/ice/cpp/include/Slice/PHPUtil.h +50 -0
- data/ext/ice/cpp/include/Slice/Parser.h +1116 -0
- data/ext/ice/cpp/include/Slice/Preprocessor.h +68 -0
- data/ext/ice/cpp/include/Slice/PythonUtil.h +64 -0
- data/ext/ice/cpp/include/Slice/RubyUtil.h +54 -0
- data/ext/ice/cpp/include/Slice/Util.h +33 -0
- data/ext/ice/cpp/src/Ice/ACM.cpp +343 -0
- data/ext/ice/cpp/src/Ice/ACM.h +117 -0
- data/ext/ice/cpp/src/Ice/Acceptor.cpp +16 -0
- data/ext/ice/cpp/src/Ice/Acceptor.h +41 -0
- data/ext/ice/cpp/src/Ice/AcceptorF.h +30 -0
- data/ext/ice/cpp/src/Ice/Application.cpp +760 -0
- data/ext/ice/cpp/src/Ice/AsyncResult.cpp +599 -0
- data/ext/ice/cpp/src/Ice/Base64.cpp +269 -0
- data/ext/ice/cpp/src/Ice/Base64.h +36 -0
- data/ext/ice/cpp/src/Ice/BasicStream.cpp +3393 -0
- data/ext/ice/cpp/src/Ice/Buffer.cpp +98 -0
- data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +34 -0
- data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +718 -0
- data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +106 -0
- data/ext/ice/cpp/src/Ice/Communicator.cpp +45 -0
- data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +386 -0
- data/ext/ice/cpp/src/Ice/CommunicatorI.h +112 -0
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +546 -0
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +97 -0
- data/ext/ice/cpp/src/Ice/Connection.cpp +58 -0
- data/ext/ice/cpp/src/Ice/ConnectionF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +1639 -0
- data/ext/ice/cpp/src/Ice/ConnectionFactory.h +236 -0
- data/ext/ice/cpp/src/Ice/ConnectionI.cpp +3876 -0
- data/ext/ice/cpp/src/Ice/ConnectionI.h +364 -0
- data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +115 -0
- data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +50 -0
- data/ext/ice/cpp/src/Ice/Connector.cpp +16 -0
- data/ext/ice/cpp/src/Ice/Connector.h +36 -0
- data/ext/ice/cpp/src/Ice/ConnectorF.h +26 -0
- data/ext/ice/cpp/src/Ice/Current.cpp +38 -0
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +168 -0
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +57 -0
- data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +26 -0
- data/ext/ice/cpp/src/Ice/DeprecatedStringConverter.cpp +60 -0
- data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +49 -0
- data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +281 -0
- data/ext/ice/cpp/src/Ice/Endpoint.cpp +53 -0
- data/ext/ice/cpp/src/Ice/EndpointF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +25 -0
- data/ext/ice/cpp/src/Ice/EndpointFactory.h +44 -0
- data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +26 -0
- data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +208 -0
- data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +46 -0
- data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +26 -0
- data/ext/ice/cpp/src/Ice/EndpointI.cpp +87 -0
- data/ext/ice/cpp/src/Ice/EndpointI.h +165 -0
- data/ext/ice/cpp/src/Ice/EndpointIF.h +41 -0
- data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +38 -0
- data/ext/ice/cpp/src/Ice/EventHandler.cpp +35 -0
- data/ext/ice/cpp/src/Ice/EventHandler.h +78 -0
- data/ext/ice/cpp/src/Ice/EventHandlerF.h +26 -0
- data/ext/ice/cpp/src/Ice/EventLoggerMsg.h +53 -0
- data/ext/ice/cpp/src/Ice/Exception.cpp +832 -0
- data/ext/ice/cpp/src/Ice/FacetMap.cpp +34 -0
- data/ext/ice/cpp/src/Ice/FactoryTable.cpp +158 -0
- data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +95 -0
- data/ext/ice/cpp/src/Ice/GCObject.cpp +444 -0
- data/ext/ice/cpp/src/Ice/HashUtil.h +59 -0
- data/ext/ice/cpp/src/Ice/HttpParser.cpp +680 -0
- data/ext/ice/cpp/src/Ice/HttpParser.h +124 -0
- data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +733 -0
- data/ext/ice/cpp/src/Ice/IPEndpointI.h +157 -0
- data/ext/ice/cpp/src/Ice/IPEndpointIF.h +29 -0
- data/ext/ice/cpp/src/Ice/Identity.cpp +42 -0
- data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +41 -0
- data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +639 -0
- data/ext/ice/cpp/src/Ice/ImplicitContextI.h +51 -0
- data/ext/ice/cpp/src/Ice/Incoming.cpp +757 -0
- data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +340 -0
- data/ext/ice/cpp/src/Ice/IncomingRequest.h +37 -0
- data/ext/ice/cpp/src/Ice/Initialize.cpp +401 -0
- data/ext/ice/cpp/src/Ice/Instance.cpp +1928 -0
- data/ext/ice/cpp/src/Ice/Instance.h +198 -0
- data/ext/ice/cpp/src/Ice/Instrumentation.cpp +68 -0
- data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +43 -0
- data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +1083 -0
- data/ext/ice/cpp/src/Ice/InstrumentationI.h +262 -0
- data/ext/ice/cpp/src/Ice/LocalException.cpp +2091 -0
- data/ext/ice/cpp/src/Ice/LocalObject.cpp +29 -0
- data/ext/ice/cpp/src/Ice/Locator.cpp +1946 -0
- data/ext/ice/cpp/src/Ice/LocatorF.cpp +39 -0
- data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +917 -0
- data/ext/ice/cpp/src/Ice/LocatorInfo.h +193 -0
- data/ext/ice/cpp/src/Ice/LocatorInfoF.h +34 -0
- data/ext/ice/cpp/src/Ice/Logger.cpp +40 -0
- data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +862 -0
- data/ext/ice/cpp/src/Ice/LoggerAdminI.h +46 -0
- data/ext/ice/cpp/src/Ice/LoggerF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/LoggerI.cpp +199 -0
- data/ext/ice/cpp/src/Ice/LoggerI.h +57 -0
- data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +107 -0
- data/ext/ice/cpp/src/Ice/Makefile +190 -0
- data/ext/ice/cpp/src/Ice/Metrics.cpp +2159 -0
- data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +669 -0
- data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +14 -0
- data/ext/ice/cpp/src/Ice/Network.cpp +2694 -0
- data/ext/ice/cpp/src/Ice/Network.h +291 -0
- data/ext/ice/cpp/src/Ice/NetworkF.h +28 -0
- data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +325 -0
- data/ext/ice/cpp/src/Ice/NetworkProxy.h +74 -0
- data/ext/ice/cpp/src/Ice/NetworkProxyF.h +26 -0
- data/ext/ice/cpp/src/Ice/Object.cpp +440 -0
- data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +41 -0
- data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +241 -0
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +52 -0
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +1498 -0
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +155 -0
- data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +41 -0
- data/ext/ice/cpp/src/Ice/ObjectFactoryF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/ObjectFactoryManager.cpp +140 -0
- data/ext/ice/cpp/src/Ice/ObjectFactoryManager.h +43 -0
- data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +84 -0
- data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +407 -0
- data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +70 -0
- data/ext/ice/cpp/src/Ice/Outgoing.cpp +737 -0
- data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +874 -0
- data/ext/ice/cpp/src/Ice/Plugin.cpp +43 -0
- data/ext/ice/cpp/src/Ice/PluginF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +503 -0
- data/ext/ice/cpp/src/Ice/PluginManagerI.h +67 -0
- data/ext/ice/cpp/src/Ice/Process.cpp +299 -0
- data/ext/ice/cpp/src/Ice/ProcessF.cpp +39 -0
- data/ext/ice/cpp/src/Ice/Properties.cpp +45 -0
- data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +555 -0
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +207 -0
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +45 -0
- data/ext/ice/cpp/src/Ice/PropertiesF.cpp +39 -0
- data/ext/ice/cpp/src/Ice/PropertiesI.cpp +759 -0
- data/ext/ice/cpp/src/Ice/PropertiesI.h +78 -0
- data/ext/ice/cpp/src/Ice/PropertyNames.cpp +1293 -0
- data/ext/ice/cpp/src/Ice/PropertyNames.h +81 -0
- data/ext/ice/cpp/src/Ice/Protocol.cpp +137 -0
- data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +98 -0
- data/ext/ice/cpp/src/Ice/ProtocolInstance.h +91 -0
- data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +26 -0
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +51 -0
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +67 -0
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +26 -0
- data/ext/ice/cpp/src/Ice/Proxy.cpp +1810 -0
- data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +305 -0
- data/ext/ice/cpp/src/Ice/ProxyFactory.h +57 -0
- data/ext/ice/cpp/src/Ice/Reference.cpp +1947 -0
- data/ext/ice/cpp/src/Ice/Reference.h +305 -0
- data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +937 -0
- data/ext/ice/cpp/src/Ice/ReferenceFactory.h +81 -0
- data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +24 -0
- data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +958 -0
- data/ext/ice/cpp/src/Ice/ReplyStatus.h +29 -0
- data/ext/ice/cpp/src/Ice/RequestHandler.cpp +40 -0
- data/ext/ice/cpp/src/Ice/RequestHandler.h +90 -0
- data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +70 -0
- data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +41 -0
- data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +20 -0
- data/ext/ice/cpp/src/Ice/ResponseHandler.h +39 -0
- data/ext/ice/cpp/src/Ice/RetryQueue.cpp +154 -0
- data/ext/ice/cpp/src/Ice/RetryQueue.h +69 -0
- data/ext/ice/cpp/src/Ice/RetryQueueF.h +24 -0
- data/ext/ice/cpp/src/Ice/Router.cpp +849 -0
- data/ext/ice/cpp/src/Ice/RouterF.cpp +39 -0
- data/ext/ice/cpp/src/Ice/RouterInfo.cpp +381 -0
- data/ext/ice/cpp/src/Ice/RouterInfo.h +148 -0
- data/ext/ice/cpp/src/Ice/RouterInfoF.h +30 -0
- data/ext/ice/cpp/src/Ice/Selector.cpp +926 -0
- data/ext/ice/cpp/src/Ice/Selector.h +231 -0
- data/ext/ice/cpp/src/Ice/ServantLocator.cpp +41 -0
- data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/ServantManager.cpp +495 -0
- data/ext/ice/cpp/src/Ice/ServantManager.h +74 -0
- data/ext/ice/cpp/src/Ice/Service.cpp +1897 -0
- data/ext/ice/cpp/src/Ice/SharedContext.h +51 -0
- data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +34 -0
- data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +80 -0
- data/ext/ice/cpp/src/Ice/SlicedData.cpp +80 -0
- data/ext/ice/cpp/src/Ice/Stream.cpp +53 -0
- data/ext/ice/cpp/src/Ice/StreamI.cpp +832 -0
- data/ext/ice/cpp/src/Ice/StreamI.h +198 -0
- data/ext/ice/cpp/src/Ice/StreamSocket.cpp +521 -0
- data/ext/ice/cpp/src/Ice/StreamSocket.h +85 -0
- data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +145 -0
- data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +167 -0
- data/ext/ice/cpp/src/Ice/SysLoggerI.h +43 -0
- data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +235 -0
- data/ext/ice/cpp/src/Ice/TcpAcceptor.h +67 -0
- data/ext/ice/cpp/src/Ice/TcpConnector.cpp +133 -0
- data/ext/ice/cpp/src/Ice/TcpConnector.h +51 -0
- data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +397 -0
- data/ext/ice/cpp/src/Ice/TcpEndpointI.h +93 -0
- data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +127 -0
- data/ext/ice/cpp/src/Ice/TcpTransceiver.h +61 -0
- data/ext/ice/cpp/src/Ice/ThreadPool.cpp +1357 -0
- data/ext/ice/cpp/src/Ice/ThreadPool.h +399 -0
- data/ext/ice/cpp/src/Ice/TraceLevels.cpp +43 -0
- data/ext/ice/cpp/src/Ice/TraceLevels.h +50 -0
- data/ext/ice/cpp/src/Ice/TraceLevelsF.h +26 -0
- data/ext/ice/cpp/src/Ice/TraceUtil.cpp +452 -0
- data/ext/ice/cpp/src/Ice/TraceUtil.h +28 -0
- data/ext/ice/cpp/src/Ice/Transceiver.cpp +24 -0
- data/ext/ice/cpp/src/Ice/Transceiver.h +52 -0
- data/ext/ice/cpp/src/Ice/TransceiverF.h +38 -0
- data/ext/ice/cpp/src/Ice/UdpConnector.cpp +144 -0
- data/ext/ice/cpp/src/Ice/UdpConnector.h +51 -0
- data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +483 -0
- data/ext/ice/cpp/src/Ice/UdpEndpointI.h +95 -0
- data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +1156 -0
- data/ext/ice/cpp/src/Ice/UdpTransceiver.h +123 -0
- data/ext/ice/cpp/src/Ice/Version.cpp +46 -0
- data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +103 -0
- data/ext/ice/cpp/src/Ice/WSAcceptor.h +61 -0
- data/ext/ice/cpp/src/Ice/WSConnector.cpp +113 -0
- data/ext/ice/cpp/src/Ice/WSConnector.h +51 -0
- data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +441 -0
- data/ext/ice/cpp/src/Ice/WSEndpoint.h +97 -0
- data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +1728 -0
- data/ext/ice/cpp/src/Ice/WSTransceiver.h +149 -0
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +594 -0
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +1035 -0
- data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +208 -0
- data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +78 -0
- data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +308 -0
- data/ext/ice/cpp/src/IceDiscovery/LookupI.h +183 -0
- data/ext/ice/cpp/src/IceDiscovery/Makefile +61 -0
- data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +148 -0
- data/ext/ice/cpp/src/IceDiscovery/PluginI.h +39 -0
- data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +258 -0
- data/ext/ice/cpp/src/IceSSL/AcceptorI.h +66 -0
- data/ext/ice/cpp/src/IceSSL/Certificate.cpp +1334 -0
- data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +42 -0
- data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +151 -0
- data/ext/ice/cpp/src/IceSSL/ConnectorI.h +56 -0
- data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +397 -0
- data/ext/ice/cpp/src/IceSSL/EndpointI.h +96 -0
- data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +41 -0
- data/ext/ice/cpp/src/IceSSL/Instance.cpp +38 -0
- data/ext/ice/cpp/src/IceSSL/Instance.h +42 -0
- data/ext/ice/cpp/src/IceSSL/InstanceF.h +34 -0
- data/ext/ice/cpp/src/IceSSL/Makefile +82 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +1001 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +607 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +75 -0
- data/ext/ice/cpp/src/IceSSL/PluginI.cpp +102 -0
- data/ext/ice/cpp/src/IceSSL/PluginI.h +56 -0
- data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +541 -0
- data/ext/ice/cpp/src/IceSSL/RFC2253.h +67 -0
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +729 -0
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +1062 -0
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +130 -0
- data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +291 -0
- data/ext/ice/cpp/src/IceSSL/SSLEngine.h +264 -0
- data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +41 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +1514 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +609 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +91 -0
- data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +246 -0
- data/ext/ice/cpp/src/IceSSL/TrustManager.h +51 -0
- data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +26 -0
- data/ext/ice/cpp/src/IceSSL/Util.cpp +1423 -0
- data/ext/ice/cpp/src/IceSSL/Util.h +136 -0
- data/ext/ice/cpp/src/IceUtil/ArgVector.cpp +65 -0
- data/ext/ice/cpp/src/IceUtil/ArgVector.h +41 -0
- data/ext/ice/cpp/src/IceUtil/Cond.cpp +386 -0
- data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +477 -0
- data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +144 -0
- data/ext/ice/cpp/src/IceUtil/CountDownLatch.cpp +184 -0
- data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +273 -0
- data/ext/ice/cpp/src/IceUtil/Exception.cpp +782 -0
- data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +532 -0
- data/ext/ice/cpp/src/IceUtil/FileUtil.h +159 -0
- data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +41 -0
- data/ext/ice/cpp/src/IceUtil/Makefile +68 -0
- data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +24 -0
- data/ext/ice/cpp/src/IceUtil/Options.cpp +1049 -0
- data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +591 -0
- data/ext/ice/cpp/src/IceUtil/Random.cpp +185 -0
- data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +257 -0
- data/ext/ice/cpp/src/IceUtil/SHA1.cpp +126 -0
- data/ext/ice/cpp/src/IceUtil/Shared.cpp +200 -0
- data/ext/ice/cpp/src/IceUtil/StopWatch.h +54 -0
- data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +450 -0
- data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +842 -0
- data/ext/ice/cpp/src/IceUtil/Thread.cpp +809 -0
- data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +172 -0
- data/ext/ice/cpp/src/IceUtil/Time.cpp +306 -0
- data/ext/ice/cpp/src/IceUtil/Timer.cpp +251 -0
- data/ext/ice/cpp/src/IceUtil/UUID.cpp +174 -0
- data/ext/ice/cpp/src/IceUtil/Unicode.cpp +131 -0
- data/ext/ice/cpp/src/IceUtil/Unicode.h +49 -0
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +1139 -0
- data/ext/ice/cpp/src/Slice/Checksum.cpp +452 -0
- data/ext/ice/cpp/src/Slice/CsUtil.cpp +2650 -0
- data/ext/ice/cpp/src/Slice/DotNetNames.cpp +146 -0
- data/ext/ice/cpp/src/Slice/FileTracker.cpp +203 -0
- data/ext/ice/cpp/src/Slice/Grammar.cpp +4755 -0
- data/ext/ice/cpp/src/Slice/Grammar.h +98 -0
- data/ext/ice/cpp/src/Slice/GrammarUtil.h +234 -0
- data/ext/ice/cpp/src/Slice/JavaUtil.cpp +4376 -0
- data/ext/ice/cpp/src/Slice/MD5.cpp +57 -0
- data/ext/ice/cpp/src/Slice/MD5.h +44 -0
- data/ext/ice/cpp/src/Slice/MD5I.cpp +385 -0
- data/ext/ice/cpp/src/Slice/MD5I.h +91 -0
- data/ext/ice/cpp/src/Slice/Makefile +65 -0
- data/ext/ice/cpp/src/Slice/PHPUtil.cpp +156 -0
- data/ext/ice/cpp/src/Slice/Parser.cpp +6386 -0
- data/ext/ice/cpp/src/Slice/Preprocessor.cpp +686 -0
- data/ext/ice/cpp/src/Slice/Python.cpp +675 -0
- data/ext/ice/cpp/src/Slice/PythonUtil.cpp +2614 -0
- data/ext/ice/cpp/src/Slice/Ruby.cpp +317 -0
- data/ext/ice/cpp/src/Slice/RubyUtil.cpp +1774 -0
- data/ext/ice/cpp/src/Slice/Scanner.cpp +2426 -0
- data/ext/ice/cpp/src/Slice/Util.cpp +325 -0
- data/ext/ice/mcpp/config.h.Darwin +227 -0
- data/ext/ice/mcpp/config.h.Linux +227 -0
- data/ext/ice/mcpp/config.h.MINGW +7 -0
- data/ext/ice/mcpp/configed.H +382 -0
- data/ext/ice/mcpp/directive.c +1699 -0
- data/ext/ice/mcpp/eval.c +1673 -0
- data/ext/ice/mcpp/expand.c +2980 -0
- data/ext/ice/mcpp/internal.H +564 -0
- data/ext/ice/mcpp/main.c +1131 -0
- data/ext/ice/mcpp/mbchar.c +869 -0
- data/ext/ice/mcpp/mcpp_lib.h +31 -0
- data/ext/ice/mcpp/mcpp_out.h +13 -0
- data/ext/ice/mcpp/support.c +2811 -0
- data/ext/ice/mcpp/system.H +396 -0
- data/ext/ice/mcpp/system.c +4940 -0
- data/ice.gemspec +41 -0
- data/lib/Glacier2.rb +12 -0
- data/lib/Glacier2/Metrics.rb +99 -0
- data/lib/Glacier2/PermissionsVerifier.rb +168 -0
- data/lib/Glacier2/PermissionsVerifierF.rb +34 -0
- data/lib/Glacier2/Router.rb +141 -0
- data/lib/Glacier2/RouterF.rb +29 -0
- data/lib/Glacier2/SSLInfo.rb +79 -0
- data/lib/Glacier2/Session.rb +470 -0
- data/lib/Ice.rb +659 -0
- data/lib/Ice/BuiltinSequences.rb +64 -0
- data/lib/Ice/Communicator.rb +93 -0
- data/lib/Ice/CommunicatorF.rb +28 -0
- data/lib/Ice/Connection.rb +414 -0
- data/lib/Ice/ConnectionF.rb +36 -0
- data/lib/Ice/Current.rb +152 -0
- data/lib/Ice/Endpoint.rb +265 -0
- data/lib/Ice/EndpointF.rb +52 -0
- data/lib/Ice/EndpointTypes.rb +77 -0
- data/lib/Ice/FacetMap.rb +28 -0
- data/lib/Ice/Identity.rb +70 -0
- data/lib/Ice/ImplicitContext.rb +59 -0
- data/lib/Ice/ImplicitContextF.rb +28 -0
- data/lib/Ice/Instrumentation.rb +425 -0
- data/lib/Ice/InstrumentationF.rb +35 -0
- data/lib/Ice/LocalException.rb +1081 -0
- data/lib/Ice/Locator.rb +314 -0
- data/lib/Ice/LocatorF.rb +34 -0
- data/lib/Ice/Logger.rb +57 -0
- data/lib/Ice/LoggerF.rb +28 -0
- data/lib/Ice/Metrics.rb +696 -0
- data/lib/Ice/ObjectAdapterF.rb +28 -0
- data/lib/Ice/ObjectFactory.rb +53 -0
- data/lib/Ice/ObjectFactoryF.rb +28 -0
- data/lib/Ice/Plugin.rb +87 -0
- data/lib/Ice/PluginF.rb +32 -0
- data/lib/Ice/Process.rb +93 -0
- data/lib/Ice/ProcessF.rb +29 -0
- data/lib/Ice/Properties.rb +65 -0
- data/lib/Ice/PropertiesAdmin.rb +104 -0
- data/lib/Ice/PropertiesF.rb +33 -0
- data/lib/Ice/Router.rb +163 -0
- data/lib/Ice/RouterF.rb +29 -0
- data/lib/Ice/SliceChecksumDict.rb +28 -0
- data/lib/Ice/Version.rb +100 -0
- data/lib/IceBox.rb +10 -0
- data/lib/IceBox/IceBox.rb +272 -0
- data/lib/IceGrid.rb +17 -0
- data/lib/IceGrid/Admin.rb +1076 -0
- data/lib/IceGrid/Descriptor.rb +1505 -0
- data/lib/IceGrid/Exception.rb +401 -0
- data/lib/IceGrid/FileParser.rb +105 -0
- data/lib/IceGrid/Locator.rb +105 -0
- data/lib/IceGrid/Observer.rb +571 -0
- data/lib/IceGrid/Query.rb +168 -0
- data/lib/IceGrid/Registry.rb +120 -0
- data/lib/IceGrid/Session.rb +114 -0
- data/lib/IceGrid/UserAccountMapper.rb +101 -0
- data/lib/IcePatch2.rb +10 -0
- data/lib/IcePatch2/FileInfo.rb +75 -0
- data/lib/IcePatch2/FileServer.rb +141 -0
- data/lib/IceStorm.rb +11 -0
- data/lib/IceStorm/IceStorm.rb +463 -0
- data/lib/IceStorm/Metrics.rb +155 -0
- data/slice/Freeze/BackgroundSaveEvictor.ice +111 -0
- data/slice/Freeze/CatalogData.ice +49 -0
- data/slice/Freeze/Connection.ice +111 -0
- data/slice/Freeze/ConnectionF.ice +20 -0
- data/slice/Freeze/DB.ice +37 -0
- data/slice/Freeze/Evictor.ice +339 -0
- data/slice/Freeze/EvictorF.ice +22 -0
- data/slice/Freeze/EvictorStorage.ice +72 -0
- data/slice/Freeze/Exception.ice +100 -0
- data/slice/Freeze/Transaction.ice +57 -0
- data/slice/Freeze/TransactionalEvictor.ice +50 -0
- data/slice/Glacier2/Metrics.ice +77 -0
- data/slice/Glacier2/PermissionsVerifier.ice +105 -0
- data/slice/Glacier2/PermissionsVerifierF.ice +21 -0
- data/slice/Glacier2/Router.ice +178 -0
- data/slice/Glacier2/RouterF.ice +20 -0
- data/slice/Glacier2/SSLInfo.ice +50 -0
- data/slice/Glacier2/Session.ice +273 -0
- data/slice/Ice/BuiltinSequences.ice +48 -0
- data/slice/Ice/Communicator.ice +567 -0
- data/slice/Ice/CommunicatorF.ice +20 -0
- data/slice/Ice/Connection.ice +323 -0
- data/slice/Ice/ConnectionF.ice +22 -0
- data/slice/Ice/Current.ice +160 -0
- data/slice/Ice/Endpoint.ice +227 -0
- data/slice/Ice/EndpointF.ice +32 -0
- data/slice/Ice/EndpointTypes.ice +38 -0
- data/slice/Ice/FacetMap.ice +25 -0
- data/slice/Ice/Identity.ice +59 -0
- data/slice/Ice/ImplicitContext.ice +109 -0
- data/slice/Ice/ImplicitContextF.ice +20 -0
- data/slice/Ice/Instrumentation.ice +499 -0
- data/slice/Ice/InstrumentationF.ice +26 -0
- data/slice/Ice/LocalException.ice +1015 -0
- data/slice/Ice/Locator.ice +227 -0
- data/slice/Ice/LocatorF.ice +21 -0
- data/slice/Ice/Logger.ice +86 -0
- data/slice/Ice/LoggerF.ice +20 -0
- data/slice/Ice/Metrics.ice +422 -0
- data/slice/Ice/ObjectAdapter.ice +673 -0
- data/slice/Ice/ObjectAdapterF.ice +20 -0
- data/slice/Ice/ObjectFactory.ice +60 -0
- data/slice/Ice/ObjectFactoryF.ice +20 -0
- data/slice/Ice/Plugin.ice +117 -0
- data/slice/Ice/PluginF.ice +21 -0
- data/slice/Ice/Process.ice +54 -0
- data/slice/Ice/ProcessF.ice +20 -0
- data/slice/Ice/Properties.ice +228 -0
- data/slice/Ice/PropertiesAdmin.ice +75 -0
- data/slice/Ice/PropertiesF.ice +21 -0
- data/slice/Ice/RemoteLogger.ice +232 -0
- data/slice/Ice/Router.ice +83 -0
- data/slice/Ice/RouterF.ice +20 -0
- data/slice/Ice/ServantLocator.ice +117 -0
- data/slice/Ice/ServantLocatorF.ice +20 -0
- data/slice/Ice/SliceChecksumDict.ice +25 -0
- data/slice/Ice/Version.ice +39 -0
- data/slice/IceBox/IceBox.ice +194 -0
- data/slice/IceDiscovery/IceDiscovery.ice +32 -0
- data/slice/IceGrid/Admin.ice +1578 -0
- data/slice/IceGrid/Descriptor.ice +1079 -0
- data/slice/IceGrid/Discovery.ice +73 -0
- data/slice/IceGrid/Exception.ice +383 -0
- data/slice/IceGrid/FileParser.ice +61 -0
- data/slice/IceGrid/Locator.ice +56 -0
- data/slice/IceGrid/Observer.ice +394 -0
- data/slice/IceGrid/PluginFacade.ice +316 -0
- data/slice/IceGrid/Query.ice +130 -0
- data/slice/IceGrid/Registry.ice +138 -0
- data/slice/IceGrid/Session.ice +124 -0
- data/slice/IceGrid/UserAccountMapper.ice +58 -0
- data/slice/IcePatch2/FileInfo.ice +49 -0
- data/slice/IcePatch2/FileServer.ice +129 -0
- data/slice/IceSSL/ConnectionInfo.ice +34 -0
- data/slice/IceSSL/EndpointInfo.ice +41 -0
- data/slice/IceStorm/IceStorm.ice +405 -0
- data/slice/IceStorm/Metrics.ice +71 -0
- metadata +737 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// **********************************************************************
|
|
2
|
+
//
|
|
3
|
+
// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
|
|
4
|
+
//
|
|
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
|
+
|
|
10
|
+
#ifndef ICE_ACM_H
|
|
11
|
+
#define ICE_ACM_H
|
|
12
|
+
|
|
13
|
+
#include <IceUtil/Mutex.h>
|
|
14
|
+
#include <IceUtil/Monitor.h>
|
|
15
|
+
#include <IceUtil/Timer.h>
|
|
16
|
+
#include <Ice/ACMF.h>
|
|
17
|
+
#include <Ice/Connection.h>
|
|
18
|
+
#include <Ice/ConnectionIF.h>
|
|
19
|
+
#include <Ice/InstanceF.h>
|
|
20
|
+
#include <Ice/PropertiesF.h>
|
|
21
|
+
#include <Ice/LoggerF.h>
|
|
22
|
+
#include <set>
|
|
23
|
+
|
|
24
|
+
namespace IceInternal
|
|
25
|
+
{
|
|
26
|
+
|
|
27
|
+
class ACMConfig
|
|
28
|
+
{
|
|
29
|
+
public:
|
|
30
|
+
|
|
31
|
+
ACMConfig(bool = false);
|
|
32
|
+
ACMConfig(const Ice::PropertiesPtr&, const Ice::LoggerPtr&, const std::string&, const ACMConfig&);
|
|
33
|
+
|
|
34
|
+
IceUtil::Time timeout;
|
|
35
|
+
Ice::ACMHeartbeat heartbeat;
|
|
36
|
+
Ice::ACMClose close;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
class ACMMonitor : public IceUtil::TimerTask
|
|
40
|
+
{
|
|
41
|
+
public:
|
|
42
|
+
|
|
43
|
+
virtual void add(const Ice::ConnectionIPtr&) = 0;
|
|
44
|
+
virtual void remove(const Ice::ConnectionIPtr&) = 0;
|
|
45
|
+
virtual void reap(const Ice::ConnectionIPtr&) = 0;
|
|
46
|
+
|
|
47
|
+
virtual ACMMonitorPtr acm(const IceUtil::Optional<int>&,
|
|
48
|
+
const IceUtil::Optional<Ice::ACMClose>&,
|
|
49
|
+
const IceUtil::Optional<Ice::ACMHeartbeat>&) = 0;
|
|
50
|
+
virtual Ice::ACM getACM() = 0;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
class FactoryACMMonitor : public ACMMonitor, public ::IceUtil::Mutex
|
|
54
|
+
{
|
|
55
|
+
public:
|
|
56
|
+
|
|
57
|
+
FactoryACMMonitor(const InstancePtr&, const ACMConfig&);
|
|
58
|
+
virtual ~FactoryACMMonitor();
|
|
59
|
+
|
|
60
|
+
virtual void add(const Ice::ConnectionIPtr&);
|
|
61
|
+
virtual void remove(const Ice::ConnectionIPtr&);
|
|
62
|
+
virtual void reap(const Ice::ConnectionIPtr&);
|
|
63
|
+
|
|
64
|
+
virtual ACMMonitorPtr acm(const IceUtil::Optional<int>&,
|
|
65
|
+
const IceUtil::Optional<Ice::ACMClose>&,
|
|
66
|
+
const IceUtil::Optional<Ice::ACMHeartbeat>&);
|
|
67
|
+
virtual Ice::ACM getACM();
|
|
68
|
+
|
|
69
|
+
void destroy();
|
|
70
|
+
void swapReapedConnections(std::vector<Ice::ConnectionIPtr>&);
|
|
71
|
+
|
|
72
|
+
private:
|
|
73
|
+
|
|
74
|
+
friend class ConnectionACMMonitor;
|
|
75
|
+
void handleException(const std::exception&);
|
|
76
|
+
void handleException();
|
|
77
|
+
|
|
78
|
+
virtual void runTimerTask();
|
|
79
|
+
|
|
80
|
+
InstancePtr _instance;
|
|
81
|
+
const ACMConfig _config;
|
|
82
|
+
|
|
83
|
+
std::vector<std::pair<Ice::ConnectionIPtr, bool> > _changes;
|
|
84
|
+
std::set<Ice::ConnectionIPtr> _connections;
|
|
85
|
+
std::vector<Ice::ConnectionIPtr> _reapedConnections;
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
class ConnectionACMMonitor : public ACMMonitor, public ::IceUtil::Mutex
|
|
89
|
+
{
|
|
90
|
+
public:
|
|
91
|
+
|
|
92
|
+
ConnectionACMMonitor(const FactoryACMMonitorPtr&, const IceUtil::TimerPtr&, const ACMConfig&);
|
|
93
|
+
virtual ~ConnectionACMMonitor();
|
|
94
|
+
|
|
95
|
+
virtual void add(const Ice::ConnectionIPtr&);
|
|
96
|
+
virtual void remove(const Ice::ConnectionIPtr&);
|
|
97
|
+
virtual void reap(const Ice::ConnectionIPtr&);
|
|
98
|
+
|
|
99
|
+
virtual ACMMonitorPtr acm(const IceUtil::Optional<int>&,
|
|
100
|
+
const IceUtil::Optional<Ice::ACMClose>&,
|
|
101
|
+
const IceUtil::Optional<Ice::ACMHeartbeat>&);
|
|
102
|
+
virtual Ice::ACM getACM();
|
|
103
|
+
|
|
104
|
+
private:
|
|
105
|
+
|
|
106
|
+
virtual void runTimerTask();
|
|
107
|
+
|
|
108
|
+
const FactoryACMMonitorPtr _parent;
|
|
109
|
+
const IceUtil::TimerPtr _timer;
|
|
110
|
+
const ACMConfig _config;
|
|
111
|
+
|
|
112
|
+
Ice::ConnectionIPtr _connection;
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
#endif
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// **********************************************************************
|
|
2
|
+
//
|
|
3
|
+
// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
|
|
4
|
+
//
|
|
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
|
+
|
|
10
|
+
#include <Ice/Acceptor.h>
|
|
11
|
+
|
|
12
|
+
using namespace std;
|
|
13
|
+
using namespace Ice;
|
|
14
|
+
using namespace IceInternal;
|
|
15
|
+
|
|
16
|
+
IceUtil::Shared* IceInternal::upCast(Acceptor* p) { return p; }
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// **********************************************************************
|
|
2
|
+
//
|
|
3
|
+
// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
|
|
4
|
+
//
|
|
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
|
+
|
|
10
|
+
#ifndef ICE_ACCEPTOR_H
|
|
11
|
+
#define ICE_ACCEPTOR_H
|
|
12
|
+
|
|
13
|
+
#include <IceUtil/Shared.h>
|
|
14
|
+
#include <Ice/AcceptorF.h>
|
|
15
|
+
#include <Ice/TransceiverF.h>
|
|
16
|
+
#include <Ice/EndpointIF.h>
|
|
17
|
+
#include <Ice/Network.h>
|
|
18
|
+
|
|
19
|
+
namespace IceInternal
|
|
20
|
+
{
|
|
21
|
+
|
|
22
|
+
class ICE_API Acceptor : virtual public ::IceUtil::Shared
|
|
23
|
+
{
|
|
24
|
+
public:
|
|
25
|
+
|
|
26
|
+
virtual NativeInfoPtr getNativeInfo() = 0;
|
|
27
|
+
virtual void close() = 0;
|
|
28
|
+
virtual EndpointIPtr listen() = 0;
|
|
29
|
+
#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT)
|
|
30
|
+
virtual void startAccept() = 0;
|
|
31
|
+
virtual void finishAccept() = 0;
|
|
32
|
+
#endif
|
|
33
|
+
virtual TransceiverPtr accept() = 0;
|
|
34
|
+
virtual std::string protocol() const = 0;
|
|
35
|
+
virtual std::string toString() const = 0;
|
|
36
|
+
virtual std::string toDetailedString() const = 0;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
#endif
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// **********************************************************************
|
|
2
|
+
//
|
|
3
|
+
// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
|
|
4
|
+
//
|
|
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
|
+
|
|
10
|
+
#ifndef ICE_ACCEPTOR_F_H
|
|
11
|
+
#define ICE_ACCEPTOR_F_H
|
|
12
|
+
|
|
13
|
+
#include <IceUtil/Shared.h>
|
|
14
|
+
|
|
15
|
+
#include <Ice/Handle.h>
|
|
16
|
+
|
|
17
|
+
namespace IceInternal
|
|
18
|
+
{
|
|
19
|
+
|
|
20
|
+
class Acceptor;
|
|
21
|
+
ICE_API IceUtil::Shared* upCast(Acceptor*);
|
|
22
|
+
typedef Handle<Acceptor> AcceptorPtr;
|
|
23
|
+
|
|
24
|
+
class TcpAcceptor;
|
|
25
|
+
ICE_API IceUtil::Shared* upCast(TcpAcceptor*);
|
|
26
|
+
typedef Handle<TcpAcceptor> TcpAcceptorPtr;
|
|
27
|
+
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
#endif
|
|
@@ -0,0 +1,760 @@
|
|
|
1
|
+
// **********************************************************************
|
|
2
|
+
//
|
|
3
|
+
// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
|
|
4
|
+
//
|
|
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
|
+
|
|
10
|
+
#include <Ice/Application.h>
|
|
11
|
+
#include <Ice/LoggerI.h>
|
|
12
|
+
#include <IceUtil/Mutex.h>
|
|
13
|
+
#include <IceUtil/CtrlCHandler.h>
|
|
14
|
+
#include <IceUtil/Cond.h>
|
|
15
|
+
#include <IceUtil/ArgVector.h>
|
|
16
|
+
#include <IceUtil/UniquePtr.h>
|
|
17
|
+
|
|
18
|
+
using namespace std;
|
|
19
|
+
using namespace Ice;
|
|
20
|
+
using namespace IceUtil;
|
|
21
|
+
using namespace IceUtilInternal;
|
|
22
|
+
|
|
23
|
+
//
|
|
24
|
+
// static initializations.
|
|
25
|
+
//
|
|
26
|
+
Mutex* IceInternal::Application::mutex = 0;
|
|
27
|
+
|
|
28
|
+
bool IceInternal::Application::_callbackInProgress = false;
|
|
29
|
+
bool IceInternal::Application::_destroyed = false;
|
|
30
|
+
bool IceInternal::Application::_interrupted = false;
|
|
31
|
+
|
|
32
|
+
string IceInternal::Application::_appName;
|
|
33
|
+
CommunicatorPtr IceInternal::Application::_communicator;
|
|
34
|
+
SignalPolicy IceInternal::Application::_signalPolicy = HandleSignals;
|
|
35
|
+
Cond* IceInternal::Application::_condVar;
|
|
36
|
+
Application* IceInternal::Application::_application;
|
|
37
|
+
//
|
|
38
|
+
// _mutex and _condVar are used to synchronize the main thread and
|
|
39
|
+
// the CtrlCHandler thread
|
|
40
|
+
//
|
|
41
|
+
|
|
42
|
+
namespace
|
|
43
|
+
{
|
|
44
|
+
|
|
45
|
+
class Init
|
|
46
|
+
{
|
|
47
|
+
public:
|
|
48
|
+
|
|
49
|
+
Init()
|
|
50
|
+
{
|
|
51
|
+
IceInternal::Application::mutex = new IceUtil::Mutex;
|
|
52
|
+
IceInternal::Application::_condVar = new Cond();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
~Init()
|
|
56
|
+
{
|
|
57
|
+
delete IceInternal::Application::mutex;
|
|
58
|
+
IceInternal::Application::mutex = 0;
|
|
59
|
+
delete IceInternal::Application::_condVar;
|
|
60
|
+
IceInternal::Application::_condVar = 0;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
Init init;
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
//
|
|
69
|
+
// Variables than can change while run() and communicator->destroy() are running!
|
|
70
|
+
//
|
|
71
|
+
bool _released = false;
|
|
72
|
+
CtrlCHandlerCallback _previousCallback = 0;
|
|
73
|
+
|
|
74
|
+
//
|
|
75
|
+
// Variables that are immutable during run() and until communicator->destroy() has returned;
|
|
76
|
+
// before and after run(), and once communicator->destroy() has returned, we assume that
|
|
77
|
+
// only the main thread and CtrlCHandler threads are running.
|
|
78
|
+
//
|
|
79
|
+
CtrlCHandler* _ctrlCHandler = 0;
|
|
80
|
+
bool _nohup = false;
|
|
81
|
+
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
#ifdef _WIN32
|
|
85
|
+
const DWORD SIGHUP = CTRL_LOGOFF_EVENT;
|
|
86
|
+
#else
|
|
87
|
+
# include <csignal>
|
|
88
|
+
#endif
|
|
89
|
+
|
|
90
|
+
//
|
|
91
|
+
// Compaq C++ defines signal() as a macro, causing problems with the _condVar->signal()
|
|
92
|
+
// statement, which the compiler for some reason replaces by the macro.
|
|
93
|
+
//
|
|
94
|
+
#if defined (__digital__) && defined (__unix__)
|
|
95
|
+
# undef signal
|
|
96
|
+
#endif
|
|
97
|
+
|
|
98
|
+
//
|
|
99
|
+
// CtrlCHandler callbacks.
|
|
100
|
+
//
|
|
101
|
+
|
|
102
|
+
static void
|
|
103
|
+
holdInterruptCallback(int signal)
|
|
104
|
+
{
|
|
105
|
+
CtrlCHandlerCallback callback = 0;
|
|
106
|
+
{
|
|
107
|
+
IceUtil::Mutex::Lock lock(*IceInternal::Application::mutex);
|
|
108
|
+
while(!_released)
|
|
109
|
+
{
|
|
110
|
+
IceInternal::Application::_condVar->wait(lock);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if(IceInternal::Application::_destroyed)
|
|
114
|
+
{
|
|
115
|
+
//
|
|
116
|
+
// Being destroyed by main thread
|
|
117
|
+
//
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
assert(_ctrlCHandler != 0);
|
|
121
|
+
callback = _ctrlCHandler->getCallback();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if(callback != 0)
|
|
125
|
+
{
|
|
126
|
+
callback(signal);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
static void
|
|
131
|
+
destroyOnInterruptCallback(int signal)
|
|
132
|
+
{
|
|
133
|
+
{
|
|
134
|
+
IceUtil::Mutex::Lock lock(*IceInternal::Application::mutex);
|
|
135
|
+
if(IceInternal::Application::_destroyed)
|
|
136
|
+
{
|
|
137
|
+
//
|
|
138
|
+
// Being destroyed by main thread
|
|
139
|
+
//
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
if(_nohup && signal == static_cast<int>(SIGHUP))
|
|
143
|
+
{
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
assert(!IceInternal::Application::_callbackInProgress);
|
|
148
|
+
IceInternal::Application::_callbackInProgress = true;
|
|
149
|
+
IceInternal::Application::_interrupted = true;
|
|
150
|
+
IceInternal::Application::_destroyed = true;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
try
|
|
154
|
+
{
|
|
155
|
+
assert(IceInternal::Application::_communicator != 0);
|
|
156
|
+
IceInternal::Application::_communicator->destroy();
|
|
157
|
+
}
|
|
158
|
+
catch(const std::exception& ex)
|
|
159
|
+
{
|
|
160
|
+
Error out(getProcessLogger());
|
|
161
|
+
out << "(while destroying in response to signal " << signal << "): " << ex;
|
|
162
|
+
}
|
|
163
|
+
catch(const std::string& msg)
|
|
164
|
+
{
|
|
165
|
+
Error out(getProcessLogger());
|
|
166
|
+
out << "(while destroying in response to signal " << signal << "): " << msg;
|
|
167
|
+
}
|
|
168
|
+
catch(const char* msg)
|
|
169
|
+
{
|
|
170
|
+
Error out(getProcessLogger());
|
|
171
|
+
out << "(while destroying in response to signal " << signal << "): " << msg;
|
|
172
|
+
}
|
|
173
|
+
catch(...)
|
|
174
|
+
{
|
|
175
|
+
Error out(getProcessLogger());
|
|
176
|
+
out << "(while destroying in response to signal " << signal << "): unknown exception";
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
{
|
|
180
|
+
IceUtil::Mutex::Lock lock(*IceInternal::Application::mutex);
|
|
181
|
+
IceInternal::Application::_callbackInProgress = false;
|
|
182
|
+
}
|
|
183
|
+
IceInternal::Application::_condVar->signal();
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
static void
|
|
187
|
+
shutdownOnInterruptCallback(int signal)
|
|
188
|
+
{
|
|
189
|
+
{
|
|
190
|
+
IceUtil::Mutex::Lock lock(*IceInternal::Application::mutex);
|
|
191
|
+
if(IceInternal::Application::_destroyed)
|
|
192
|
+
{
|
|
193
|
+
//
|
|
194
|
+
// Being destroyed by main thread
|
|
195
|
+
//
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
if(_nohup && signal == static_cast<int>(SIGHUP))
|
|
199
|
+
{
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
assert(!IceInternal::Application::_callbackInProgress);
|
|
204
|
+
IceInternal::Application::_callbackInProgress = true;
|
|
205
|
+
IceInternal::Application::_interrupted = true;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
try
|
|
209
|
+
{
|
|
210
|
+
assert(IceInternal::Application::_communicator != 0);
|
|
211
|
+
IceInternal::Application::_communicator->shutdown();
|
|
212
|
+
}
|
|
213
|
+
catch(const std::exception& ex)
|
|
214
|
+
{
|
|
215
|
+
Error out(getProcessLogger());
|
|
216
|
+
out << "(while shutting down in response to signal " << signal << "): std::exception: " << ex;
|
|
217
|
+
}
|
|
218
|
+
catch(const std::string& msg)
|
|
219
|
+
{
|
|
220
|
+
Error out(getProcessLogger());
|
|
221
|
+
out << "(while shutting down in response to signal " << signal << "): " << msg;
|
|
222
|
+
}
|
|
223
|
+
catch(const char* msg)
|
|
224
|
+
{
|
|
225
|
+
Error out(getProcessLogger());
|
|
226
|
+
out << "(while shutting down in response to signal " << signal << "): " << msg;
|
|
227
|
+
}
|
|
228
|
+
catch(...)
|
|
229
|
+
{
|
|
230
|
+
Error out(getProcessLogger());
|
|
231
|
+
out << "(while shutting down in response to signal " << signal << "): unknown exception";
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
{
|
|
235
|
+
IceUtil::Mutex::Lock lock(*IceInternal::Application::mutex);
|
|
236
|
+
IceInternal::Application::_callbackInProgress = false;
|
|
237
|
+
}
|
|
238
|
+
IceInternal::Application::_condVar->signal();
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
static void
|
|
242
|
+
callbackOnInterruptCallback(int signal)
|
|
243
|
+
{
|
|
244
|
+
{
|
|
245
|
+
IceUtil::Mutex::Lock lock(*IceInternal::Application::mutex);
|
|
246
|
+
if(IceInternal::Application::_destroyed)
|
|
247
|
+
{
|
|
248
|
+
//
|
|
249
|
+
// Being destroyed by main thread
|
|
250
|
+
//
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
// For SIGHUP the user callback is always called. It can
|
|
254
|
+
// decide what to do.
|
|
255
|
+
assert(!IceInternal::Application::_callbackInProgress);
|
|
256
|
+
IceInternal::Application::_callbackInProgress = true;
|
|
257
|
+
IceInternal::Application::_interrupted = true;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
try
|
|
261
|
+
{
|
|
262
|
+
assert(IceInternal::Application::_application != 0);
|
|
263
|
+
IceInternal::Application::_application->interruptCallback(signal);
|
|
264
|
+
}
|
|
265
|
+
catch(const std::exception& ex)
|
|
266
|
+
{
|
|
267
|
+
Error out(getProcessLogger());
|
|
268
|
+
out << "(while interrupting in response to signal " << signal << "): std::exception: " << ex;
|
|
269
|
+
}
|
|
270
|
+
catch(const std::string& msg)
|
|
271
|
+
{
|
|
272
|
+
Error out(getProcessLogger());
|
|
273
|
+
out << "(while interrupting in response to signal " << signal << "): " << msg;
|
|
274
|
+
}
|
|
275
|
+
catch(const char* msg)
|
|
276
|
+
{
|
|
277
|
+
Error out(getProcessLogger());
|
|
278
|
+
out << "(while interrupting in response to signal " << signal << "): " << msg;
|
|
279
|
+
}
|
|
280
|
+
catch(...)
|
|
281
|
+
{
|
|
282
|
+
Error out(getProcessLogger());
|
|
283
|
+
out << "(while interrupting in response to signal " << signal << "): unknown exception";
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
{
|
|
287
|
+
IceUtil::Mutex::Lock lock(*IceInternal::Application::mutex);
|
|
288
|
+
IceInternal::Application::_callbackInProgress = false;
|
|
289
|
+
}
|
|
290
|
+
IceInternal::Application::_condVar->signal();
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
Ice::Application::Application(SignalPolicy signalPolicy)
|
|
294
|
+
{
|
|
295
|
+
IceInternal::Application::_signalPolicy = signalPolicy;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
Ice::Application::~Application()
|
|
299
|
+
{
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
int
|
|
303
|
+
Ice::Application::main(int argc, char* argv[], const char* configFile)
|
|
304
|
+
{
|
|
305
|
+
//
|
|
306
|
+
// We don't call the main below to avoid a deprecated warning
|
|
307
|
+
//
|
|
308
|
+
|
|
309
|
+
IceInternal::Application::_appName = "";
|
|
310
|
+
if(argc > 0)
|
|
311
|
+
{
|
|
312
|
+
IceInternal::Application::_appName = argv[0];
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
if(argc > 0 && argv[0] && LoggerIPtr::dynamicCast(getProcessLogger()))
|
|
316
|
+
{
|
|
317
|
+
setProcessLogger(new LoggerI(argv[0], "", true, IceUtil::getProcessStringConverter()));
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
InitializationData initData;
|
|
321
|
+
if(configFile)
|
|
322
|
+
{
|
|
323
|
+
try
|
|
324
|
+
{
|
|
325
|
+
initData.properties = createProperties();
|
|
326
|
+
initData.properties->load(configFile);
|
|
327
|
+
}
|
|
328
|
+
catch(const std::exception& ex)
|
|
329
|
+
{
|
|
330
|
+
Error out(getProcessLogger());
|
|
331
|
+
out << ex;
|
|
332
|
+
return EXIT_FAILURE;
|
|
333
|
+
}
|
|
334
|
+
catch(...)
|
|
335
|
+
{
|
|
336
|
+
Error out(getProcessLogger());
|
|
337
|
+
out << "unknown exception";
|
|
338
|
+
return EXIT_FAILURE;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
return main(argc, argv, initData);
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
#ifdef _WIN32
|
|
345
|
+
|
|
346
|
+
int
|
|
347
|
+
Ice::Application::main(int argc, wchar_t* argv[], const char* config)
|
|
348
|
+
{
|
|
349
|
+
return main(argsToStringSeq(argc, argv), config);
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
int
|
|
353
|
+
Ice::Application::main(int argc, wchar_t* argv[], const Ice::InitializationData& initData)
|
|
354
|
+
{
|
|
355
|
+
//
|
|
356
|
+
// On Windows the given wchar_t* strings are UTF16 and therefore
|
|
357
|
+
// needs to be converted to native narow string encoding.
|
|
358
|
+
//
|
|
359
|
+
return main(argsToStringSeq(argc, argv), initData);
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
#endif
|
|
363
|
+
|
|
364
|
+
int
|
|
365
|
+
Ice::Application::main(int argc, char* argv[], const InitializationData& initializationData)
|
|
366
|
+
{
|
|
367
|
+
if(argc > 0 && argv[0] && LoggerIPtr::dynamicCast(getProcessLogger()))
|
|
368
|
+
{
|
|
369
|
+
const bool convert = initializationData.properties ?
|
|
370
|
+
initializationData.properties->getPropertyAsIntWithDefault("Ice.LogStdErr.Convert", 1) > 0 &&
|
|
371
|
+
initializationData.properties->getProperty("Ice.StdErr").empty() : true;
|
|
372
|
+
setProcessLogger(new LoggerI(argv[0], "", convert, IceUtil::getProcessStringConverter()));
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
if(IceInternal::Application::_communicator != 0)
|
|
376
|
+
{
|
|
377
|
+
Error out(getProcessLogger());
|
|
378
|
+
out << "only one instance of the Application class can be used";
|
|
379
|
+
return EXIT_FAILURE;
|
|
380
|
+
}
|
|
381
|
+
int status;
|
|
382
|
+
|
|
383
|
+
//
|
|
384
|
+
// We parse the properties here to extract Ice.ProgramName.
|
|
385
|
+
//
|
|
386
|
+
InitializationData initData = initializationData;
|
|
387
|
+
try
|
|
388
|
+
{
|
|
389
|
+
initData.properties = createProperties(argc, argv, initData.properties);
|
|
390
|
+
}
|
|
391
|
+
catch(const std::exception& ex)
|
|
392
|
+
{
|
|
393
|
+
Error out(getProcessLogger());
|
|
394
|
+
out << ex;
|
|
395
|
+
return EXIT_FAILURE;
|
|
396
|
+
}
|
|
397
|
+
catch(...)
|
|
398
|
+
{
|
|
399
|
+
Error out(getProcessLogger());
|
|
400
|
+
out << "unknown exception";
|
|
401
|
+
return EXIT_FAILURE;
|
|
402
|
+
}
|
|
403
|
+
IceInternal::Application::_appName = initData.properties->getPropertyWithDefault("Ice.ProgramName",
|
|
404
|
+
IceInternal::Application::_appName);
|
|
405
|
+
|
|
406
|
+
//
|
|
407
|
+
// Used by destroyOnInterruptCallback and shutdownOnInterruptCallback.
|
|
408
|
+
//
|
|
409
|
+
_nohup = initData.properties->getPropertyAsInt("Ice.Nohup") > 0;
|
|
410
|
+
|
|
411
|
+
IceInternal::Application::_application = this;
|
|
412
|
+
|
|
413
|
+
if(IceInternal::Application::_signalPolicy == HandleSignals)
|
|
414
|
+
{
|
|
415
|
+
try
|
|
416
|
+
{
|
|
417
|
+
//
|
|
418
|
+
// The ctrlCHandler must be created before starting any thread, in particular
|
|
419
|
+
// before initializing the communicator.
|
|
420
|
+
//
|
|
421
|
+
CtrlCHandler ctrCHandler;
|
|
422
|
+
_ctrlCHandler = &ctrCHandler;
|
|
423
|
+
|
|
424
|
+
status = doMain(argc, argv, initData);
|
|
425
|
+
|
|
426
|
+
//
|
|
427
|
+
// Set _ctrlCHandler to 0 only once communicator->destroy() has completed.
|
|
428
|
+
//
|
|
429
|
+
_ctrlCHandler = 0;
|
|
430
|
+
}
|
|
431
|
+
catch(const CtrlCHandlerException&)
|
|
432
|
+
{
|
|
433
|
+
Error out(getProcessLogger());
|
|
434
|
+
out << "only one instance of the CtrlCHandler class can be used";
|
|
435
|
+
status = EXIT_FAILURE;
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
else
|
|
439
|
+
{
|
|
440
|
+
status = doMain(argc, argv, initData);
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
return status;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
int
|
|
447
|
+
Ice::Application::main(int argc, char* const argv[], const char* configFile)
|
|
448
|
+
{
|
|
449
|
+
ArgVector av(argc, argv);
|
|
450
|
+
return main(av.argc, av.argv, configFile);
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
int
|
|
454
|
+
Ice::Application::main(int argc, char* const argv[], const Ice::InitializationData& initData)
|
|
455
|
+
{
|
|
456
|
+
ArgVector av(argc, argv);
|
|
457
|
+
return main(av.argc, av.argv, initData);
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
int
|
|
461
|
+
Ice::Application::main(const StringSeq& args, const char* configFile)
|
|
462
|
+
{
|
|
463
|
+
ArgVector av(args);
|
|
464
|
+
return main(av.argc, av.argv, configFile);
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
int
|
|
468
|
+
Ice::Application::main(const StringSeq& args, const InitializationData& initData)
|
|
469
|
+
{
|
|
470
|
+
ArgVector av(args);
|
|
471
|
+
return main(av.argc, av.argv, initData);
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
void
|
|
475
|
+
Ice::Application::interruptCallback(int)
|
|
476
|
+
{
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
const char*
|
|
480
|
+
Ice::Application::appName()
|
|
481
|
+
{
|
|
482
|
+
return IceInternal::Application::_appName.c_str();
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
CommunicatorPtr
|
|
486
|
+
Ice::Application::communicator()
|
|
487
|
+
{
|
|
488
|
+
return IceInternal::Application::_communicator;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
void
|
|
492
|
+
Ice::Application::destroyOnInterrupt()
|
|
493
|
+
{
|
|
494
|
+
if(IceInternal::Application::_signalPolicy == HandleSignals)
|
|
495
|
+
{
|
|
496
|
+
if(_ctrlCHandler != 0)
|
|
497
|
+
{
|
|
498
|
+
IceUtil::Mutex::Lock lock(*IceInternal::Application::mutex); // we serialize all the interrupt-setting
|
|
499
|
+
if(_ctrlCHandler->getCallback() == holdInterruptCallback)
|
|
500
|
+
{
|
|
501
|
+
_released = true;
|
|
502
|
+
IceInternal::Application::_condVar->signal();
|
|
503
|
+
}
|
|
504
|
+
_ctrlCHandler->setCallback(destroyOnInterruptCallback);
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
else
|
|
508
|
+
{
|
|
509
|
+
Warning out(getProcessLogger());
|
|
510
|
+
out << "interrupt method called on Application configured to not handle interrupts.";
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
void
|
|
515
|
+
Ice::Application::shutdownOnInterrupt()
|
|
516
|
+
{
|
|
517
|
+
if(IceInternal::Application::_signalPolicy == HandleSignals)
|
|
518
|
+
{
|
|
519
|
+
if(_ctrlCHandler != 0)
|
|
520
|
+
{
|
|
521
|
+
IceUtil::Mutex::Lock lock(*IceInternal::Application::mutex); // we serialize all the interrupt-setting
|
|
522
|
+
if(_ctrlCHandler->getCallback() == holdInterruptCallback)
|
|
523
|
+
{
|
|
524
|
+
_released = true;
|
|
525
|
+
IceInternal::Application::_condVar->signal();
|
|
526
|
+
}
|
|
527
|
+
_ctrlCHandler->setCallback(shutdownOnInterruptCallback);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
else
|
|
531
|
+
{
|
|
532
|
+
Warning out(getProcessLogger());
|
|
533
|
+
out << "interrupt method called on Application configured to not handle interrupts.";
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
void
|
|
538
|
+
Ice::Application::ignoreInterrupt()
|
|
539
|
+
{
|
|
540
|
+
if(IceInternal::Application::_signalPolicy == HandleSignals)
|
|
541
|
+
{
|
|
542
|
+
if(_ctrlCHandler != 0)
|
|
543
|
+
{
|
|
544
|
+
IceUtil::Mutex::Lock lock(*IceInternal::Application::mutex); // we serialize all the interrupt-setting
|
|
545
|
+
if(_ctrlCHandler->getCallback() == holdInterruptCallback)
|
|
546
|
+
{
|
|
547
|
+
_released = true;
|
|
548
|
+
IceInternal::Application::_condVar->signal();
|
|
549
|
+
}
|
|
550
|
+
_ctrlCHandler->setCallback(0);
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
else
|
|
554
|
+
{
|
|
555
|
+
Warning out(getProcessLogger());
|
|
556
|
+
out << "interrupt method called on Application configured to not handle interrupts.";
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
void
|
|
561
|
+
Ice::Application::callbackOnInterrupt()
|
|
562
|
+
{
|
|
563
|
+
if(IceInternal::Application::_signalPolicy == HandleSignals)
|
|
564
|
+
{
|
|
565
|
+
if(_ctrlCHandler != 0)
|
|
566
|
+
{
|
|
567
|
+
IceUtil::Mutex::Lock lock(*IceInternal::Application::mutex); // we serialize all the interrupt-setting
|
|
568
|
+
if(_ctrlCHandler->getCallback() == holdInterruptCallback)
|
|
569
|
+
{
|
|
570
|
+
_released = true;
|
|
571
|
+
IceInternal::Application::_condVar->signal();
|
|
572
|
+
}
|
|
573
|
+
_ctrlCHandler->setCallback(callbackOnInterruptCallback);
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
else
|
|
577
|
+
{
|
|
578
|
+
Warning out(getProcessLogger());
|
|
579
|
+
out << "interrupt method called on Application configured to not handle interrupts.";
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
void
|
|
584
|
+
Ice::Application::holdInterrupt()
|
|
585
|
+
{
|
|
586
|
+
if(IceInternal::Application::_signalPolicy == HandleSignals)
|
|
587
|
+
{
|
|
588
|
+
if(_ctrlCHandler != 0)
|
|
589
|
+
{
|
|
590
|
+
IceUtil::Mutex::Lock lock(*IceInternal::Application::mutex); // we serialize all the interrupt-setting
|
|
591
|
+
if(_ctrlCHandler->getCallback() != holdInterruptCallback)
|
|
592
|
+
{
|
|
593
|
+
_previousCallback = _ctrlCHandler->getCallback();
|
|
594
|
+
_released = false;
|
|
595
|
+
_ctrlCHandler->setCallback(holdInterruptCallback);
|
|
596
|
+
}
|
|
597
|
+
// else, we were already holding signals
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
else
|
|
601
|
+
{
|
|
602
|
+
Warning out(getProcessLogger());
|
|
603
|
+
out << "interrupt method called on Application configured to not handle interrupts.";
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
void
|
|
608
|
+
Ice::Application::releaseInterrupt()
|
|
609
|
+
{
|
|
610
|
+
if(IceInternal::Application::_signalPolicy == HandleSignals)
|
|
611
|
+
{
|
|
612
|
+
if(_ctrlCHandler != 0)
|
|
613
|
+
{
|
|
614
|
+
IceUtil::Mutex::Lock lock(*IceInternal::Application::mutex); // we serialize all the interrupt-setting
|
|
615
|
+
if(_ctrlCHandler->getCallback() == holdInterruptCallback)
|
|
616
|
+
{
|
|
617
|
+
//
|
|
618
|
+
// Note that it's very possible no signal is held;
|
|
619
|
+
// in this case the callback is just replaced and
|
|
620
|
+
// setting _released to true and signalling _condVar
|
|
621
|
+
// do no harm.
|
|
622
|
+
//
|
|
623
|
+
|
|
624
|
+
_released = true;
|
|
625
|
+
_ctrlCHandler->setCallback(_previousCallback);
|
|
626
|
+
IceInternal::Application::_condVar->signal();
|
|
627
|
+
}
|
|
628
|
+
// Else nothing to release.
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
else
|
|
632
|
+
{
|
|
633
|
+
Warning out(getProcessLogger());
|
|
634
|
+
out << "interrupt method called on Application configured to not handle interrupts.";
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
bool
|
|
639
|
+
Ice::Application::interrupted()
|
|
640
|
+
{
|
|
641
|
+
IceUtil::Mutex::Lock lock(*IceInternal::Application::mutex);
|
|
642
|
+
return IceInternal::Application::_interrupted;
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
int
|
|
646
|
+
Ice::Application::doMain(int argc, char* argv[], const InitializationData& initData)
|
|
647
|
+
{
|
|
648
|
+
int status;
|
|
649
|
+
|
|
650
|
+
try
|
|
651
|
+
{
|
|
652
|
+
IceInternal::Application::_interrupted = false;
|
|
653
|
+
|
|
654
|
+
//
|
|
655
|
+
// If the process logger is the default logger, we now replace it with a
|
|
656
|
+
// a logger which is using the program name for the prefix.
|
|
657
|
+
//
|
|
658
|
+
if(initData.properties->getProperty("Ice.ProgramName") != "" && LoggerIPtr::dynamicCast(getProcessLogger()))
|
|
659
|
+
{
|
|
660
|
+
const bool convert =
|
|
661
|
+
initData.properties->getPropertyAsIntWithDefault("Ice.LogStdErr.Convert", 1) > 0 &&
|
|
662
|
+
initData.properties->getProperty("Ice.StdErr").empty();
|
|
663
|
+
|
|
664
|
+
setProcessLogger(new LoggerI(initData.properties->getProperty("Ice.ProgramName"), "", convert,
|
|
665
|
+
IceUtil::getProcessStringConverter()));
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
IceInternal::Application::_communicator = initialize(argc, argv, initData);
|
|
669
|
+
IceInternal::Application::_destroyed = false;
|
|
670
|
+
|
|
671
|
+
//
|
|
672
|
+
// The default is to destroy when a signal is received.
|
|
673
|
+
//
|
|
674
|
+
if(IceInternal::Application::_signalPolicy == HandleSignals)
|
|
675
|
+
{
|
|
676
|
+
destroyOnInterrupt();
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
status = run(argc, argv);
|
|
680
|
+
}
|
|
681
|
+
catch(const std::exception& ex)
|
|
682
|
+
{
|
|
683
|
+
Error out(getProcessLogger());
|
|
684
|
+
out << ex;
|
|
685
|
+
status = EXIT_FAILURE;
|
|
686
|
+
}
|
|
687
|
+
catch(const std::string& msg)
|
|
688
|
+
{
|
|
689
|
+
Error out(getProcessLogger());
|
|
690
|
+
out << msg;
|
|
691
|
+
status = EXIT_FAILURE;
|
|
692
|
+
}
|
|
693
|
+
catch(const char* msg)
|
|
694
|
+
{
|
|
695
|
+
Error out(getProcessLogger());
|
|
696
|
+
out << msg;
|
|
697
|
+
status = EXIT_FAILURE;
|
|
698
|
+
}
|
|
699
|
+
catch(...)
|
|
700
|
+
{
|
|
701
|
+
Error out(getProcessLogger());
|
|
702
|
+
out << "unknown exception";
|
|
703
|
+
status = EXIT_FAILURE;
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
//
|
|
707
|
+
// Don't want any new interrupt and at this point (post-run),
|
|
708
|
+
// it would not make sense to release a held signal to run
|
|
709
|
+
// shutdown or destroy.
|
|
710
|
+
//
|
|
711
|
+
if(IceInternal::Application::_signalPolicy == HandleSignals)
|
|
712
|
+
{
|
|
713
|
+
ignoreInterrupt();
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
{
|
|
717
|
+
IceUtil::Mutex::Lock lock(*IceInternal::Application::mutex);
|
|
718
|
+
while(IceInternal::Application::_callbackInProgress)
|
|
719
|
+
{
|
|
720
|
+
IceInternal::Application::_condVar->wait(lock);
|
|
721
|
+
}
|
|
722
|
+
if(IceInternal::Application::_destroyed)
|
|
723
|
+
{
|
|
724
|
+
IceInternal::Application::_communicator = 0;
|
|
725
|
+
}
|
|
726
|
+
else
|
|
727
|
+
{
|
|
728
|
+
IceInternal::Application::_destroyed = true;
|
|
729
|
+
//
|
|
730
|
+
// And _communicator != 0, meaning will be destroyed
|
|
731
|
+
// next, _destroyed = true also ensures that any
|
|
732
|
+
// remaining callback won't do anything
|
|
733
|
+
//
|
|
734
|
+
}
|
|
735
|
+
IceInternal::Application::_application = 0;
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
if(IceInternal::Application::_communicator != 0)
|
|
739
|
+
{
|
|
740
|
+
try
|
|
741
|
+
{
|
|
742
|
+
IceInternal::Application::_communicator->destroy();
|
|
743
|
+
}
|
|
744
|
+
catch(const std::exception& ex)
|
|
745
|
+
{
|
|
746
|
+
Error out(getProcessLogger());
|
|
747
|
+
out << ex;
|
|
748
|
+
status = EXIT_FAILURE;
|
|
749
|
+
}
|
|
750
|
+
catch(...)
|
|
751
|
+
{
|
|
752
|
+
Error out(getProcessLogger());
|
|
753
|
+
out << "unknown exception";
|
|
754
|
+
status = EXIT_FAILURE;
|
|
755
|
+
}
|
|
756
|
+
IceInternal::Application::_communicator = 0;
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
return status;
|
|
760
|
+
}
|