summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-04-26 18:37:38 +0200
committerBenoit Foucher <benoit@zeroc.com>2012-04-26 18:37:38 +0200
commitde59ae055c776b69a9552335f2ce9920ae1e7305 (patch)
tree2f2b3a439650fd1a2ccd8d9fe5264f8239f7ebe8 /cpp/src
parentMerge remote-tracking branch 'origin/master' into encoding11 (diff)
downloadice-de59ae055c776b69a9552335f2ce9920ae1e7305.tar.bz2
ice-de59ae055c776b69a9552335f2ce9920ae1e7305.tar.xz
ice-de59ae055c776b69a9552335f2ce9920ae1e7305.zip
Win32 fixes, C# port
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/IncomingAsync.cpp15
-rw-r--r--cpp/src/Ice/Makefile.mak3
-rw-r--r--cpp/src/Ice/Object.cpp9
-rw-r--r--cpp/src/Ice/PropertyNames.cpp214
-rw-r--r--cpp/src/Ice/PropertyNames.h2
-rw-r--r--cpp/src/Ice/Proxy.cpp66
-rw-r--r--cpp/src/IceDB/FreezeTypes.cpp6
-rw-r--r--cpp/src/IceDB/FreezeTypes.h2
-rw-r--r--cpp/src/IceDB/IceDB.h4
-rw-r--r--cpp/src/IceDB/SqlTypes.cpp18
-rw-r--r--cpp/src/IceDB/SqlTypes.h8
-rw-r--r--cpp/src/IceGrid/SqlDB/SqlDB.cpp9
-rw-r--r--cpp/src/IceGrid/SqlDB/SqlDB.h3
-rw-r--r--cpp/src/IceGrid/SqlDB/SqlStringApplicationInfoDict.cpp6
-rw-r--r--cpp/src/IceStorm/Service.cpp1
-rw-r--r--cpp/src/IceStorm/SqlDB/SqlDB.cpp9
-rw-r--r--cpp/src/IceStorm/SqlDB/SqlDB.h3
-rw-r--r--cpp/src/slice2cs/Gen.cpp109
18 files changed, 384 insertions, 103 deletions
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;
}