diff options
author | Benoit Foucher <benoit@zeroc.com> | 2012-04-26 18:37:38 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2012-04-26 18:37:38 +0200 |
commit | de59ae055c776b69a9552335f2ce9920ae1e7305 (patch) | |
tree | 2f2b3a439650fd1a2ccd8d9fe5264f8239f7ebe8 /cpp | |
parent | Merge remote-tracking branch 'origin/master' into encoding11 (diff) | |
download | ice-de59ae055c776b69a9552335f2ce9920ae1e7305.tar.bz2 ice-de59ae055c776b69a9552335f2ce9920ae1e7305.tar.xz ice-de59ae055c776b69a9552335f2ce9920ae1e7305.zip |
Win32 fixes, C# port
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/include/Ice/Protocol.h | 20 | ||||
-rw-r--r-- | cpp/src/Ice/IncomingAsync.cpp | 15 | ||||
-rw-r--r-- | cpp/src/Ice/Makefile.mak | 3 | ||||
-rw-r--r-- | cpp/src/Ice/Object.cpp | 9 | ||||
-rw-r--r-- | cpp/src/Ice/PropertyNames.cpp | 214 | ||||
-rw-r--r-- | cpp/src/Ice/PropertyNames.h | 2 | ||||
-rw-r--r-- | cpp/src/Ice/Proxy.cpp | 66 | ||||
-rw-r--r-- | cpp/src/IceDB/FreezeTypes.cpp | 6 | ||||
-rw-r--r-- | cpp/src/IceDB/FreezeTypes.h | 2 | ||||
-rw-r--r-- | cpp/src/IceDB/IceDB.h | 4 | ||||
-rw-r--r-- | cpp/src/IceDB/SqlTypes.cpp | 18 | ||||
-rw-r--r-- | cpp/src/IceDB/SqlTypes.h | 8 | ||||
-rw-r--r-- | cpp/src/IceGrid/SqlDB/SqlDB.cpp | 9 | ||||
-rw-r--r-- | cpp/src/IceGrid/SqlDB/SqlDB.h | 3 | ||||
-rw-r--r-- | cpp/src/IceGrid/SqlDB/SqlStringApplicationInfoDict.cpp | 6 | ||||
-rw-r--r-- | cpp/src/IceStorm/Service.cpp | 1 | ||||
-rw-r--r-- | cpp/src/IceStorm/SqlDB/SqlDB.cpp | 9 | ||||
-rw-r--r-- | cpp/src/IceStorm/SqlDB/SqlDB.h | 3 | ||||
-rw-r--r-- | cpp/src/slice2cs/Gen.cpp | 109 |
19 files changed, 395 insertions, 112 deletions
diff --git a/cpp/include/Ice/Protocol.h b/cpp/include/Ice/Protocol.h index baa0e7cbebb..cf14d1b85a8 100644 --- a/cpp/include/Ice/Protocol.h +++ b/cpp/include/Ice/Protocol.h @@ -75,7 +75,7 @@ enum ProtocolSupport // Forward declaration class BasicStream; -void stringToMajorMinor(const ::std::string&, Ice::Byte&, Ice::Byte&); +ICE_API void stringToMajorMinor(const ::std::string&, Ice::Byte&, Ice::Byte&); template<typename T> std::string versionToString(const T& v) @@ -99,23 +99,25 @@ isSupported(const T& version, const T& supported) return version.major == supported.major && version.minor <= supported.minor; } -void throwUnsupportedProtocolException(const char*, int, const Ice::ProtocolVersion&, const Ice::ProtocolVersion&); -void throwUnsupportedEncodingException(const char*, int, const Ice::EncodingVersion&, const Ice::EncodingVersion&); +ICE_API void throwUnsupportedProtocolException(const char*, int, const Ice::ProtocolVersion&, + const Ice::ProtocolVersion&); +ICE_API void throwUnsupportedEncodingException(const char*, int, const Ice::EncodingVersion&, + const Ice::EncodingVersion&); } namespace Ice { -extern const ProtocolVersion Protocol_1_0; +ICE_API extern const ProtocolVersion Protocol_1_0; -extern const EncodingVersion Encoding_1_0; -extern const EncodingVersion Encoding_1_1; +ICE_API extern const EncodingVersion Encoding_1_0; +ICE_API extern const EncodingVersion Encoding_1_1; -extern const ProtocolVersion currentProtocol; -extern const EncodingVersion currentProtocolEncoding; +ICE_API extern const ProtocolVersion currentProtocol; +ICE_API extern const EncodingVersion currentProtocolEncoding; -extern const EncodingVersion currentEncoding; +ICE_API extern const EncodingVersion currentEncoding; inline ::std::string protocolVersionToString(const Ice::ProtocolVersion& v) diff --git a/cpp/src/Ice/IncomingAsync.cpp b/cpp/src/Ice/IncomingAsync.cpp index 91b9ab3eb80..b6997321a7f 100644 --- a/cpp/src/Ice/IncomingAsync.cpp +++ b/cpp/src/Ice/IncomingAsync.cpp @@ -295,13 +295,20 @@ IceAsync::Ice::AMD_Object_ice_invoke::AMD_Object_ice_invoke(Incoming& in) : } void -IceAsync::Ice::AMD_Object_ice_invoke::ice_response(bool ok, const vector<Byte>& outParams) +IceAsync::Ice::AMD_Object_ice_invoke::ice_response(bool ok, const vector<Byte>& outEncaps) { if(__validateResponse(ok)) { try { - __writeParamEncaps(&outParams[0], outParams.size(), ok); + if(outEncaps.empty()) + { + __writeParamEncaps(0, 0, ok); + } + else + { + __writeParamEncaps(&outEncaps[0], outEncaps.size(), ok); + } } catch(const LocalException& ex) { @@ -313,13 +320,13 @@ IceAsync::Ice::AMD_Object_ice_invoke::ice_response(bool ok, const vector<Byte>& } void -IceAsync::Ice::AMD_Object_ice_invoke::ice_response(bool ok, const pair<const Byte*, const Byte*>& outParams) +IceAsync::Ice::AMD_Object_ice_invoke::ice_response(bool ok, const pair<const Byte*, const Byte*>& outEncaps) { if(__validateResponse(ok)) { try { - __writeParamEncaps(outParams.first, static_cast<Int>(outParams.second - outParams.first), ok); + __writeParamEncaps(outEncaps.first, static_cast<Int>(outEncaps.second - outEncaps.first), ok); } catch(const LocalException& ex) { diff --git a/cpp/src/Ice/Makefile.mak b/cpp/src/Ice/Makefile.mak index b6410234852..b0ced6dad2d 100644 --- a/cpp/src/Ice/Makefile.mak +++ b/cpp/src/Ice/Makefile.mak @@ -106,7 +106,8 @@ OBJS = Acceptor.obj \ Transceiver.obj \
UdpConnector.obj \
UdpEndpointI.obj \
- UdpTransceiver.obj
+ UdpTransceiver.obj \
+ Version.obj
SRCS = $(OBJS:.obj=.cpp)
diff --git a/cpp/src/Ice/Object.cpp b/cpp/src/Ice/Object.cpp index f2fafa34000..562ec3aab3d 100644 --- a/cpp/src/Ice/Object.cpp +++ b/cpp/src/Ice/Object.cpp @@ -392,7 +392,14 @@ Ice::BlobjectArray::__dispatch(Incoming& in, const Current& current) inEncaps.second = inEncaps.first + sz; vector<Byte> outEncaps; bool ok = ice_invoke(inEncaps, outEncaps, current); - in.__writeParamEncaps(&outEncaps[0], outEncaps.size(), ok); + if(outEncaps.empty()) + { + in.__writeParamEncaps(0, 0, ok); + } + else + { + in.__writeParamEncaps(&outEncaps[0], outEncaps.size(), ok); + } if(ok) { return DispatchOK; diff --git a/cpp/src/Ice/PropertyNames.cpp b/cpp/src/Ice/PropertyNames.cpp index bab6510cbfe..add274fe2cd 100644 --- a/cpp/src/Ice/PropertyNames.cpp +++ b/cpp/src/Ice/PropertyNames.cpp @@ -8,7 +8,7 @@ // ********************************************************************** // -// Generated by makeprops.py from file ../config/PropertyNames.xml, Tue Feb 14 13:07:25 2012 +// Generated by makeprops.py from file ../config/PropertyNames.xml, Thu Apr 26 11:33:35 2012 // IMPORTANT: Do not edit this file -- any edits made here will be lost! @@ -21,10 +21,28 @@ const IceInternal::Property IcePropsData[] = IceInternal::Property("Ice.Admin.ACM", false, 0), IceInternal::Property("Ice.Admin.AdapterId", false, 0), IceInternal::Property("Ice.Admin.Endpoints", false, 0), + IceInternal::Property("Ice.Admin.Locator.EndpointSelection", false, 0), + IceInternal::Property("Ice.Admin.Locator.ConnectionCached", false, 0), + IceInternal::Property("Ice.Admin.Locator.PreferSecure", false, 0), + IceInternal::Property("Ice.Admin.Locator.LocatorCacheTimeout", false, 0), + IceInternal::Property("Ice.Admin.Locator.Locator", false, 0), + IceInternal::Property("Ice.Admin.Locator.Router", false, 0), + IceInternal::Property("Ice.Admin.Locator.EncodingVersion", false, 0), + IceInternal::Property("Ice.Admin.Locator.CollocationOptimization", true, "Ice.Admin.Locator.CollocationOptimized"), + IceInternal::Property("Ice.Admin.Locator.CollocationOptimized", false, 0), IceInternal::Property("Ice.Admin.Locator", false, 0), IceInternal::Property("Ice.Admin.PublishedEndpoints", false, 0), IceInternal::Property("Ice.Admin.RegisterProcess", true, 0), IceInternal::Property("Ice.Admin.ReplicaGroupId", false, 0), + IceInternal::Property("Ice.Admin.Router.EndpointSelection", false, 0), + IceInternal::Property("Ice.Admin.Router.ConnectionCached", false, 0), + IceInternal::Property("Ice.Admin.Router.PreferSecure", false, 0), + IceInternal::Property("Ice.Admin.Router.LocatorCacheTimeout", false, 0), + IceInternal::Property("Ice.Admin.Router.Locator", false, 0), + IceInternal::Property("Ice.Admin.Router.Router", false, 0), + IceInternal::Property("Ice.Admin.Router.EncodingVersion", false, 0), + IceInternal::Property("Ice.Admin.Router.CollocationOptimization", true, "Ice.Admin.Router.CollocationOptimized"), + IceInternal::Property("Ice.Admin.Router.CollocationOptimized", false, 0), IceInternal::Property("Ice.Admin.Router", false, 0), IceInternal::Property("Ice.Admin.ProxyOptions", false, 0), IceInternal::Property("Ice.Admin.ThreadPool.Size", false, 0), @@ -46,6 +64,7 @@ const IceInternal::Property IcePropsData[] = IceInternal::Property("Ice.ConsoleListener", false, 0), IceInternal::Property("Ice.Default.CollocationOptimization", true, "Ice.Default.CollocationOptimized"), IceInternal::Property("Ice.Default.CollocationOptimized", false, 0), + IceInternal::Property("Ice.Default.EncodingVersion", false, 0), IceInternal::Property("Ice.Default.EndpointSelection", false, 0), IceInternal::Property("Ice.Default.Host", false, 0), IceInternal::Property("Ice.Default.Locator.EndpointSelection", false, 0), @@ -54,6 +73,7 @@ const IceInternal::Property IcePropsData[] = IceInternal::Property("Ice.Default.Locator.LocatorCacheTimeout", false, 0), IceInternal::Property("Ice.Default.Locator.Locator", false, 0), IceInternal::Property("Ice.Default.Locator.Router", false, 0), + IceInternal::Property("Ice.Default.Locator.EncodingVersion", false, 0), IceInternal::Property("Ice.Default.Locator.CollocationOptimization", true, "Ice.Default.Locator.CollocationOptimized"), IceInternal::Property("Ice.Default.Locator.CollocationOptimized", false, 0), IceInternal::Property("Ice.Default.Locator", false, 0), @@ -67,6 +87,7 @@ const IceInternal::Property IcePropsData[] = IceInternal::Property("Ice.Default.Router.LocatorCacheTimeout", false, 0), IceInternal::Property("Ice.Default.Router.Locator", false, 0), IceInternal::Property("Ice.Default.Router.Router", false, 0), + IceInternal::Property("Ice.Default.Router.EncodingVersion", false, 0), IceInternal::Property("Ice.Default.Router.CollocationOptimization", true, "Ice.Default.Router.CollocationOptimized"), IceInternal::Property("Ice.Default.Router.CollocationOptimized", false, 0), IceInternal::Property("Ice.Default.Router", false, 0), @@ -153,10 +174,28 @@ const IceInternal::Property IceBoxPropsData[] = IceInternal::Property("IceBox.ServiceManager.ACM", false, 0), IceInternal::Property("IceBox.ServiceManager.AdapterId", false, 0), IceInternal::Property("IceBox.ServiceManager.Endpoints", false, 0), + IceInternal::Property("IceBox.ServiceManager.Locator.EndpointSelection", false, 0), + IceInternal::Property("IceBox.ServiceManager.Locator.ConnectionCached", false, 0), + IceInternal::Property("IceBox.ServiceManager.Locator.PreferSecure", false, 0), + IceInternal::Property("IceBox.ServiceManager.Locator.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceBox.ServiceManager.Locator.Locator", false, 0), + IceInternal::Property("IceBox.ServiceManager.Locator.Router", false, 0), + IceInternal::Property("IceBox.ServiceManager.Locator.EncodingVersion", false, 0), + IceInternal::Property("IceBox.ServiceManager.Locator.CollocationOptimization", true, "IceBox.ServiceManager.Locator.CollocationOptimized"), + IceInternal::Property("IceBox.ServiceManager.Locator.CollocationOptimized", false, 0), IceInternal::Property("IceBox.ServiceManager.Locator", false, 0), IceInternal::Property("IceBox.ServiceManager.PublishedEndpoints", false, 0), IceInternal::Property("IceBox.ServiceManager.RegisterProcess", true, 0), IceInternal::Property("IceBox.ServiceManager.ReplicaGroupId", false, 0), + IceInternal::Property("IceBox.ServiceManager.Router.EndpointSelection", false, 0), + IceInternal::Property("IceBox.ServiceManager.Router.ConnectionCached", false, 0), + IceInternal::Property("IceBox.ServiceManager.Router.PreferSecure", false, 0), + IceInternal::Property("IceBox.ServiceManager.Router.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceBox.ServiceManager.Router.Locator", false, 0), + IceInternal::Property("IceBox.ServiceManager.Router.Router", false, 0), + IceInternal::Property("IceBox.ServiceManager.Router.EncodingVersion", false, 0), + IceInternal::Property("IceBox.ServiceManager.Router.CollocationOptimization", true, "IceBox.ServiceManager.Router.CollocationOptimized"), + IceInternal::Property("IceBox.ServiceManager.Router.CollocationOptimized", false, 0), IceInternal::Property("IceBox.ServiceManager.Router", false, 0), IceInternal::Property("IceBox.ServiceManager.ProxyOptions", false, 0), IceInternal::Property("IceBox.ServiceManager.ThreadPool.Size", false, 0), @@ -182,6 +221,7 @@ const IceInternal::Property IceBoxAdminPropsData[] = IceInternal::Property("IceBoxAdmin.ServiceManager.Proxy.LocatorCacheTimeout", false, 0), IceInternal::Property("IceBoxAdmin.ServiceManager.Proxy.Locator", false, 0), IceInternal::Property("IceBoxAdmin.ServiceManager.Proxy.Router", false, 0), + IceInternal::Property("IceBoxAdmin.ServiceManager.Proxy.EncodingVersion", false, 0), IceInternal::Property("IceBoxAdmin.ServiceManager.Proxy.CollocationOptimization", true, "IceBoxAdmin.ServiceManager.Proxy.CollocationOptimized"), IceInternal::Property("IceBoxAdmin.ServiceManager.Proxy.CollocationOptimized", false, 0), IceInternal::Property("IceBoxAdmin.ServiceManager.Proxy", false, 0), @@ -211,10 +251,28 @@ const IceInternal::Property IceGridPropsData[] = IceInternal::Property("IceGrid.Node.ACM", false, 0), IceInternal::Property("IceGrid.Node.AdapterId", false, 0), IceInternal::Property("IceGrid.Node.Endpoints", false, 0), + IceInternal::Property("IceGrid.Node.Locator.EndpointSelection", false, 0), + IceInternal::Property("IceGrid.Node.Locator.ConnectionCached", false, 0), + IceInternal::Property("IceGrid.Node.Locator.PreferSecure", false, 0), + IceInternal::Property("IceGrid.Node.Locator.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGrid.Node.Locator.Locator", false, 0), + IceInternal::Property("IceGrid.Node.Locator.Router", false, 0), + IceInternal::Property("IceGrid.Node.Locator.EncodingVersion", false, 0), + IceInternal::Property("IceGrid.Node.Locator.CollocationOptimization", true, "IceGrid.Node.Locator.CollocationOptimized"), + IceInternal::Property("IceGrid.Node.Locator.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Node.Locator", false, 0), IceInternal::Property("IceGrid.Node.PublishedEndpoints", false, 0), IceInternal::Property("IceGrid.Node.RegisterProcess", true, 0), IceInternal::Property("IceGrid.Node.ReplicaGroupId", false, 0), + IceInternal::Property("IceGrid.Node.Router.EndpointSelection", false, 0), + IceInternal::Property("IceGrid.Node.Router.ConnectionCached", false, 0), + IceInternal::Property("IceGrid.Node.Router.PreferSecure", false, 0), + IceInternal::Property("IceGrid.Node.Router.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGrid.Node.Router.Locator", false, 0), + IceInternal::Property("IceGrid.Node.Router.Router", false, 0), + IceInternal::Property("IceGrid.Node.Router.EncodingVersion", false, 0), + IceInternal::Property("IceGrid.Node.Router.CollocationOptimization", true, "IceGrid.Node.Router.CollocationOptimized"), + IceInternal::Property("IceGrid.Node.Router.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Node.Router", false, 0), IceInternal::Property("IceGrid.Node.ProxyOptions", false, 0), IceInternal::Property("IceGrid.Node.ThreadPool.Size", false, 0), @@ -247,6 +305,7 @@ const IceInternal::Property IceGridPropsData[] = IceInternal::Property("IceGrid.Node.UserAccountMapper.LocatorCacheTimeout", false, 0), IceInternal::Property("IceGrid.Node.UserAccountMapper.Locator", false, 0), IceInternal::Property("IceGrid.Node.UserAccountMapper.Router", false, 0), + IceInternal::Property("IceGrid.Node.UserAccountMapper.EncodingVersion", false, 0), IceInternal::Property("IceGrid.Node.UserAccountMapper.CollocationOptimization", true, "IceGrid.Node.UserAccountMapper.CollocationOptimized"), IceInternal::Property("IceGrid.Node.UserAccountMapper.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Node.UserAccountMapper", false, 0), @@ -258,6 +317,7 @@ const IceInternal::Property IceGridPropsData[] = IceInternal::Property("IceGrid.Registry.AdminPermissionsVerifier.LocatorCacheTimeout", false, 0), IceInternal::Property("IceGrid.Registry.AdminPermissionsVerifier.Locator", false, 0), IceInternal::Property("IceGrid.Registry.AdminPermissionsVerifier.Router", false, 0), + IceInternal::Property("IceGrid.Registry.AdminPermissionsVerifier.EncodingVersion", false, 0), IceInternal::Property("IceGrid.Registry.AdminPermissionsVerifier.CollocationOptimization", true, "IceGrid.Registry.AdminPermissionsVerifier.CollocationOptimized"), IceInternal::Property("IceGrid.Registry.AdminPermissionsVerifier.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Registry.AdminPermissionsVerifier", false, 0), @@ -265,10 +325,28 @@ const IceInternal::Property IceGridPropsData[] = IceInternal::Property("IceGrid.Registry.AdminSessionManager.ACM", false, 0), IceInternal::Property("IceGrid.Registry.AdminSessionManager.AdapterId", false, 0), IceInternal::Property("IceGrid.Registry.AdminSessionManager.Endpoints", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Locator.EndpointSelection", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Locator.ConnectionCached", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Locator.PreferSecure", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Locator.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Locator.Locator", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Locator.Router", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Locator.EncodingVersion", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Locator.CollocationOptimization", true, "IceGrid.Registry.AdminSessionManager.Locator.CollocationOptimized"), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Locator.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Registry.AdminSessionManager.Locator", false, 0), IceInternal::Property("IceGrid.Registry.AdminSessionManager.PublishedEndpoints", false, 0), IceInternal::Property("IceGrid.Registry.AdminSessionManager.RegisterProcess", true, 0), IceInternal::Property("IceGrid.Registry.AdminSessionManager.ReplicaGroupId", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Router.EndpointSelection", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Router.ConnectionCached", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Router.PreferSecure", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Router.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Router.Locator", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Router.Router", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Router.EncodingVersion", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Router.CollocationOptimization", true, "IceGrid.Registry.AdminSessionManager.Router.CollocationOptimized"), + IceInternal::Property("IceGrid.Registry.AdminSessionManager.Router.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Registry.AdminSessionManager.Router", false, 0), IceInternal::Property("IceGrid.Registry.AdminSessionManager.ProxyOptions", false, 0), IceInternal::Property("IceGrid.Registry.AdminSessionManager.ThreadPool.Size", false, 0), @@ -284,16 +362,35 @@ const IceInternal::Property IceGridPropsData[] = IceInternal::Property("IceGrid.Registry.AdminSSLPermissionsVerifier.LocatorCacheTimeout", false, 0), IceInternal::Property("IceGrid.Registry.AdminSSLPermissionsVerifier.Locator", false, 0), IceInternal::Property("IceGrid.Registry.AdminSSLPermissionsVerifier.Router", false, 0), + IceInternal::Property("IceGrid.Registry.AdminSSLPermissionsVerifier.EncodingVersion", false, 0), IceInternal::Property("IceGrid.Registry.AdminSSLPermissionsVerifier.CollocationOptimization", true, "IceGrid.Registry.AdminSSLPermissionsVerifier.CollocationOptimized"), IceInternal::Property("IceGrid.Registry.AdminSSLPermissionsVerifier.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Registry.AdminSSLPermissionsVerifier", false, 0), IceInternal::Property("IceGrid.Registry.Client.ACM", false, 0), IceInternal::Property("IceGrid.Registry.Client.AdapterId", false, 0), IceInternal::Property("IceGrid.Registry.Client.Endpoints", false, 0), + IceInternal::Property("IceGrid.Registry.Client.Locator.EndpointSelection", false, 0), + IceInternal::Property("IceGrid.Registry.Client.Locator.ConnectionCached", false, 0), + IceInternal::Property("IceGrid.Registry.Client.Locator.PreferSecure", false, 0), + IceInternal::Property("IceGrid.Registry.Client.Locator.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGrid.Registry.Client.Locator.Locator", false, 0), + IceInternal::Property("IceGrid.Registry.Client.Locator.Router", false, 0), + IceInternal::Property("IceGrid.Registry.Client.Locator.EncodingVersion", false, 0), + IceInternal::Property("IceGrid.Registry.Client.Locator.CollocationOptimization", true, "IceGrid.Registry.Client.Locator.CollocationOptimized"), + IceInternal::Property("IceGrid.Registry.Client.Locator.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Registry.Client.Locator", false, 0), IceInternal::Property("IceGrid.Registry.Client.PublishedEndpoints", false, 0), IceInternal::Property("IceGrid.Registry.Client.RegisterProcess", true, 0), IceInternal::Property("IceGrid.Registry.Client.ReplicaGroupId", false, 0), + IceInternal::Property("IceGrid.Registry.Client.Router.EndpointSelection", false, 0), + IceInternal::Property("IceGrid.Registry.Client.Router.ConnectionCached", false, 0), + IceInternal::Property("IceGrid.Registry.Client.Router.PreferSecure", false, 0), + IceInternal::Property("IceGrid.Registry.Client.Router.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGrid.Registry.Client.Router.Locator", false, 0), + IceInternal::Property("IceGrid.Registry.Client.Router.Router", false, 0), + IceInternal::Property("IceGrid.Registry.Client.Router.EncodingVersion", false, 0), + IceInternal::Property("IceGrid.Registry.Client.Router.CollocationOptimization", true, "IceGrid.Registry.Client.Router.CollocationOptimized"), + IceInternal::Property("IceGrid.Registry.Client.Router.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Registry.Client.Router", false, 0), IceInternal::Property("IceGrid.Registry.Client.ProxyOptions", false, 0), IceInternal::Property("IceGrid.Registry.Client.ThreadPool.Size", false, 0), @@ -310,10 +407,28 @@ const IceInternal::Property IceGridPropsData[] = IceInternal::Property("IceGrid.Registry.Internal.ACM", false, 0), IceInternal::Property("IceGrid.Registry.Internal.AdapterId", false, 0), IceInternal::Property("IceGrid.Registry.Internal.Endpoints", false, 0), + IceInternal::Property("IceGrid.Registry.Internal.Locator.EndpointSelection", false, 0), + IceInternal::Property("IceGrid.Registry.Internal.Locator.ConnectionCached", false, 0), + IceInternal::Property("IceGrid.Registry.Internal.Locator.PreferSecure", false, 0), + IceInternal::Property("IceGrid.Registry.Internal.Locator.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGrid.Registry.Internal.Locator.Locator", false, 0), + IceInternal::Property("IceGrid.Registry.Internal.Locator.Router", false, 0), + IceInternal::Property("IceGrid.Registry.Internal.Locator.EncodingVersion", false, 0), + IceInternal::Property("IceGrid.Registry.Internal.Locator.CollocationOptimization", true, "IceGrid.Registry.Internal.Locator.CollocationOptimized"), + IceInternal::Property("IceGrid.Registry.Internal.Locator.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Registry.Internal.Locator", false, 0), IceInternal::Property("IceGrid.Registry.Internal.PublishedEndpoints", false, 0), IceInternal::Property("IceGrid.Registry.Internal.RegisterProcess", true, 0), IceInternal::Property("IceGrid.Registry.Internal.ReplicaGroupId", false, 0), + IceInternal::Property("IceGrid.Registry.Internal.Router.EndpointSelection", false, 0), + IceInternal::Property("IceGrid.Registry.Internal.Router.ConnectionCached", false, 0), + IceInternal::Property("IceGrid.Registry.Internal.Router.PreferSecure", false, 0), + IceInternal::Property("IceGrid.Registry.Internal.Router.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGrid.Registry.Internal.Router.Locator", false, 0), + IceInternal::Property("IceGrid.Registry.Internal.Router.Router", false, 0), + IceInternal::Property("IceGrid.Registry.Internal.Router.EncodingVersion", false, 0), + IceInternal::Property("IceGrid.Registry.Internal.Router.CollocationOptimization", true, "IceGrid.Registry.Internal.Router.CollocationOptimized"), + IceInternal::Property("IceGrid.Registry.Internal.Router.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Registry.Internal.Router", false, 0), IceInternal::Property("IceGrid.Registry.Internal.ProxyOptions", false, 0), IceInternal::Property("IceGrid.Registry.Internal.ThreadPool.Size", false, 0), @@ -330,6 +445,7 @@ const IceInternal::Property IceGridPropsData[] = IceInternal::Property("IceGrid.Registry.PermissionsVerifier.LocatorCacheTimeout", false, 0), IceInternal::Property("IceGrid.Registry.PermissionsVerifier.Locator", false, 0), IceInternal::Property("IceGrid.Registry.PermissionsVerifier.Router", false, 0), + IceInternal::Property("IceGrid.Registry.PermissionsVerifier.EncodingVersion", false, 0), IceInternal::Property("IceGrid.Registry.PermissionsVerifier.CollocationOptimization", true, "IceGrid.Registry.PermissionsVerifier.CollocationOptimized"), IceInternal::Property("IceGrid.Registry.PermissionsVerifier.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Registry.PermissionsVerifier", false, 0), @@ -340,10 +456,28 @@ const IceInternal::Property IceGridPropsData[] = IceInternal::Property("IceGrid.Registry.Server.ACM", false, 0), IceInternal::Property("IceGrid.Registry.Server.AdapterId", false, 0), IceInternal::Property("IceGrid.Registry.Server.Endpoints", false, 0), + IceInternal::Property("IceGrid.Registry.Server.Locator.EndpointSelection", false, 0), + IceInternal::Property("IceGrid.Registry.Server.Locator.ConnectionCached", false, 0), + IceInternal::Property("IceGrid.Registry.Server.Locator.PreferSecure", false, 0), + IceInternal::Property("IceGrid.Registry.Server.Locator.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGrid.Registry.Server.Locator.Locator", false, 0), + IceInternal::Property("IceGrid.Registry.Server.Locator.Router", false, 0), + IceInternal::Property("IceGrid.Registry.Server.Locator.EncodingVersion", false, 0), + IceInternal::Property("IceGrid.Registry.Server.Locator.CollocationOptimization", true, "IceGrid.Registry.Server.Locator.CollocationOptimized"), + IceInternal::Property("IceGrid.Registry.Server.Locator.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Registry.Server.Locator", false, 0), IceInternal::Property("IceGrid.Registry.Server.PublishedEndpoints", false, 0), IceInternal::Property("IceGrid.Registry.Server.RegisterProcess", true, 0), IceInternal::Property("IceGrid.Registry.Server.ReplicaGroupId", false, 0), + IceInternal::Property("IceGrid.Registry.Server.Router.EndpointSelection", false, 0), + IceInternal::Property("IceGrid.Registry.Server.Router.ConnectionCached", false, 0), + IceInternal::Property("IceGrid.Registry.Server.Router.PreferSecure", false, 0), + IceInternal::Property("IceGrid.Registry.Server.Router.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGrid.Registry.Server.Router.Locator", false, 0), + IceInternal::Property("IceGrid.Registry.Server.Router.Router", false, 0), + IceInternal::Property("IceGrid.Registry.Server.Router.EncodingVersion", false, 0), + IceInternal::Property("IceGrid.Registry.Server.Router.CollocationOptimization", true, "IceGrid.Registry.Server.Router.CollocationOptimized"), + IceInternal::Property("IceGrid.Registry.Server.Router.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Registry.Server.Router", false, 0), IceInternal::Property("IceGrid.Registry.Server.ProxyOptions", false, 0), IceInternal::Property("IceGrid.Registry.Server.ThreadPool.Size", false, 0), @@ -357,10 +491,28 @@ const IceInternal::Property IceGridPropsData[] = IceInternal::Property("IceGrid.Registry.SessionManager.ACM", false, 0), IceInternal::Property("IceGrid.Registry.SessionManager.AdapterId", false, 0), IceInternal::Property("IceGrid.Registry.SessionManager.Endpoints", false, 0), + IceInternal::Property("IceGrid.Registry.SessionManager.Locator.EndpointSelection", false, 0), + IceInternal::Property("IceGrid.Registry.SessionManager.Locator.ConnectionCached", false, 0), + IceInternal::Property("IceGrid.Registry.SessionManager.Locator.PreferSecure", false, 0), + IceInternal::Property("IceGrid.Registry.SessionManager.Locator.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGrid.Registry.SessionManager.Locator.Locator", false, 0), + IceInternal::Property("IceGrid.Registry.SessionManager.Locator.Router", false, 0), + IceInternal::Property("IceGrid.Registry.SessionManager.Locator.EncodingVersion", false, 0), + IceInternal::Property("IceGrid.Registry.SessionManager.Locator.CollocationOptimization", true, "IceGrid.Registry.SessionManager.Locator.CollocationOptimized"), + IceInternal::Property("IceGrid.Registry.SessionManager.Locator.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Registry.SessionManager.Locator", false, 0), IceInternal::Property("IceGrid.Registry.SessionManager.PublishedEndpoints", false, 0), IceInternal::Property("IceGrid.Registry.SessionManager.RegisterProcess", true, 0), IceInternal::Property("IceGrid.Registry.SessionManager.ReplicaGroupId", false, 0), + IceInternal::Property("IceGrid.Registry.SessionManager.Router.EndpointSelection", false, 0), + IceInternal::Property("IceGrid.Registry.SessionManager.Router.ConnectionCached", false, 0), + IceInternal::Property("IceGrid.Registry.SessionManager.Router.PreferSecure", false, 0), + IceInternal::Property("IceGrid.Registry.SessionManager.Router.LocatorCacheTimeout", false, 0), + IceInternal::Property("IceGrid.Registry.SessionManager.Router.Locator", false, 0), + IceInternal::Property("IceGrid.Registry.SessionManager.Router.Router", false, 0), + IceInternal::Property("IceGrid.Registry.SessionManager.Router.EncodingVersion", false, 0), + IceInternal::Property("IceGrid.Registry.SessionManager.Router.CollocationOptimization", true, "IceGrid.Registry.SessionManager.Router.CollocationOptimized"), + IceInternal::Property("IceGrid.Registry.SessionManager.Router.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Registry.SessionManager.Router", false, 0), IceInternal::Property("IceGrid.Registry.SessionManager.ProxyOptions", false, 0), IceInternal::Property("IceGrid.Registry.SessionManager.ThreadPool.Size", false, 0), @@ -377,6 +529,7 @@ const IceInternal::Property IceGridPropsData[] = IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier.LocatorCacheTimeout", false, 0), IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier.Locator", false, 0), IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier.Router", false, 0), + IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier.EncodingVersion", false, 0), IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier.CollocationOptimization", true, "IceGrid.Registry.SSLPermissionsVerifier.CollocationOptimized"), IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier.CollocationOptimized", false, 0), IceInternal::Property("IceGrid.Registry.SSLPermissionsVerifier", false, 0), @@ -410,10 +563,28 @@ const IceInternal::Property IcePatch2PropsData[] = IceInternal::Property("IcePatch2.ACM", false, 0), IceInternal::Property("IcePatch2.AdapterId", false, 0), IceInternal::Property("IcePatch2.Endpoints", false, 0), + IceInternal::Property("IcePatch2.Locator.EndpointSelection", false, 0), + IceInternal::Property("IcePatch2.Locator.ConnectionCached", false, 0), + IceInternal::Property("IcePatch2.Locator.PreferSecure", false, 0), + IceInternal::Property("IcePatch2.Locator.LocatorCacheTimeout", false, 0), + IceInternal::Property("IcePatch2.Locator.Locator", false, 0), + IceInternal::Property("IcePatch2.Locator.Router", false, 0), + IceInternal::Property("IcePatch2.Locator.EncodingVersion", false, 0), + IceInternal::Property("IcePatch2.Locator.CollocationOptimization", true, "IcePatch2.Locator.CollocationOptimized"), + IceInternal::Property("IcePatch2.Locator.CollocationOptimized", false, 0), IceInternal::Property("IcePatch2.Locator", false, 0), IceInternal::Property("IcePatch2.PublishedEndpoints", false, 0), IceInternal::Property("IcePatch2.RegisterProcess", true, 0), IceInternal::Property("IcePatch2.ReplicaGroupId", false, 0), + IceInternal::Property("IcePatch2.Router.EndpointSelection", false, 0), + IceInternal::Property("IcePatch2.Router.ConnectionCached", false, 0), + IceInternal::Property("IcePatch2.Router.PreferSecure", false, 0), + IceInternal::Property("IcePatch2.Router.LocatorCacheTimeout", false, 0), + IceInternal::Property("IcePatch2.Router.Locator", false, 0), + IceInternal::Property("IcePatch2.Router.Router", false, 0), + IceInternal::Property("IcePatch2.Router.EncodingVersion", false, 0), + IceInternal::Property("IcePatch2.Router.CollocationOptimization", true, "IcePatch2.Router.CollocationOptimized"), + IceInternal::Property("IcePatch2.Router.CollocationOptimized", false, 0), IceInternal::Property("IcePatch2.Router", false, 0), IceInternal::Property("IcePatch2.ProxyOptions", false, 0), IceInternal::Property("IcePatch2.ThreadPool.Size", false, 0), @@ -522,10 +693,28 @@ const IceInternal::Property Glacier2PropsData[] = IceInternal::Property("Glacier2.Client.ACM", false, 0), IceInternal::Property("Glacier2.Client.AdapterId", false, 0), IceInternal::Property("Glacier2.Client.Endpoints", false, 0), + IceInternal::Property("Glacier2.Client.Locator.EndpointSelection", false, 0), + IceInternal::Property("Glacier2.Client.Locator.ConnectionCached", false, 0), + IceInternal::Property("Glacier2.Client.Locator.PreferSecure", false, 0), + IceInternal::Property("Glacier2.Client.Locator.LocatorCacheTimeout", false, 0), + IceInternal::Property("Glacier2.Client.Locator.Locator", false, 0), + IceInternal::Property("Glacier2.Client.Locator.Router", false, 0), + IceInternal::Property("Glacier2.Client.Locator.EncodingVersion", false, 0), + IceInternal::Property("Glacier2.Client.Locator.CollocationOptimization", true, "Glacier2.Client.Locator.CollocationOptimized"), + IceInternal::Property("Glacier2.Client.Locator.CollocationOptimized", false, 0), IceInternal::Property("Glacier2.Client.Locator", false, 0), IceInternal::Property("Glacier2.Client.PublishedEndpoints", false, 0), IceInternal::Property("Glacier2.Client.RegisterProcess", true, 0), IceInternal::Property("Glacier2.Client.ReplicaGroupId", false, 0), + IceInternal::Property("Glacier2.Client.Router.EndpointSelection", false, 0), + IceInternal::Property("Glacier2.Client.Router.ConnectionCached", false, 0), + IceInternal::Property("Glacier2.Client.Router.PreferSecure", false, 0), + IceInternal::Property("Glacier2.Client.Router.LocatorCacheTimeout", false, 0), + IceInternal::Property("Glacier2.Client.Router.Locator", false, 0), + IceInternal::Property("Glacier2.Client.Router.Router", false, 0), + IceInternal::Property("Glacier2.Client.Router.EncodingVersion", false, 0), + IceInternal::Property("Glacier2.Client.Router.CollocationOptimization", true, "Glacier2.Client.Router.CollocationOptimized"), + IceInternal::Property("Glacier2.Client.Router.CollocationOptimized", false, 0), IceInternal::Property("Glacier2.Client.Router", false, 0), IceInternal::Property("Glacier2.Client.ProxyOptions", false, 0), IceInternal::Property("Glacier2.Client.ThreadPool.Size", false, 0), @@ -557,6 +746,7 @@ const IceInternal::Property Glacier2PropsData[] = IceInternal::Property("Glacier2.PermissionsVerifier.LocatorCacheTimeout", false, 0), IceInternal::Property("Glacier2.PermissionsVerifier.Locator", false, 0), IceInternal::Property("Glacier2.PermissionsVerifier.Router", false, 0), + IceInternal::Property("Glacier2.PermissionsVerifier.EncodingVersion", false, 0), IceInternal::Property("Glacier2.PermissionsVerifier.CollocationOptimization", true, "Glacier2.PermissionsVerifier.CollocationOptimized"), IceInternal::Property("Glacier2.PermissionsVerifier.CollocationOptimized", false, 0), IceInternal::Property("Glacier2.PermissionsVerifier", false, 0), @@ -567,6 +757,7 @@ const IceInternal::Property Glacier2PropsData[] = IceInternal::Property("Glacier2.SSLPermissionsVerifier.LocatorCacheTimeout", false, 0), IceInternal::Property("Glacier2.SSLPermissionsVerifier.Locator", false, 0), IceInternal::Property("Glacier2.SSLPermissionsVerifier.Router", false, 0), + IceInternal::Property("Glacier2.SSLPermissionsVerifier.EncodingVersion", false, 0), IceInternal::Property("Glacier2.SSLPermissionsVerifier.CollocationOptimization", true, "Glacier2.SSLPermissionsVerifier.CollocationOptimized"), IceInternal::Property("Glacier2.SSLPermissionsVerifier.CollocationOptimized", false, 0), IceInternal::Property("Glacier2.SSLPermissionsVerifier", false, 0), @@ -574,10 +765,28 @@ const IceInternal::Property Glacier2PropsData[] = IceInternal::Property("Glacier2.Server.ACM", false, 0), IceInternal::Property("Glacier2.Server.AdapterId", false, 0), IceInternal::Property("Glacier2.Server.Endpoints", false, 0), + IceInternal::Property("Glacier2.Server.Locator.EndpointSelection", false, 0), + IceInternal::Property("Glacier2.Server.Locator.ConnectionCached", false, 0), + IceInternal::Property("Glacier2.Server.Locator.PreferSecure", false, 0), + IceInternal::Property("Glacier2.Server.Locator.LocatorCacheTimeout", false, 0), + IceInternal::Property("Glacier2.Server.Locator.Locator", false, 0), + IceInternal::Property("Glacier2.Server.Locator.Router", false, 0), + IceInternal::Property("Glacier2.Server.Locator.EncodingVersion", false, 0), + IceInternal::Property("Glacier2.Server.Locator.CollocationOptimization", true, "Glacier2.Server.Locator.CollocationOptimized"), + IceInternal::Property("Glacier2.Server.Locator.CollocationOptimized", false, 0), IceInternal::Property("Glacier2.Server.Locator", false, 0), IceInternal::Property("Glacier2.Server.PublishedEndpoints", false, 0), IceInternal::Property("Glacier2.Server.RegisterProcess", true, 0), IceInternal::Property("Glacier2.Server.ReplicaGroupId", false, 0), + IceInternal::Property("Glacier2.Server.Router.EndpointSelection", false, 0), + IceInternal::Property("Glacier2.Server.Router.ConnectionCached", false, 0), + IceInternal::Property("Glacier2.Server.Router.PreferSecure", false, 0), + IceInternal::Property("Glacier2.Server.Router.LocatorCacheTimeout", false, 0), + IceInternal::Property("Glacier2.Server.Router.Locator", false, 0), + IceInternal::Property("Glacier2.Server.Router.Router", false, 0), + IceInternal::Property("Glacier2.Server.Router.EncodingVersion", false, 0), + IceInternal::Property("Glacier2.Server.Router.CollocationOptimization", true, "Glacier2.Server.Router.CollocationOptimized"), + IceInternal::Property("Glacier2.Server.Router.CollocationOptimized", false, 0), IceInternal::Property("Glacier2.Server.Router", false, 0), IceInternal::Property("Glacier2.Server.ProxyOptions", false, 0), IceInternal::Property("Glacier2.Server.ThreadPool.Size", false, 0), @@ -599,6 +808,7 @@ const IceInternal::Property Glacier2PropsData[] = IceInternal::Property("Glacier2.SessionManager.LocatorCacheTimeout", false, 0), IceInternal::Property("Glacier2.SessionManager.Locator", false, 0), IceInternal::Property("Glacier2.SessionManager.Router", false, 0), + IceInternal::Property("Glacier2.SessionManager.EncodingVersion", false, 0), IceInternal::Property("Glacier2.SessionManager.CollocationOptimization", true, "Glacier2.SessionManager.CollocationOptimized"), IceInternal::Property("Glacier2.SessionManager.CollocationOptimized", false, 0), IceInternal::Property("Glacier2.SessionManager", false, 0), @@ -608,6 +818,7 @@ const IceInternal::Property Glacier2PropsData[] = IceInternal::Property("Glacier2.SSLSessionManager.LocatorCacheTimeout", false, 0), IceInternal::Property("Glacier2.SSLSessionManager.Locator", false, 0), IceInternal::Property("Glacier2.SSLSessionManager.Router", false, 0), + IceInternal::Property("Glacier2.SSLSessionManager.EncodingVersion", false, 0), IceInternal::Property("Glacier2.SSLSessionManager.CollocationOptimization", true, "Glacier2.SSLSessionManager.CollocationOptimized"), IceInternal::Property("Glacier2.SSLSessionManager.CollocationOptimized", false, 0), IceInternal::Property("Glacier2.SSLSessionManager", false, 0), @@ -626,6 +837,7 @@ const IceInternal::Property FreezePropsData[] = IceInternal::Property("Freeze.DbEnv.*.DbHome", false, 0), IceInternal::Property("Freeze.DbEnv.*.DbPrivate", false, 0), IceInternal::Property("Freeze.DbEnv.*.DbRecoverFatal", false, 0), + IceInternal::Property("Freeze.DbEnv.*.EncodingVersion", false, 0), IceInternal::Property("Freeze.DbEnv.*.LockFile", false, 0), IceInternal::Property("Freeze.DbEnv.*.OldLogsAutoDelete", false, 0), IceInternal::Property("Freeze.DbEnv.*.PeriodicCheckpointMinSize", false, 0), diff --git a/cpp/src/Ice/PropertyNames.h b/cpp/src/Ice/PropertyNames.h index 8867fa8948f..9eaf25f6feb 100644 --- a/cpp/src/Ice/PropertyNames.h +++ b/cpp/src/Ice/PropertyNames.h @@ -8,7 +8,7 @@ // ********************************************************************** // -// Generated by makeprops.py from file ../config/PropertyNames.xml, Tue Feb 14 13:07:25 2012 +// Generated by makeprops.py from file ../config/PropertyNames.xml, Thu Apr 26 11:33:35 2012 // IMPORTANT: Do not edit this file -- any edits made here will be lost! diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp index 89eaa099682..eead1433242 100644 --- a/cpp/src/Ice/Proxy.cpp +++ b/cpp/src/Ice/Proxy.cpp @@ -373,21 +373,21 @@ IceProxy::Ice::Object::end_ice_id(const AsyncResultPtr& __result) bool IceProxy::Ice::Object::ice_invoke(const string& operation, OperationMode mode, - const vector<Byte>& inParams, - vector<Byte>& outParams, + const vector<Byte>& inEncaps, + vector<Byte>& outEncaps, const Context* context) { pair<const Byte*, const Byte*> inPair; - if(inParams.size() == 0) + if(inEncaps.empty()) { inPair.first = inPair.second = 0; } else { - inPair.first = &inParams[0]; - inPair.second = inPair.first + inParams.size(); + inPair.first = &inEncaps[0]; + inPair.second = inPair.first + inEncaps.size(); } - return ice_invoke(operation, mode, inPair, outParams, context); + return ice_invoke(operation, mode, inPair, outEncaps, context); } @@ -395,7 +395,7 @@ bool IceProxy::Ice::Object::ice_invoke_async(const AMI_Object_ice_invokePtr& cb, const string& operation, OperationMode mode, - const vector<Byte>& inParams) + const vector<Byte>& inEncaps) { Callback_Object_ice_invokePtr del; if(dynamic_cast< ::Ice::AMISentCallback*>(cb.get())) @@ -411,7 +411,7 @@ IceProxy::Ice::Object::ice_invoke_async(const AMI_Object_ice_invokePtr& cb, &AMI_Object_ice_invoke::__response, &AMI_Object_ice_invoke::__exception); } - ::Ice::AsyncResultPtr result = begin_ice_invoke(operation, mode, inParams, del); + ::Ice::AsyncResultPtr result = begin_ice_invoke(operation, mode, inEncaps, del); return result->sentSynchronously(); } @@ -419,7 +419,7 @@ bool IceProxy::Ice::Object::ice_invoke_async(const AMI_Object_ice_invokePtr& cb, const string& operation, OperationMode mode, - const vector<Byte>& inParams, + const vector<Byte>& inEncaps, const Context& context) { Callback_Object_ice_invokePtr del; @@ -436,33 +436,33 @@ IceProxy::Ice::Object::ice_invoke_async(const AMI_Object_ice_invokePtr& cb, &AMI_Object_ice_invoke::__response, &AMI_Object_ice_invoke::__exception); } - ::Ice::AsyncResultPtr result = begin_ice_invoke(operation, mode, inParams, context, del); + ::Ice::AsyncResultPtr result = begin_ice_invoke(operation, mode, inEncaps, context, del); return result->sentSynchronously(); } AsyncResultPtr IceProxy::Ice::Object::begin_ice_invoke(const string& operation, OperationMode mode, - const vector<Byte>& inParams, + const vector<Byte>& inEncaps, const Context* ctx, const ::IceInternal::CallbackBasePtr& del, const ::Ice::LocalObjectPtr& cookie) { pair<const Byte*, const Byte*> inPair; - if(inParams.size() == 0) + if(inEncaps.empty()) { inPair.first = inPair.second = 0; } else { - inPair.first = &inParams[0]; - inPair.second = inPair.first + inParams.size(); + inPair.first = &inEncaps[0]; + inPair.second = inPair.first + inEncaps.size(); } return begin_ice_invoke(operation, mode, inPair, ctx, del, cookie); } bool -IceProxy::Ice::Object::end_ice_invoke(vector<Byte>& outParams, const AsyncResultPtr& __result) +IceProxy::Ice::Object::end_ice_invoke(vector<Byte>& outEncaps, const AsyncResultPtr& __result) { AsyncResult::__check(__result, this, ice_invoke_name); bool ok = __result->__wait(); @@ -471,7 +471,7 @@ IceProxy::Ice::Object::end_ice_invoke(vector<Byte>& outParams, const AsyncResult const Byte* v; Int sz; __result->__readParamEncaps(v, sz); - vector<Byte>(v, v + sz).swap(outParams); + vector<Byte>(v, v + sz).swap(outEncaps); } return ok; } @@ -479,8 +479,8 @@ IceProxy::Ice::Object::end_ice_invoke(vector<Byte>& outParams, const AsyncResult bool IceProxy::Ice::Object::ice_invoke(const string& operation, OperationMode mode, - const pair<const Byte*, const Byte*>& inParams, - vector<Byte>& outParams, + const pair<const Byte*, const Byte*>& inEncaps, + vector<Byte>& outEncaps, const Context* context) { int __cnt = 0; @@ -490,7 +490,7 @@ IceProxy::Ice::Object::ice_invoke(const string& operation, try { __del = __getDelegate(false); - return __del->ice_invoke(operation, mode, inParams, outParams, context); + return __del->ice_invoke(operation, mode, inEncaps, outEncaps, context); } catch(const LocalExceptionWrapper& __ex) { @@ -515,7 +515,7 @@ bool IceProxy::Ice::Object::ice_invoke_async(const AMI_Array_Object_ice_invokePtr& cb, const string& operation, OperationMode mode, - const pair<const Byte*, const Byte*>& inParams) + const pair<const Byte*, const Byte*>& inEncaps) { Callback_Object_ice_invokePtr del; if(dynamic_cast< ::Ice::AMISentCallback*>(cb.get())) @@ -531,7 +531,7 @@ IceProxy::Ice::Object::ice_invoke_async(const AMI_Array_Object_ice_invokePtr& cb &AMI_Array_Object_ice_invoke::__response, &AMI_Array_Object_ice_invoke::__exception); } - ::Ice::AsyncResultPtr result = begin_ice_invoke(operation, mode, inParams, del); + ::Ice::AsyncResultPtr result = begin_ice_invoke(operation, mode, inEncaps, del); return result->sentSynchronously(); } @@ -539,7 +539,7 @@ bool IceProxy::Ice::Object::ice_invoke_async(const AMI_Array_Object_ice_invokePtr& cb, const string& operation, OperationMode mode, - const pair<const Byte*, const Byte*>& inParams, + const pair<const Byte*, const Byte*>& inEncaps, const Context& context) { Callback_Object_ice_invokePtr del; @@ -556,14 +556,14 @@ IceProxy::Ice::Object::ice_invoke_async(const AMI_Array_Object_ice_invokePtr& cb &AMI_Array_Object_ice_invoke::__response, &AMI_Array_Object_ice_invoke::__exception); } - ::Ice::AsyncResultPtr result = begin_ice_invoke(operation, mode, inParams, context, del); + ::Ice::AsyncResultPtr result = begin_ice_invoke(operation, mode, inEncaps, context, del); return result->sentSynchronously(); } AsyncResultPtr IceProxy::Ice::Object::begin_ice_invoke(const string& operation, OperationMode mode, - const pair<const Byte*, const Byte*>& inParams, + const pair<const Byte*, const Byte*>& inEncaps, const Context* ctx, const ::IceInternal::CallbackBasePtr& del, const ::Ice::LocalObjectPtr& cookie) @@ -572,7 +572,7 @@ IceProxy::Ice::Object::begin_ice_invoke(const string& operation, try { __result->__prepare(operation, mode, ctx); - __result->__writeParamEncaps(inParams.first, static_cast<Int>(inParams.second - inParams.first)); + __result->__writeParamEncaps(inEncaps.first, static_cast<Int>(inEncaps.second - inEncaps.first)); __result->__send(true); } catch(const LocalException& __ex) @@ -583,15 +583,15 @@ IceProxy::Ice::Object::begin_ice_invoke(const string& operation, } bool -IceProxy::Ice::Object::___end_ice_invoke(pair<const Byte*, const Byte*>& outParams, const AsyncResultPtr& __result) +IceProxy::Ice::Object::___end_ice_invoke(pair<const Byte*, const Byte*>& outEncaps, const AsyncResultPtr& __result) { AsyncResult::__check(__result, this, ice_invoke_name); bool ok = __result->__wait(); if(_reference->getMode() == Reference::ModeTwoway) { Int sz; - __result->__readParamEncaps(outParams.first, sz); - outParams.second = outParams.first + sz; + __result->__readParamEncaps(outEncaps.first, sz); + outEncaps.second = outEncaps.first + sz; } return ok; } @@ -1590,14 +1590,14 @@ IceDelegateM::Ice::Object::ice_id(const Context* context) bool IceDelegateM::Ice::Object::ice_invoke(const string& operation, OperationMode mode, - const pair<const Byte*, const Byte*>& inParams, - vector<Byte>& outParams, + const pair<const Byte*, const Byte*>& inEncaps, + vector<Byte>& outEncaps, const Context* context) { Outgoing __og(__handler.get(), operation, mode, context); try { - __og.writeParamEncaps(inParams.first, static_cast<Int>(inParams.second - inParams.first)); + __og.writeParamEncaps(inEncaps.first, static_cast<Int>(inEncaps.second - inEncaps.first)); } catch(const ::Ice::LocalException& __ex) { @@ -1611,7 +1611,7 @@ IceDelegateM::Ice::Object::ice_invoke(const string& operation, const Byte* v; Int sz; __og.readParamEncaps(v, sz); - vector<Byte>(v, v + sz).swap(outParams); + vector<Byte>(v, v + sz).swap(outEncaps); } catch(const ::Ice::LocalException& __ex) { @@ -1933,7 +1933,7 @@ IceDelegateD::Ice::Object::ice_id(const ::Ice::Context* context) bool IceDelegateD::Ice::Object::ice_invoke(const string&, OperationMode, - const pair<const Byte*, const Byte*>& inParams, + const pair<const Byte*, const Byte*>& inEncaps, vector<Byte>&, const Context*) { diff --git a/cpp/src/IceDB/FreezeTypes.cpp b/cpp/src/IceDB/FreezeTypes.cpp index 7a5694455bf..319dd30dc11 100644 --- a/cpp/src/IceDB/FreezeTypes.cpp +++ b/cpp/src/IceDB/FreezeTypes.cpp @@ -112,6 +112,12 @@ DatabaseConnection::DatabaseConnection(const Freeze::ConnectionPtr& connection) { } +Ice::EncodingVersion +DatabaseConnection::getEncoding() const +{ + return _connection->getEncoding(); +} + void DatabaseConnection::beginTransaction() { diff --git a/cpp/src/IceDB/FreezeTypes.h b/cpp/src/IceDB/FreezeTypes.h index eae71eb0236..c454d1752fe 100644 --- a/cpp/src/IceDB/FreezeTypes.h +++ b/cpp/src/IceDB/FreezeTypes.h @@ -63,6 +63,8 @@ public: DatabaseConnection(const Freeze::ConnectionPtr&); + virtual Ice::EncodingVersion getEncoding() const; + virtual void beginTransaction(); virtual void commitTransaction(); virtual void rollbackTransaction(); diff --git a/cpp/src/IceDB/IceDB.h b/cpp/src/IceDB/IceDB.h index 01e216bb0d7..86a671961cd 100644 --- a/cpp/src/IceDB/IceDB.h +++ b/cpp/src/IceDB/IceDB.h @@ -14,6 +14,8 @@ #include <IceUtil/Shared.h> #include <IceUtil/Handle.h> +#include <Ice/Version.h> + #include <map> #ifndef ICE_DB_API @@ -64,6 +66,8 @@ class ICE_DB_API DatabaseConnection : virtual public IceUtil::Shared { public: + virtual Ice::EncodingVersion getEncoding() const = 0; + virtual void beginTransaction() = 0; virtual void commitTransaction() = 0; virtual void rollbackTransaction() = 0; diff --git a/cpp/src/IceDB/SqlTypes.cpp b/cpp/src/IceDB/SqlTypes.cpp index 8fc922e9dc0..b4d4e340069 100644 --- a/cpp/src/IceDB/SqlTypes.cpp +++ b/cpp/src/IceDB/SqlTypes.cpp @@ -114,12 +114,19 @@ SqlDB::throwDatabaseException(const char* file, int line, const QSqlError& err) } } -DatabaseConnection::DatabaseConnection(const QSqlDatabase& c, const QString& cn) : +DatabaseConnection::DatabaseConnection(const QSqlDatabase& c, const QString& cn, const Ice::EncodingVersion& encoding) : _connection(c), - _connectionName(cn) + _connectionName(cn), + _encoding(encoding) { } +Ice::EncodingVersion +DatabaseConnection::getEncoding() const +{ + return _encoding; +} + void DatabaseConnection::beginTransaction() { @@ -167,10 +174,9 @@ DatabaseCache::DatabaseCache(const Ice::CommunicatorPtr& communicator, int port, const string& user, const string& password, - bool requiresBlob) + bool requiresBlob, + const Ice::EncodingVersion& encoding) : _encoding(encoding) { - Ice::PropertiesPtr properties = communicator->getProperties(); - // // File lock to prevent multiple process open the same db env. // @@ -311,7 +317,7 @@ DatabaseCache::getConnection() } } - DatabaseConnectionPtr db = new DatabaseConnection(connection, connectionName); + DatabaseConnectionPtr db = new DatabaseConnection(connection, connectionName, _encoding); _cache[IceUtil::ThreadControl().id()] = db; return db; } diff --git a/cpp/src/IceDB/SqlTypes.h b/cpp/src/IceDB/SqlTypes.h index 415f3f41edb..bdc37790091 100644 --- a/cpp/src/IceDB/SqlTypes.h +++ b/cpp/src/IceDB/SqlTypes.h @@ -76,7 +76,9 @@ class DatabaseConnection : public IceDB::DatabaseConnection { public: - DatabaseConnection(const QSqlDatabase&, const QString&); + DatabaseConnection(const QSqlDatabase&, const QString&, const Ice::EncodingVersion&); + + virtual Ice::EncodingVersion getEncoding() const; virtual void beginTransaction(); virtual void commitTransaction(); @@ -96,6 +98,7 @@ private: const QSqlDatabase _connection; const QString _connectionName; + const Ice::EncodingVersion _encoding; }; typedef IceUtil::Handle<DatabaseConnection> DatabaseConnectionPtr; @@ -116,7 +119,7 @@ public: protected: DatabaseCache(const Ice::CommunicatorPtr&, const std::string&, const std::string&, const std::string&, int, - const std::string&, const std::string&, bool); + const std::string&, const std::string&, bool, const Ice::EncodingVersion&); virtual ~DatabaseCache(); typedef std::map<IceUtil::ThreadControl::ID, DatabaseConnectionPtr> ThreadDatabaseMap; @@ -127,6 +130,7 @@ protected: private: IceUtilInternal::FileLockPtr _fileLock; + const Ice::EncodingVersion _encoding; }; typedef IceUtil::Handle<DatabaseCache> DatabaseCachePtr; diff --git a/cpp/src/IceGrid/SqlDB/SqlDB.cpp b/cpp/src/IceGrid/SqlDB/SqlDB.cpp index 5405655d7d0..ac84041e365 100644 --- a/cpp/src/IceGrid/SqlDB/SqlDB.cpp +++ b/cpp/src/IceGrid/SqlDB/SqlDB.cpp @@ -94,8 +94,10 @@ SqlDatabaseCache::SqlDatabaseCache(const Ice::CommunicatorPtr& communicator, int port, const string& username, const string& password, - const string& tablePrefix) : - SqlDB::DatabaseCache(communicator, databaseType, databaseName, hostname, port, username, password, true) + const string& tablePrefix, + const string& encoding) : + SqlDB::DatabaseCache(communicator, databaseType, databaseName, hostname, port, username, password, true, + Ice::stringToEncodingVersion(encoding)) { IceDB::DatabaseConnectionPtr connection = getConnection(); IceDB::TransactionHolder txn(connection); @@ -219,7 +221,8 @@ SqlDBPlugin::initialize() properties->getPropertyAsInt("IceGrid.SQL.Port"), properties->getProperty("IceGrid.SQL.UserName"), properties->getProperty("IceGrid.SQL.Password"), - tablePrefix); + tablePrefix, + properties->getProperty("IceGrid.SQL.EncodingVersion")); SqlDB::ThreadHookPtr threadHook = SqlDB::ThreadHookPtr::dynamicCast(IceInternal::getInstance(_communicator)->initializationData().threadHook); diff --git a/cpp/src/IceGrid/SqlDB/SqlDB.h b/cpp/src/IceGrid/SqlDB/SqlDB.h index e3b9d77895c..06b606d0560 100644 --- a/cpp/src/IceGrid/SqlDB/SqlDB.h +++ b/cpp/src/IceGrid/SqlDB/SqlDB.h @@ -26,7 +26,8 @@ class SqlDatabaseCache : public SqlDB::DatabaseCache, public DatabaseCache public: SqlDatabaseCache(const Ice::CommunicatorPtr&, const std::string&, const std::string&, - const std::string&, int, const std::string&, const std::string&, const std::string&); + const std::string&, int, const std::string&, const std::string&, const std::string&, + const std::string&); virtual ~SqlDatabaseCache(); virtual ApplicationsWrapperPtr getApplications(const IceDB::DatabaseConnectionPtr&); diff --git a/cpp/src/IceGrid/SqlDB/SqlStringApplicationInfoDict.cpp b/cpp/src/IceGrid/SqlDB/SqlStringApplicationInfoDict.cpp index d178e1d03f4..2e05d6a4d91 100644 --- a/cpp/src/IceGrid/SqlDB/SqlStringApplicationInfoDict.cpp +++ b/cpp/src/IceGrid/SqlDB/SqlStringApplicationInfoDict.cpp @@ -104,7 +104,7 @@ SqlStringApplicationInfoDict::put(const DatabaseConnectionPtr& connection, const ApplicationInfo& info) { IceInternal::InstancePtr instance = IceInternal::getInstance(_communicator); - IceInternal::BasicStream stream(instance.get()); + IceInternal::BasicStream stream(instance.get(), connection->getEncoding()); stream.startWriteEncaps(); info.descriptor.__write(&stream); stream.writePendingObjects(); @@ -251,7 +251,7 @@ SqlStringApplicationInfoDict::find(const DatabaseConnectionPtr& connection, QByteArray bytes = query.value(7).toByteArray(); IceInternal::InstancePtr instance = IceInternal::getInstance(_communicator); - IceInternal::BasicStream stream(instance.get()); + IceInternal::BasicStream stream(instance.get(), connection->getEncoding()); stream.b.resize(bytes.size()); ::memcpy(&stream.b[0], bytes.data(), bytes.size()); stream.i = stream.b.begin(); @@ -297,7 +297,7 @@ SqlStringApplicationInfoDict::getMap(const DatabaseConnectionPtr& connection, QByteArray bytes = query.value(7).toByteArray(); IceInternal::InstancePtr instance = IceInternal::getInstance(_communicator); - IceInternal::BasicStream stream(instance.get()); + IceInternal::BasicStream stream(instance.get(), connection->getEncoding()); stream.b.resize(bytes.size()); ::memcpy(&stream.b[0], bytes.data(), bytes.size()); stream.i = stream.b.begin(); diff --git a/cpp/src/IceStorm/Service.cpp b/cpp/src/IceStorm/Service.cpp index ba4abe3e46b..2844453c5a7 100644 --- a/cpp/src/IceStorm/Service.cpp +++ b/cpp/src/IceStorm/Service.cpp @@ -547,6 +547,7 @@ ServiceI::validateProperties(const string& name, const PropertiesPtr& properties "Send.Timeout", "Discard.Interval", "SQL.DatabaseType", + "SQL.EncodingVersion", "SQL.HostName", "SQL.Port", "SQL.DatabaseName", diff --git a/cpp/src/IceStorm/SqlDB/SqlDB.cpp b/cpp/src/IceStorm/SqlDB/SqlDB.cpp index 78136f7fe48..5b0486d61e4 100644 --- a/cpp/src/IceStorm/SqlDB/SqlDB.cpp +++ b/cpp/src/IceStorm/SqlDB/SqlDB.cpp @@ -92,8 +92,10 @@ SqlDatabaseCache::SqlDatabaseCache(const Ice::CommunicatorPtr& communicator, int port, const string& username, const string& password, - const string& tablePrefix) : - SqlDB::DatabaseCache(communicator, databaseType, databaseName, hostname, port, username, password, false) + const string& tablePrefix, + const string& encoding) : + SqlDB::DatabaseCache(communicator, databaseType, databaseName, hostname, port, username, password, false, + Ice::stringToEncodingVersion(encoding)) { IceDB::DatabaseConnectionPtr connection = getConnection(); IceDB::TransactionHolder txn(connection); @@ -189,7 +191,8 @@ SqlDBPlugin::getDatabaseCache(const string& name) properties->getPropertyAsInt(name + ".SQL.Port"), properties->getProperty(name + ".SQL.UserName"), properties->getProperty(name + ".SQL.Password"), - tablePrefix); + tablePrefix, + properties->getProperty(name + ".SQL.EncodingVersion")); SqlDB::ThreadHookPtr threadHook = SqlDB::ThreadHookPtr::dynamicCast(IceInternal::getInstance(_communicator)->initializationData().threadHook); diff --git a/cpp/src/IceStorm/SqlDB/SqlDB.h b/cpp/src/IceStorm/SqlDB/SqlDB.h index bcba51d7df6..ad84f1e6356 100644 --- a/cpp/src/IceStorm/SqlDB/SqlDB.h +++ b/cpp/src/IceStorm/SqlDB/SqlDB.h @@ -25,7 +25,8 @@ class SqlDatabaseCache : public SqlDB::DatabaseCache, public DatabaseCache public: SqlDatabaseCache(const Ice::CommunicatorPtr&, const std::string&, const std::string&, - const std::string&, int, const std::string&, const std::string&, const std::string&); + const std::string&, int, const std::string&, const std::string&, const std::string&, + const std::string&); virtual ~SqlDatabaseCache(); virtual LLUWrapperPtr getLLU(const IceDB::DatabaseConnectionPtr&); diff --git a/cpp/src/slice2cs/Gen.cpp b/cpp/src/slice2cs/Gen.cpp index 2f2ae400a04..0053fd2a01f 100644 --- a/cpp/src/slice2cs/Gen.cpp +++ b/cpp/src/slice2cs/Gen.cpp @@ -370,8 +370,7 @@ Slice::CsVisitor::writeDispatchAndMarshalling(const ClassDefPtr& p, bool stream) // // Unmarshal 'in' parameters. // - _out << nl << "IceInternal.BasicStream is__ = inS__.istr();"; - _out << nl << "is__.startReadEncaps();"; + _out << nl << "IceInternal.BasicStream is__ = inS__.startReadParams();"; for(q = inParams.begin(); q != inParams.end(); ++q) { string param = fixId(q->second); @@ -401,11 +400,11 @@ Slice::CsVisitor::writeDispatchAndMarshalling(const ClassDefPtr& p, bool stream) { _out << nl << "is__.readPendingObjects();"; } - _out << nl << "is__.endReadEncaps();"; + _out << nl << "inS__.endReadParams();"; } else { - _out << nl << "inS__.istr().skipEmptyEncaps();"; + _out << nl << "inS__.readEmptyParams();"; } for(q = outParams.begin(); q != outParams.end(); ++q) @@ -414,11 +413,6 @@ Slice::CsVisitor::writeDispatchAndMarshalling(const ClassDefPtr& p, bool stream) _out << nl << typeS << ' ' << fixId(q->second) << ";"; } - if(!outParams.empty() || ret || !throws.empty()) - { - _out << nl << "IceInternal.BasicStream os__ = inS__.ostr();"; - } - // // Call on the servant. // @@ -461,17 +455,26 @@ Slice::CsVisitor::writeDispatchAndMarshalling(const ClassDefPtr& p, bool stream) // // Marshal 'out' parameters and return value. // - for(q = outParams.begin(); q != outParams.end(); ++q) - { - writeMarshalUnmarshalCode(_out, q->first, fixId(q->second), true, false, true, ""); - } - if(ret) + if(!outParams.empty() || ret) { - writeMarshalUnmarshalCode(_out, ret, "ret__", true, false, true, ""); + _out << nl << "IceInternal.BasicStream os__ = inS__.startWriteParams__();"; + for(q = outParams.begin(); q != outParams.end(); ++q) + { + writeMarshalUnmarshalCode(_out, q->first, fixId(q->second), true, false, true, ""); + } + if(ret) + { + writeMarshalUnmarshalCode(_out, ret, "ret__", true, false, true, ""); + } + if(op->returnsClasses()) + { + _out << nl << "os__.writePendingObjects();"; + } + _out << nl << "inS__.endWriteParams__(true);"; } - if(op->returnsClasses()) + else { - _out << nl << "os__.writePendingObjects();"; + _out << nl << "inS__.writeEmptyParams__();"; } _out << nl << "return Ice.DispatchStatus.DispatchOK;"; @@ -487,7 +490,8 @@ Slice::CsVisitor::writeDispatchAndMarshalling(const ClassDefPtr& p, bool stream) string exS = fixId((*t)->scoped()); _out << nl << "catch(" << exS << " ex__)"; _out << sb; - _out << nl << "os__.writeUserException(ex__);"; + _out << nl << "inS__.startWriteParams__().writeUserException(ex__);"; + _out << nl << "inS__.endWriteParams__(false);"; _out << nl << "return Ice.DispatchStatus.DispatchUserException;"; _out << eb; } @@ -515,8 +519,7 @@ Slice::CsVisitor::writeDispatchAndMarshalling(const ClassDefPtr& p, bool stream) // // Unmarshal 'in' parameters. // - _out << nl << "IceInternal.BasicStream is__ = inS__.istr();"; - _out << nl << "is__.startReadEncaps();"; + _out << nl << "IceInternal.BasicStream is__ = inS__.startReadParams();"; for(q = inParams.begin(); q != inParams.end(); ++q) { string param = fixId(q->second); @@ -546,11 +549,11 @@ Slice::CsVisitor::writeDispatchAndMarshalling(const ClassDefPtr& p, bool stream) { _out << nl << "is__.readPendingObjects();"; } - _out << nl << "is__.endReadEncaps();"; + _out << nl << "inS__.endReadParams();"; } else { - _out << nl << "inS__.istr().skipEmptyEncaps();"; + _out << nl << "inS__.readEmptyParams();"; } // @@ -1285,7 +1288,7 @@ Slice::CsVisitor::writeConstantValue(const TypePtr& type, const SyntaxTreeBasePt { _out << value << "F"; } - else if(ep = EnumPtr::dynamicCast(type)) + else if((ep = EnumPtr::dynamicCast(type))) { string enumName = fixId(ep->scoped()); string::size_type colon = value.rfind(':'); @@ -4501,8 +4504,7 @@ Slice::Gen::HelperVisitor::visitClassDefStart(const ClassDefPtr& p) { _out << nl << retS << " ret__;"; } - _out << nl << "IceInternal.BasicStream is__ = outAsync__.istr__;"; - _out << nl << "is__.startReadEncaps();"; + _out << nl << "IceInternal.BasicStream is__ = outAsync__.startReadParams__();"; for(q = outParams.begin(); q != outParams.end(); ++q) { string param = fixId(q->second); @@ -4540,7 +4542,7 @@ Slice::Gen::HelperVisitor::visitClassDefStart(const ClassDefPtr& p) { _out << nl << "is__.readPendingObjects();"; } - _out << nl << "is__.endReadEncaps();"; + _out << nl << "outAsync__.endReadParams__();"; for(q = outParams.begin(); q != outParams.end(); ++q) { string param = fixId(q->second); @@ -4565,6 +4567,10 @@ Slice::Gen::HelperVisitor::visitClassDefStart(const ClassDefPtr& p) _out << nl << "return ret__;"; } } + else + { + _out << nl << "outAsync__.readEmptyParams__();"; + } } else { @@ -4602,17 +4608,24 @@ Slice::Gen::HelperVisitor::visitClassDefStart(const ClassDefPtr& p) _out << sb; _out << nl << "result__.prepare__(" << flatName << ", " << sliceModeToIceMode(op->sendMode()) << ", ctx__, explicitContext__);"; - _out << nl << "IceInternal.BasicStream os__ = result__.ostr__;"; - for(q = inParams.begin(); q != inParams.end(); ++q) + if(!inParams.empty()) { - string typeS = typeToString(q->first); - writeMarshalUnmarshalCode(_out, q->first, fixId(q->second), true, false, false, "", true); + _out << nl << "IceInternal.BasicStream os__ = result__.startWriteParams__();"; + for(q = inParams.begin(); q != inParams.end(); ++q) + { + string typeS = typeToString(q->first); + writeMarshalUnmarshalCode(_out, q->first, fixId(q->second), true, false, false, "", true); + } + if(op->sendsClasses()) + { + _out << nl << "os__.writePendingObjects();"; + } + _out << nl << "result__.endWriteParams__();"; } - if(op->sendsClasses()) + else { - _out << nl << "os__.writePendingObjects();"; + _out << nl << "result__.writeEmptyParams__();"; } - _out << nl << "os__.endWriteEncaps();"; _out << nl << "result__.send__(true);"; _out << eb; _out << nl << "catch(Ice.LocalException ex__)"; @@ -5477,7 +5490,7 @@ Slice::Gen::DelegateMVisitor::visitClassDefStart(const ClassDefPtr& p) { _out << nl << "try"; _out << sb; - _out << nl << "IceInternal.BasicStream os__ = og__.ostr();"; + _out << nl << "IceInternal.BasicStream os__ = og__.startWriteParams();"; for(q = inParams.begin(); q != inParams.end(); ++q) { writeMarshalUnmarshalCode(_out, q->first, fixId(q->second), true, false, false); @@ -5486,16 +5499,21 @@ Slice::Gen::DelegateMVisitor::visitClassDefStart(const ClassDefPtr& p) { _out << nl << "os__.writePendingObjects();"; } + _out << nl << "og__.endWriteParams();"; _out << eb; _out << nl << "catch(Ice.LocalException ex__)"; _out << sb; _out << nl << "og__.abort(ex__);"; _out << eb; } + else + { + _out << nl << "og__.writeEmptyParams();"; + } _out << nl << "bool ok__ = og__.invoke();"; if(!op->returnsData()) { - _out << nl << "if(!og__.istr().isEmpty())"; + _out << nl << "if(og__.hasResponse())"; _out << sb; } _out << nl << "try"; @@ -5524,8 +5542,7 @@ Slice::Gen::DelegateMVisitor::visitClassDefStart(const ClassDefPtr& p) _out << eb; if(ret || !outParams.empty()) { - _out << nl << "IceInternal.BasicStream is__ = og__.istr();"; - _out << nl << "is__.startReadEncaps();"; + _out << nl << "IceInternal.BasicStream is__ = og__.startReadParams();"; for(q = outParams.begin(); q != outParams.end(); ++q) { string param = fixId(q->second); @@ -5596,11 +5613,11 @@ Slice::Gen::DelegateMVisitor::visitClassDefStart(const ClassDefPtr& p) } } } - _out << nl << "is__.endReadEncaps();"; + _out << nl << "og__.endReadParams();"; } else { - _out << nl << "og__.istr().skipEmptyEncaps();"; + _out << nl << "og__.readEmptyParams();"; } if(ret) @@ -6105,7 +6122,7 @@ Slice::Gen::AsyncVisitor::visitOperation(const OperationPtr& p) { _out << nl << "try"; _out << sb; - _out << nl << "IceInternal.BasicStream os__ = this.getOs__();"; + _out << nl << "IceInternal.BasicStream os__ = startWriteParams__();"; for(q = outParams.begin(); q != outParams.end(); ++q) { string typeS = typeToString(q->first); @@ -6120,13 +6137,18 @@ Slice::Gen::AsyncVisitor::visitOperation(const OperationPtr& p) { _out << nl << "os__.writePendingObjects();"; } + _out << nl << "endWriteParams__(true);"; _out << eb; _out << nl << "catch(Ice.LocalException ex__)"; _out << sb; _out << nl << "ice_exception(ex__);"; _out << eb; } - _out << nl << "response__(true);"; + else + { + _out << nl << "writeEmptyParams__();"; + } + _out << nl << "response__();"; _out << eb; _out << eb; @@ -6146,8 +6168,9 @@ Slice::Gen::AsyncVisitor::visitOperation(const OperationPtr& p) _out << sb; _out << nl << "if(validateResponse__(false))"; _out << sb; - _out << nl << "getOs__().writeUserException(ex__);"; - _out << nl << "response__(false);"; + _out << nl << "startWriteParams__().writeUserException(ex__);"; + _out << nl << "endWriteParams__(false);"; + _out << nl << "response__();"; _out << eb; _out << eb; } |