diff options
Diffstat (limited to 'cppe/src')
-rw-r--r-- | cppe/src/IceE/.depend | 5 | ||||
-rw-r--r-- | cppe/src/IceE/Base64.cpp | 268 | ||||
-rw-r--r-- | cppe/src/IceE/Makefile | 3 | ||||
-rwxr-xr-x | cppe/src/IceE/Makefile.mak | 3 | ||||
-rw-r--r-- | cppe/src/IceE/UnknownEndpoint.cpp | 103 | ||||
-rw-r--r-- | cppe/src/IceE/UnknownEndpoint.h | 1 | ||||
-rw-r--r-- | cppe/src/IceEC/.depend | 5 | ||||
-rw-r--r-- | cppe/src/IceEC/Makefile | 3 | ||||
-rwxr-xr-x | cppe/src/IceEC/Makefile.mak | 3 | ||||
-rw-r--r-- | cppe/src/TcpTransport/EndpointFactory.cpp | 29 |
10 files changed, 414 insertions, 9 deletions
diff --git a/cppe/src/IceE/.depend b/cppe/src/IceE/.depend index d947f081dd7..3d461c9536f 100644 --- a/cppe/src/IceE/.depend +++ b/cppe/src/IceE/.depend @@ -1,3 +1,4 @@ +Base64$(OBJEXT): Base64.cpp ../../include/IceE/Base64.h ../../include/IceE/Config.h BasicStream$(OBJEXT): BasicStream.cpp ../../include/IceE/DisableWarnings.h ../../include/IceE/Properties.h ../../include/IceE/PropertiesF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../../include/IceE/Mutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/Exception.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/ObjectF.h ../../include/IceE/ScopedArray.h ../../include/IceE/Proxy.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/CommunicatorF.h ../../include/IceE/Identity.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../IceE/Instance.h ../../include/IceE/InstanceF.h ../../include/IceE/TraceLevelsF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../IceE/EndpointFactoryF.h ../../include/IceE/ObjectAdapterFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Initialize.h ../../include/IceE/LoggerF.h ../IceE/ProxyFactory.h ../../include/IceE/UserExceptionFactory.h ../../include/IceE/LocalException.h ../../include/IceE/FactoryTable.h ../../include/IceE/FactoryTableDef.h ../../include/IceE/UserExceptionFactoryF.h ../../include/IceE/StaticMutex.h ../../include/IceE/LoggerUtil.h Buffer$(OBJEXT): Buffer.cpp ../../include/IceE/Buffer.h ../../include/IceE/Config.h ../../include/IceE/LocalException.h ../../include/IceE/Exception.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Handle.h ../../include/IceE/Identity.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/ObjectF.h ../../include/IceE/Shared.h ../../include/IceE/ScopedArray.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/Proxy.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/CommunicatorF.h ../../include/IceE/Mutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h BuiltinSequences$(OBJEXT): BuiltinSequences.cpp ../../include/IceE/BuiltinSequences.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/ObjectF.h ../../include/IceE/Shared.h ../../include/IceE/Exception.h ../../include/IceE/ScopedArray.h ../../include/IceE/Proxy.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/CommunicatorF.h ../../include/IceE/Mutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/Identity.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../../include/IceE/Object.h ../../include/IceE/Current.h ../../include/IceE/ObjectAdapterF.h ../../include/IceE/DispatchStatus.h ../../include/IceE/Iterator.h ../../include/IceE/DisableWarnings.h @@ -49,12 +50,12 @@ ThreadException$(OBJEXT): ThreadException.cpp ../../include/IceE/ThreadException Time$(OBJEXT): Time.cpp ../../include/IceE/DisableWarnings.h ../../include/IceE/Time.h ../../include/IceE/Config.h TraceLevels$(OBJEXT): TraceLevels.cpp ../IceE/TraceLevels.h ../../include/IceE/Shared.h ../../include/IceE/Config.h ../../include/IceE/TraceLevelsF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/PropertiesF.h ../../include/IceE/Properties.h ../../include/IceE/Mutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/Exception.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/ObjectF.h ../../include/IceE/ScopedArray.h ../../include/IceE/Proxy.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/CommunicatorF.h ../../include/IceE/Identity.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h TraceUtil$(OBJEXT): TraceUtil.cpp ../IceE/TraceUtil.h ../../include/IceE/TraceLevelsF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../../include/IceE/LoggerF.h ../../include/IceE/StringUtil.h ../../include/IceE/DispatchStatus.h ../IceE/TraceLevels.h ../../include/IceE/PropertiesF.h ../../include/IceE/Logger.h ../../include/IceE/BasicStream.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../../include/IceE/Exception.h ../../include/IceE/SafeStdio.h ../../include/IceE/OperationMode.h ../../include/IceE/Identity.h ../../include/IceE/ObjectF.h ../../include/IceE/ScopedArray.h ../../include/IceE/UndefSysMacros.h ../IceE/Instance.h ../../include/IceE/InstanceF.h ../../include/IceE/CommunicatorF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../IceE/EndpointFactoryF.h ../../include/IceE/ObjectAdapterFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/Initialize.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/Proxy.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/Mutex.h ../../include/IceE/Outgoing.h -UnknownEndpoint$(OBJEXT): UnknownEndpoint.cpp ../IceE/UnknownEndpoint.h ../IceE/Endpoint.h ../../include/IceE/EndpointF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../IceE/ConnectorF.h ../../include/IceE/TransceiverF.h ../../include/IceE/InstanceF.h ../IceE/AcceptorF.h ../../include/IceE/BasicStream.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../../include/IceE/Exception.h ../IceE/Instance.h ../../include/IceE/CommunicatorF.h ../../include/IceE/PropertiesF.h ../../include/IceE/TraceLevelsF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../IceE/EndpointFactoryF.h ../../include/IceE/ObjectAdapterFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/Initialize.h ../../include/IceE/LoggerF.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/ObjectF.h ../../include/IceE/ScopedArray.h ../../include/IceE/Proxy.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/Mutex.h ../../include/IceE/Identity.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h +UnknownEndpoint$(OBJEXT): UnknownEndpoint.cpp ../IceE/UnknownEndpoint.h ../IceE/Endpoint.h ../../include/IceE/EndpointF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../IceE/ConnectorF.h ../../include/IceE/TransceiverF.h ../../include/IceE/InstanceF.h ../IceE/AcceptorF.h ../../include/IceE/BasicStream.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../../include/IceE/Exception.h ../../include/IceE/LocalException.h ../../include/IceE/Identity.h ../../include/IceE/ObjectF.h ../../include/IceE/ScopedArray.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/Proxy.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/CommunicatorF.h ../../include/IceE/Mutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../IceE/Instance.h ../../include/IceE/PropertiesF.h ../../include/IceE/TraceLevelsF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../IceE/EndpointFactoryF.h ../../include/IceE/ObjectAdapterFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Initialize.h ../../include/IceE/LoggerF.h ../../include/IceE/Base64.h Unicode$(OBJEXT): Unicode.cpp ../../include/IceE/Config.h ../../include/IceE/Unicode.h ../../include/IceE/Exception.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Handle.h ../IceE/ConvertUTF.h UUID$(OBJEXT): UUID.cpp ../../include/IceE/Config.h ../../include/IceE/UUID.h ../../include/IceE/Exception.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Handle.h ../../include/IceE/StaticMutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h Acceptor$(OBJEXT): ../../src/TcpTransport/Acceptor.cpp ../IceE/Acceptor.h ../../include/IceE/TransceiverF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../../include/IceE/InstanceF.h ../../include/IceE/TraceLevelsF.h ../../include/IceE/LoggerF.h ../IceE/AcceptorF.h ../IceE/Transceiver.h ../IceE/Instance.h ../../include/IceE/CommunicatorF.h ../../include/IceE/PropertiesF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../IceE/EndpointFactoryF.h ../../include/IceE/ObjectAdapterFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/Exception.h ../../include/IceE/Initialize.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/ObjectF.h ../../include/IceE/ScopedArray.h ../../include/IceE/Proxy.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/Mutex.h ../../include/IceE/Identity.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../IceE/TraceLevels.h ../../include/IceE/LoggerUtil.h ../IceE/Network.h Connector$(OBJEXT): ../../src/TcpTransport/Connector.cpp ../IceE/Connector.h ../IceE/ConnectorF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../../include/IceE/TransceiverF.h ../../include/IceE/InstanceF.h ../../include/IceE/TraceLevelsF.h ../../include/IceE/LoggerF.h ../IceE/Transceiver.h ../IceE/Instance.h ../../include/IceE/CommunicatorF.h ../../include/IceE/PropertiesF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../IceE/EndpointFactoryF.h ../../include/IceE/ObjectAdapterFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/Exception.h ../../include/IceE/Initialize.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/ObjectF.h ../../include/IceE/ScopedArray.h ../../include/IceE/Proxy.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/Mutex.h ../../include/IceE/Identity.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../IceE/TraceLevels.h ../../include/IceE/LoggerUtil.h ../IceE/Network.h -EndpointFactory$(OBJEXT): ../../src/TcpTransport/EndpointFactory.cpp ../IceE/EndpointFactory.h ../IceE/EndpointFactoryF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../../include/IceE/EndpointF.h ../../include/IceE/InstanceF.h ../IceE/UnknownEndpoint.h ../IceE/Endpoint.h ../IceE/ConnectorF.h ../../include/IceE/TransceiverF.h ../IceE/AcceptorF.h ../../include/IceE/LocalException.h ../../include/IceE/Exception.h ../../include/IceE/Identity.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/ObjectF.h ../../include/IceE/ScopedArray.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/Proxy.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/CommunicatorF.h ../../include/IceE/Mutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../TcpTransport/TcpEndpoint.h +EndpointFactory$(OBJEXT): ../../src/TcpTransport/EndpointFactory.cpp ../IceE/EndpointFactory.h ../IceE/EndpointFactoryF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../../include/IceE/EndpointF.h ../../include/IceE/InstanceF.h ../IceE/UnknownEndpoint.h ../IceE/Endpoint.h ../IceE/ConnectorF.h ../../include/IceE/TransceiverF.h ../IceE/AcceptorF.h ../../include/IceE/LocalException.h ../../include/IceE/Exception.h ../../include/IceE/Identity.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/ObjectF.h ../../include/IceE/ScopedArray.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/Proxy.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/CommunicatorF.h ../../include/IceE/Mutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../IceE/Instance.h ../../include/IceE/PropertiesF.h ../../include/IceE/TraceLevelsF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../../include/IceE/ObjectAdapterFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Initialize.h ../../include/IceE/LoggerF.h ../TcpTransport/TcpEndpoint.h TcpEndpoint$(OBJEXT): ../../src/TcpTransport/TcpEndpoint.cpp ../TcpTransport/TcpEndpoint.h ../IceE/Endpoint.h ../../include/IceE/EndpointF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../IceE/ConnectorF.h ../../include/IceE/TransceiverF.h ../../include/IceE/InstanceF.h ../IceE/AcceptorF.h ../IceE/Network.h ../IceE/Connector.h ../../include/IceE/TraceLevelsF.h ../../include/IceE/LoggerF.h ../IceE/Transceiver.h ../../include/IceE/BasicStream.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../../include/IceE/Exception.h ../../include/IceE/LocalException.h ../../include/IceE/Identity.h ../../include/IceE/ObjectF.h ../../include/IceE/ScopedArray.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/Proxy.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/CommunicatorF.h ../../include/IceE/Mutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../IceE/Instance.h ../../include/IceE/PropertiesF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../IceE/EndpointFactoryF.h ../../include/IceE/ObjectAdapterFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Initialize.h ../IceE/DefaultsAndOverrides.h ../../include/IceE/SafeStdio.h ../IceE/Acceptor.h Transceiver$(OBJEXT): ../../src/TcpTransport/Transceiver.cpp ../IceE/Transceiver.h ../../include/IceE/TransceiverF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../../include/IceE/InstanceF.h ../../include/IceE/TraceLevelsF.h ../../include/IceE/LoggerF.h ../IceE/Instance.h ../../include/IceE/CommunicatorF.h ../../include/IceE/PropertiesF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../IceE/EndpointFactoryF.h ../../include/IceE/ObjectAdapterFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/Exception.h ../../include/IceE/Initialize.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/ObjectF.h ../../include/IceE/ScopedArray.h ../../include/IceE/Proxy.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/Mutex.h ../../include/IceE/Identity.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../IceE/TraceLevels.h ../../include/IceE/LoggerUtil.h ../IceE/Network.h ../../include/IceE/LocalException.h ../../include/IceE/SafeStdio.h BuiltinSequences.cpp: ../../slice/IceE/BuiltinSequences.ice diff --git a/cppe/src/IceE/Base64.cpp b/cppe/src/IceE/Base64.cpp new file mode 100644 index 00000000000..d9163c066d8 --- /dev/null +++ b/cppe/src/IceE/Base64.cpp @@ -0,0 +1,268 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved. +// +// This copy of Ice-E is licensed to you under the terms described in the +// ICEE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#include <IceE/Base64.h> + +using namespace std; + +string +IceUtil::Base64::encode(const vector<unsigned char>& plainSeq) +{ + string retval; + + if(plainSeq.size() == 0) + { + return retval; + } + + // Reserve enough space for the returned base64 string + size_t base64Bytes = (((plainSeq.size() * 4) / 3) + 1); + size_t newlineBytes = (((base64Bytes * 2) / 76) + 1); + size_t totalBytes = base64Bytes + newlineBytes; + + retval.reserve(totalBytes); + + unsigned char by1 = 0; + unsigned char by2 = 0; + unsigned char by3 = 0; + unsigned char by4 = 0; + unsigned char by5 = 0; + unsigned char by6 = 0; + unsigned char by7 = 0; + + for(size_t i = 0; i < plainSeq.size(); i += 3) + { + by1 = plainSeq[i]; + by2 = 0; + by3 = 0; + + if((i + 1) < plainSeq.size()) + { + by2 = plainSeq[i+1]; + } + + if((i + 2) < plainSeq.size()) + { + by3 = plainSeq[i+2]; + } + + by4 = by1 >> 2; + by5 = ((by1 & 0x3) << 4) | (by2 >> 4); + by6 = ((by2 & 0xf) << 2) | (by3 >> 6); + by7 = by3 & 0x3f; + + retval += encode(by4); + retval += encode(by5); + + if((i + 1) < plainSeq.size()) + { + retval += encode(by6); + } + else + { + retval += "="; + } + + if((i + 2) < plainSeq.size()) + { + retval += encode(by7); + } + else + { + retval += "="; + } + } + + string outString; + outString.reserve(totalBytes); + string::iterator iter = retval.begin(); + + while((retval.end() - iter) > 76) + { + copy(iter, iter+76, back_inserter(outString)); + outString += "\r\n"; + iter += 76; + } + + copy(iter, retval.end(), back_inserter(outString)); + + return outString; +} + +vector<unsigned char> +IceUtil::Base64::decode(const string& str) +{ + string newStr; + + newStr.reserve(str.length()); + + for(size_t j = 0; j < str.length(); j++) + { + if(isBase64(str[j])) + { + newStr += str[j]; + } + } + + vector<unsigned char> retval; + + if(newStr.length() == 0) + { + return retval; + } + + // Note: This is how we were previously computing the size of the return + // sequence. The method below is more efficient (and correct). + // size_t lines = str.size() / 78; + // size_t totalBytes = (lines * 76) + (((str.size() - (lines * 78)) * 3) / 4); + + // Figure out how long the final sequence is going to be. + size_t totalBytes = (newStr.size() * 3 / 4) + 1; + + retval.reserve(totalBytes); + + unsigned char by1 = 0; + unsigned char by2 = 0; + unsigned char by3 = 0; + unsigned char by4 = 0; + + char c1, c2, c3, c4; + + for(size_t i = 0; i < newStr.length(); i += 4) + { + c1 = 'A'; + c2 = 'A'; + c3 = 'A'; + c4 = 'A'; + + c1 = newStr[i]; + + if((i + 1) < newStr.length()) + { + c2 = newStr[i + 1]; + } + + if((i + 2) < newStr.length()) + { + c3 = newStr[i + 2]; + } + + if((i + 3) < newStr.length()) + { + c4 = newStr[i + 3]; + } + + by1 = decode(c1); + by2 = decode(c2); + by3 = decode(c3); + by4 = decode(c4); + + retval.push_back((by1 << 2) | (by2 >> 4)); + + if(c3 != '=') + { + retval.push_back(((by2 & 0xf) << 4) | (by3 >> 2)); + } + + if(c4 != '=') + { + retval.push_back(((by3 & 0x3) << 6) | by4); + } + } + + return retval; +} + +bool +IceUtil::Base64::isBase64(char c) +{ + if(c >= 'A' && c <= 'Z') + { + return true; + } + + if(c >= 'a' && c <= 'z') + { + return true; + } + + if(c >= '0' && c <= '9') + { + return true; + } + + if(c == '+') + { + return true; + } + + if(c == '/') + { + return true; + } + + if(c == '=') + { + return true; + } + + return false; +} + +char +IceUtil::Base64::encode(unsigned char uc) +{ + if(uc < 26) + { + return 'A' + uc; + } + + if(uc < 52) + { + return 'a' + (uc - 26); + } + + if(uc < 62) + { + return '0' + (uc - 52); + } + + if(uc == 62) + { + return '+'; + } + + return '/'; +} + +unsigned char +IceUtil::Base64::decode(char c) +{ + if(c >= 'A' && c <= 'Z') + { + return c - 'A'; + } + + if(c >= 'a' && c <= 'z') + { + return c - 'a' + 26; + } + + if(c >= '0' && c <= '9') + { + return c - '0' + 52; + } + + if(c == '+') + { + return 62; + } + + return 63; +} diff --git a/cppe/src/IceE/Makefile b/cppe/src/IceE/Makefile index 8169f6809f3..de7e2d571c0 100644 --- a/cppe/src/IceE/Makefile +++ b/cppe/src/IceE/Makefile @@ -26,7 +26,8 @@ TRANSPORT_OBJS = Acceptor.o \ TcpEndpoint.o \ Transceiver.o -LOCAL_OBJS = BasicStream.o \ +LOCAL_OBJS = Base64.o \ + BasicStream.o \ Buffer.o \ BuiltinSequences.o \ Communicator.o \ diff --git a/cppe/src/IceE/Makefile.mak b/cppe/src/IceE/Makefile.mak index 1aa9afd2f13..ef0622bcb9c 100755 --- a/cppe/src/IceE/Makefile.mak +++ b/cppe/src/IceE/Makefile.mak @@ -22,7 +22,8 @@ TRANSPORT_OBJS = Acceptor.obj \ TcpEndpoint.obj \ Transceiver.obj -LOCAL_OBJS = BasicStream.obj \ +LOCAL_OBJS = Base64.obj \ + BasicStream.obj \ Buffer.obj \ BuiltinSequences.obj \ Communicator.obj \ diff --git a/cppe/src/IceE/UnknownEndpoint.cpp b/cppe/src/IceE/UnknownEndpoint.cpp index eeafd303504..bf6beb5d983 100644 --- a/cppe/src/IceE/UnknownEndpoint.cpp +++ b/cppe/src/IceE/UnknownEndpoint.cpp @@ -9,13 +9,114 @@ #include <IceE/UnknownEndpoint.h> #include <IceE/BasicStream.h> -#include <IceE/Exception.h> +#include <IceE/LocalException.h> #include <IceE/Instance.h> +#include <IceE/Base64.h> using namespace std; using namespace Ice; using namespace IceInternal; +IceInternal::UnknownEndpoint::UnknownEndpoint(const string& str) +{ + const string delim = " \t\n\r"; + + string::size_type beg; + string::size_type end = 0; + + int topt = 0; + int vopt = 0; + + while(true) + { + beg = str.find_first_not_of(delim, end); + if(beg == string::npos) + { + break; + } + + end = str.find_first_of(delim, beg); + if(end == string::npos) + { + end = str.length(); + } + + string option = str.substr(beg, end - beg); + if(option.length() != 2 || option[0] != '-') + { + EndpointParseException ex(__FILE__, __LINE__); + ex.str = "opaque " + str; + throw ex; + } + + string argument; + string::size_type argumentBeg = str.find_first_not_of(delim, end); + if(argumentBeg != string::npos && str[argumentBeg] != '-') + { + beg = argumentBeg; + end = str.find_first_of(delim, beg); + if(end == string::npos) + { + end = str.length(); + } + argument = str.substr(beg, end - beg); + } + + switch(option[1]) + { + case 't': + { + Ice::Int t; + const_cast<Int&>(t) = atoi(argument.c_str()); + if(t < 0 || t > 65535) + { + EndpointParseException ex(__FILE__, __LINE__); + ex.str = "opaque " + str; + throw ex; + } + _type = static_cast<Ice::Short>(t); + ++topt; + break; + } + + case 'v': + { + if(argument.empty()) + { + EndpointParseException ex(__FILE__, __LINE__); + ex.str = "opaque " + str; + throw ex; + } + for(string::size_type i = 0; i < argument.size(); ++i) + { + if(!IceUtil::Base64::isBase64(argument[i])) + { + EndpointParseException ex(__FILE__, __LINE__); + ex.str = "opaque " + str; + throw ex; + } + const_cast<vector<Byte>&>(_rawBytes) = IceUtil::Base64::decode(argument); + } + ++vopt; + break; + } + + default: + { + EndpointParseException ex(__FILE__, __LINE__); + ex.str = "opaque " + str; + throw ex; + } + } + } + if(topt != 1 || vopt != 1) + { + EndpointParseException ex(__FILE__, __LINE__); + ex.str = "opaque " + str; + throw ex; + } +} + IceInternal::UnknownEndpoint::UnknownEndpoint(Short type, BasicStream* s) : _instance(s->instance()), _type(type) diff --git a/cppe/src/IceE/UnknownEndpoint.h b/cppe/src/IceE/UnknownEndpoint.h index c9f6b10ef03..5ce05218bf9 100644 --- a/cppe/src/IceE/UnknownEndpoint.h +++ b/cppe/src/IceE/UnknownEndpoint.h @@ -19,6 +19,7 @@ class UnknownEndpoint : public Endpoint { public: + UnknownEndpoint(const std::string&); UnknownEndpoint(Ice::Short, BasicStream*); virtual void streamWrite(BasicStream*) const; diff --git a/cppe/src/IceEC/.depend b/cppe/src/IceEC/.depend index d79973645c9..a12a5a13f11 100644 --- a/cppe/src/IceEC/.depend +++ b/cppe/src/IceEC/.depend @@ -1,3 +1,4 @@ +Base64$(OBJEXT): ../../src/IceE/Base64.cpp ../../include/IceE/Base64.h ../../include/IceE/Config.h BasicStream$(OBJEXT): ../../src/IceE/BasicStream.cpp ../../include/IceE/DisableWarnings.h ../../include/IceE/Properties.h ../../include/IceE/PropertiesF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../../include/IceE/Mutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/Exception.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/ScopedArray.h ../../include/IceE/Proxy.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/CommunicatorF.h ../../include/IceE/Identity.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../IceE/Instance.h ../../include/IceE/InstanceF.h ../../include/IceE/TraceLevelsF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../IceE/EndpointFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Initialize.h ../../include/IceE/LoggerF.h ../IceE/ProxyFactory.h ../../include/IceE/UserExceptionFactory.h ../../include/IceE/LocalException.h ../../include/IceE/FactoryTable.h ../../include/IceE/FactoryTableDef.h ../../include/IceE/UserExceptionFactoryF.h ../../include/IceE/StaticMutex.h ../../include/IceE/LoggerUtil.h Buffer$(OBJEXT): ../../src/IceE/Buffer.cpp ../../include/IceE/Buffer.h ../../include/IceE/Config.h ../../include/IceE/LocalException.h ../../include/IceE/Exception.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Handle.h ../../include/IceE/Identity.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/ScopedArray.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/Proxy.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/Shared.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/CommunicatorF.h ../../include/IceE/Mutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h BuiltinSequences$(OBJEXT): ../../src/IceE/BuiltinSequences.cpp ../../include/IceE/BuiltinSequences.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Exception.h ../../include/IceE/ScopedArray.h ../../include/IceE/Proxy.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/Shared.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/CommunicatorF.h ../../include/IceE/Mutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/Identity.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../../include/IceE/Iterator.h ../../include/IceE/DisableWarnings.h @@ -42,10 +43,10 @@ ThreadException$(OBJEXT): ../../src/IceE/ThreadException.cpp ../../include/IceE/ Time$(OBJEXT): ../../src/IceE/Time.cpp ../../include/IceE/DisableWarnings.h ../../include/IceE/Time.h ../../include/IceE/Config.h TraceLevels$(OBJEXT): ../../src/IceE/TraceLevels.cpp ../IceE/TraceLevels.h ../../include/IceE/Shared.h ../../include/IceE/Config.h ../../include/IceE/TraceLevelsF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/PropertiesF.h ../../include/IceE/Properties.h ../../include/IceE/Mutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/Exception.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/ScopedArray.h ../../include/IceE/Proxy.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/CommunicatorF.h ../../include/IceE/Identity.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h TraceUtil$(OBJEXT): ../../src/IceE/TraceUtil.cpp ../IceE/TraceUtil.h ../../include/IceE/TraceLevelsF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../../include/IceE/LoggerF.h ../../include/IceE/StringUtil.h ../../include/IceE/DispatchStatus.h ../IceE/TraceLevels.h ../../include/IceE/PropertiesF.h ../../include/IceE/Logger.h ../../include/IceE/BasicStream.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../../include/IceE/Exception.h ../../include/IceE/SafeStdio.h ../../include/IceE/OperationMode.h ../../include/IceE/Identity.h ../../include/IceE/ScopedArray.h ../../include/IceE/UndefSysMacros.h ../IceE/Instance.h ../../include/IceE/InstanceF.h ../../include/IceE/CommunicatorF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../IceE/EndpointFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/Initialize.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/Proxy.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/Mutex.h ../../include/IceE/Outgoing.h -UnknownEndpoint$(OBJEXT): ../../src/IceE/UnknownEndpoint.cpp ../IceE/UnknownEndpoint.h ../IceE/Endpoint.h ../../include/IceE/EndpointF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../IceE/ConnectorF.h ../../include/IceE/TransceiverF.h ../../include/IceE/InstanceF.h ../../include/IceE/BasicStream.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../../include/IceE/Exception.h ../IceE/Instance.h ../../include/IceE/CommunicatorF.h ../../include/IceE/PropertiesF.h ../../include/IceE/TraceLevelsF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../IceE/EndpointFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/Initialize.h ../../include/IceE/LoggerF.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/ScopedArray.h ../../include/IceE/Proxy.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/Mutex.h ../../include/IceE/Identity.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h +UnknownEndpoint$(OBJEXT): ../../src/IceE/UnknownEndpoint.cpp ../IceE/UnknownEndpoint.h ../IceE/Endpoint.h ../../include/IceE/EndpointF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../IceE/ConnectorF.h ../../include/IceE/TransceiverF.h ../../include/IceE/InstanceF.h ../../include/IceE/BasicStream.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../../include/IceE/Exception.h ../../include/IceE/LocalException.h ../../include/IceE/Identity.h ../../include/IceE/ScopedArray.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/Proxy.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/CommunicatorF.h ../../include/IceE/Mutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../IceE/Instance.h ../../include/IceE/PropertiesF.h ../../include/IceE/TraceLevelsF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../IceE/EndpointFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Initialize.h ../../include/IceE/LoggerF.h ../../include/IceE/Base64.h Unicode$(OBJEXT): ../../src/IceE/Unicode.cpp ../../include/IceE/Config.h ../../include/IceE/Unicode.h ../../include/IceE/Exception.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Handle.h ../IceE/ConvertUTF.h Connector$(OBJEXT): ../../src/TcpTransport/Connector.cpp ../IceE/Connector.h ../IceE/ConnectorF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../../include/IceE/TransceiverF.h ../../include/IceE/InstanceF.h ../../include/IceE/TraceLevelsF.h ../../include/IceE/LoggerF.h ../IceE/Transceiver.h ../IceE/Instance.h ../../include/IceE/CommunicatorF.h ../../include/IceE/PropertiesF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../IceE/EndpointFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/Exception.h ../../include/IceE/Initialize.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/ScopedArray.h ../../include/IceE/Proxy.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/Mutex.h ../../include/IceE/Identity.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../IceE/TraceLevels.h ../../include/IceE/LoggerUtil.h ../IceE/Network.h -EndpointFactory$(OBJEXT): ../../src/TcpTransport/EndpointFactory.cpp ../IceE/EndpointFactory.h ../IceE/EndpointFactoryF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../../include/IceE/EndpointF.h ../../include/IceE/InstanceF.h ../IceE/UnknownEndpoint.h ../IceE/Endpoint.h ../IceE/ConnectorF.h ../../include/IceE/TransceiverF.h ../../include/IceE/LocalException.h ../../include/IceE/Exception.h ../../include/IceE/Identity.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/ScopedArray.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/Proxy.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/CommunicatorF.h ../../include/IceE/Mutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../TcpTransport/TcpEndpoint.h +EndpointFactory$(OBJEXT): ../../src/TcpTransport/EndpointFactory.cpp ../IceE/EndpointFactory.h ../IceE/EndpointFactoryF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../../include/IceE/EndpointF.h ../../include/IceE/InstanceF.h ../IceE/UnknownEndpoint.h ../IceE/Endpoint.h ../IceE/ConnectorF.h ../../include/IceE/TransceiverF.h ../../include/IceE/LocalException.h ../../include/IceE/Exception.h ../../include/IceE/Identity.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/ScopedArray.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/Proxy.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/CommunicatorF.h ../../include/IceE/Mutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../IceE/Instance.h ../../include/IceE/PropertiesF.h ../../include/IceE/TraceLevelsF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Initialize.h ../../include/IceE/LoggerF.h ../TcpTransport/TcpEndpoint.h TcpEndpoint$(OBJEXT): ../../src/TcpTransport/TcpEndpoint.cpp ../TcpTransport/TcpEndpoint.h ../IceE/Endpoint.h ../../include/IceE/EndpointF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../IceE/ConnectorF.h ../../include/IceE/TransceiverF.h ../../include/IceE/InstanceF.h ../IceE/Network.h ../IceE/Connector.h ../../include/IceE/TraceLevelsF.h ../../include/IceE/LoggerF.h ../IceE/Transceiver.h ../../include/IceE/BasicStream.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../../include/IceE/Exception.h ../../include/IceE/LocalException.h ../../include/IceE/Identity.h ../../include/IceE/ScopedArray.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/Proxy.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/CommunicatorF.h ../../include/IceE/Mutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../IceE/Instance.h ../../include/IceE/PropertiesF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../IceE/EndpointFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Initialize.h ../IceE/DefaultsAndOverrides.h ../../include/IceE/SafeStdio.h Transceiver$(OBJEXT): ../../src/TcpTransport/Transceiver.cpp ../IceE/Transceiver.h ../../include/IceE/TransceiverF.h ../../include/IceE/Handle.h ../../include/IceE/ExceptionBase.h ../../include/IceE/Config.h ../../include/IceE/Shared.h ../../include/IceE/InstanceF.h ../../include/IceE/TraceLevelsF.h ../../include/IceE/LoggerF.h ../IceE/Instance.h ../../include/IceE/CommunicatorF.h ../../include/IceE/PropertiesF.h ../IceE/DefaultsAndOverridesF.h ../../include/IceE/RouterInfoF.h ../../include/IceE/LocatorInfoF.h ../IceE/ReferenceFactoryF.h ../../include/IceE/ProxyFactoryF.h ../../include/IceE/OutgoingConnectionFactoryF.h ../IceE/EndpointFactoryF.h ../../include/IceE/RecMutex.h ../../include/IceE/Lock.h ../../include/IceE/ThreadException.h ../../include/IceE/Exception.h ../../include/IceE/Initialize.h ../../include/IceE/BuiltinSequences.h ../../include/IceE/ProxyF.h ../../include/IceE/ProxyHandle.h ../../include/IceE/ScopedArray.h ../../include/IceE/Proxy.h ../../include/IceE/ConnectionF.h ../../include/IceE/ReferenceF.h ../../include/IceE/Mutex.h ../../include/IceE/Identity.h ../../include/IceE/UndefSysMacros.h ../../include/IceE/OperationMode.h ../../include/IceE/Outgoing.h ../../include/IceE/BasicStream.h ../../include/IceE/Buffer.h ../../include/IceE/Protocol.h ../../include/IceE/StringConverter.h ../IceE/TraceLevels.h ../../include/IceE/LoggerUtil.h ../IceE/Network.h ../../include/IceE/LocalException.h ../../include/IceE/SafeStdio.h BuiltinSequences.cpp: ../../slice/IceE/BuiltinSequences.ice diff --git a/cppe/src/IceEC/Makefile b/cppe/src/IceEC/Makefile index a53da77b7f8..1b713964c27 100644 --- a/cppe/src/IceEC/Makefile +++ b/cppe/src/IceEC/Makefile @@ -24,7 +24,8 @@ TRANSPORT_OBJS = Connector.o \ TcpEndpoint.o \ Transceiver.o -ICE_OBJS = BasicStream.o \ +ICE_OBJS = Base64.o \ + BasicStream.o \ Buffer.o \ BuiltinSequences.o \ Communicator.o \ diff --git a/cppe/src/IceEC/Makefile.mak b/cppe/src/IceEC/Makefile.mak index 2da5bcad3bc..1fa3d1ad123 100755 --- a/cppe/src/IceEC/Makefile.mak +++ b/cppe/src/IceEC/Makefile.mak @@ -22,7 +22,8 @@ TRANSPORT_OBJS = Connector.obj \ TcpEndpoint.obj \ Transceiver.obj -ICEE_OBJS = BasicStream.obj \ +ICEE_OBJS = Base64.obj \ + BasicStream.obj \ Buffer.obj \ BuiltinSequences.obj \ Communicator.obj \ diff --git a/cppe/src/TcpTransport/EndpointFactory.cpp b/cppe/src/TcpTransport/EndpointFactory.cpp index 0c865dcc887..f95bb72f9d8 100644 --- a/cppe/src/TcpTransport/EndpointFactory.cpp +++ b/cppe/src/TcpTransport/EndpointFactory.cpp @@ -11,6 +11,7 @@ #include <IceE/UnknownEndpoint.h> #include <IceE/LocalException.h> #include <IceE/BasicStream.h> +#include <IceE/Instance.h> #include <TcpTransport/TcpEndpoint.h> using namespace std; @@ -54,6 +55,34 @@ IceInternal::EndpointFactory::create(const std::string& str) const return new TcpEndpoint(_instance, str.substr(end)); } + // + // If the stringified endpoint is opaque, create an unknown endpoint, + // then see whether the type matches one of the known endpoints. + // + if(protocol == "opaque") + { + EndpointPtr ue = new UnknownEndpoint(str.substr(end)); + if(ue->type() == TcpEndpointType) + { + // + // Make a temporary stream, write the opaque endpoint data into the stream, + // and ask the factory to read the endpoint data from that stream to create + // the actual endpoint. + // + BasicStream bs(_instance.get(), _instance->messageSizeMax(), +#ifdef ICEE_HAS_WSTRING + _instance->initializationData().stringConverter, + _instance->initializationData().wstringConverter +#endif + ); + ue->streamWrite(&bs); + bs.i = bs.b.begin(); + short type; + bs.read(type); + return new TcpEndpoint(&bs); + } + } + return 0; } |