[asterisk-scf-commits] asterisk-scf/integration/ice.git branch "zeroc-fix-local-exception" created.
Commits to the Asterisk SCF project code repositories
asterisk-scf-commits at lists.digium.com
Fri Mar 18 13:41:53 CDT 2011
branch "zeroc-fix-local-exception" has been created
at 3c6c0090a34b7f13b1584f7f31a55fc73d606e21 (commit)
- Log -----------------------------------------------------------------
commit 3c6c0090a34b7f13b1584f7f31a55fc73d606e21
Author: Kevin P. Fleming <kpfleming at digium.com>
Date: Fri Mar 18 13:40:52 2011 -0500
Import patch from ZeroC to allow 'local exception' in Slice to work as
expected; this patch adds a metadata tag that enables the previous behavior
required for Ice local runtime exceptions.
diff --git a/cpp/src/IceGrid/Internal.ice b/cpp/src/IceGrid/Internal.ice
index 9911c95..02ffcf8 100644
--- a/cpp/src/IceGrid/Internal.ice
+++ b/cpp/src/IceGrid/Internal.ice
@@ -26,6 +26,7 @@
module IceGrid
{
+["cpp:ice_print"]
local exception SynchronizationException
{
};
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp
index 9442aea..26d68d9 100644
--- a/cpp/src/slice2cpp/Gen.cpp
+++ b/cpp/src/slice2cpp/Gen.cpp
@@ -776,7 +776,8 @@ Slice::Gen::TypesVisitor::visitExceptionStart(const ExceptionPtr& p)
C << nl << "return " << flatName << ';';
C << eb;
- if(p->isLocal())
+ StringList metaData = p->getMetaData();
+ if(find(metaData.begin(), metaData.end(), "cpp:ice_print") != metaData.end())
{
H << nl << "virtual void ice_print(::std::ostream&) const;";
}
@@ -7008,6 +7009,10 @@ Slice::Gen::MetaDataVisitor::validate(const SyntaxTreeBasePtr& cont, const Strin
{
continue;
}
+ if(ExceptionPtr::dynamicCast(cont) && ss == "ice_print")
+ {
+ continue;
+ }
emitWarning(file, line, "ignoring invalid metadata `" + s + "'");
}
_history.insert(s);
diff --git a/cpp/test/Ice/exceptions/.depend b/cpp/test/Ice/exceptions/.depend
index f780123..d071bf9 100644
--- a/cpp/test/Ice/exceptions/.depend
+++ b/cpp/test/Ice/exceptions/.depend
@@ -1,3 +1,4 @@
+ExceptionsI$(OBJEXT): ExceptionsI.cpp Test.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Exception.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/UserExceptionFactory.h
Test$(OBJEXT): Test.cpp Test.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Exception.h $(includedir)/Ice/LocalObject.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/Stream.h $(includedir)/Ice/ObjectFactory.h $(includedir)/IceUtil/Iterator.h
Client$(OBJEXT): Client.cpp $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Exception.h $(includedir)/Ice/LocalObject.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/Stream.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/IconvStringConverter.h ../../include/TestCommon.h Test.h
AllTests$(OBJEXT): AllTests.cpp $(includedir)/Ice/Ice.h $(includedir)/Ice/Initialize.h $(includedir)/Ice/CommunicatorF.h $(includedir)/Ice/LocalObjectF.h $(includedir)/IceUtil/Shared.h $(includedir)/IceUtil/Config.h $(includedir)/Ice/Handle.h $(includedir)/IceUtil/Handle.h $(includedir)/IceUtil/Exception.h $(includedir)/Ice/Config.h $(includedir)/Ice/ProxyHandle.h $(includedir)/Ice/ProxyF.h $(includedir)/Ice/ObjectF.h $(includedir)/Ice/Exception.h $(includedir)/Ice/LocalObject.h $(includedir)/IceUtil/ScopedArray.h $(includedir)/Ice/UndefSysMacros.h $(includedir)/Ice/PropertiesF.h $(includedir)/Ice/Proxy.h $(includedir)/IceUtil/Mutex.h $(includedir)/IceUtil/Lock.h $(includedir)/IceUtil/ThreadException.h $(includedir)/IceUtil/Time.h $(includedir)/IceUtil/MutexProtocol.h $(includedir)/Ice/ProxyFactoryF.h $(includedir)/Ice/ConnectionIF.h $(includedir)/Ice/RequestHandlerF.h $(includedir)/Ice/EndpointIF.h $(includedir)/Ice/EndpointF.h $(includedir)/Ice/EndpointTypes.h $(includedir)/Ice/ObjectAdapterF.h $(includedir)/Ice/ReferenceF.h $(includedir)/Ice/OutgoingAsync.h $(includedir)/IceUtil/Monitor.h $(includedir)/IceUtil/Cond.h $(includedir)/IceUtil/Timer.h $(includedir)/IceUtil/Thread.h $(includedir)/Ice/OutgoingAsyncF.h $(includedir)/Ice/InstanceF.h $(includedir)/Ice/Current.h $(includedir)/Ice/ConnectionF.h $(includedir)/Ice/Identity.h $(includedir)/Ice/BasicStream.h $(includedir)/Ice/ObjectFactoryF.h $(includedir)/Ice/Buffer.h $(includedir)/Ice/Protocol.h $(includedir)/Ice/StreamF.h $(includedir)/Ice/Object.h $(includedir)/Ice/GCShared.h $(includedir)/Ice/GCCountMap.h $(includedir)/Ice/IncomingAsyncF.h $(includedir)/Ice/LoggerF.h $(includedir)/Ice/StatsF.h $(includedir)/Ice/Dispatcher.h $(includedir)/Ice/StringConverter.h $(includedir)/Ice/Plugin.h $(includedir)/Ice/BuiltinSequences.h $(includedir)/Ice/Stream.h $(includedir)/IceUtil/Unicode.h $(includedir)/Ice/LocalException.h $(includedir)/Ice/Properties.h $(includedir)/Ice/Outgoing.h $(includedir)/Ice/Incoming.h $(includedir)/Ice/ServantLocatorF.h $(includedir)/Ice/ServantManagerF.h $(includedir)/Ice/Direct.h $(includedir)/Ice/Logger.h $(includedir)/Ice/LoggerUtil.h $(includedir)/Ice/Stats.h $(includedir)/Ice/Communicator.h $(includedir)/Ice/RouterF.h $(includedir)/Ice/LocatorF.h $(includedir)/Ice/PluginF.h $(includedir)/Ice/ImplicitContextF.h $(includedir)/Ice/CommunicatorAsync.h $(includedir)/Ice/ObjectFactory.h $(includedir)/Ice/ObjectAdapter.h $(includedir)/Ice/FacetMap.h $(includedir)/Ice/Endpoint.h $(includedir)/Ice/ServantLocator.h $(includedir)/Ice/IncomingAsync.h $(includedir)/Ice/Process.h $(includedir)/Ice/Application.h $(includedir)/Ice/Connection.h $(includedir)/Ice/ConnectionAsync.h $(includedir)/Ice/Functional.h $(includedir)/IceUtil/Functional.h $(includedir)/Ice/ImplicitContext.h $(includedir)/Ice/Locator.h $(includedir)/Ice/FactoryTableInit.h $(includedir)/Ice/FactoryTable.h $(includedir)/Ice/UserExceptionFactory.h $(includedir)/Ice/ProcessF.h $(includedir)/Ice/Router.h $(includedir)/Ice/DispatchInterceptor.h $(includedir)/Ice/IconvStringConverter.h ../../include/TestCommon.h Test.h
diff --git a/cpp/test/Ice/exceptions/.depend.mak b/cpp/test/Ice/exceptions/.depend.mak
index 2dc6a7e..1ca220f 100644
--- a/cpp/test/Ice/exceptions/.depend.mak
+++ b/cpp/test/Ice/exceptions/.depend.mak
@@ -1,3 +1,4 @@
+ExceptionsI$(OBJEXT): ExceptionsI.cpp Test.h "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Handle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/UserExceptionFactory.h"
Test$(OBJEXT): Test.cpp Test.h "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Handle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/Stream.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/IceUtil/Iterator.h"
Client$(OBJEXT): Client.cpp "$(includedir)/Ice/Ice.h" "$(includedir)/Ice/Initialize.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Handle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/PropertiesF.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/LoggerF.h" "$(includedir)/Ice/StatsF.h" "$(includedir)/Ice/Dispatcher.h" "$(includedir)/Ice/StringConverter.h" "$(includedir)/Ice/Plugin.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/Stream.h" "$(includedir)/IceUtil/Unicode.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/Logger.h" "$(includedir)/Ice/LoggerUtil.h" "$(includedir)/Ice/Stats.h" "$(includedir)/Ice/Communicator.h" "$(includedir)/Ice/RouterF.h" "$(includedir)/Ice/LocatorF.h" "$(includedir)/Ice/PluginF.h" "$(includedir)/Ice/ImplicitContextF.h" "$(includedir)/Ice/CommunicatorAsync.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/ObjectAdapter.h" "$(includedir)/Ice/FacetMap.h" "$(includedir)/Ice/Endpoint.h" "$(includedir)/Ice/ServantLocator.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/Process.h" "$(includedir)/Ice/Application.h" "$(includedir)/Ice/Connection.h" "$(includedir)/Ice/ConnectionAsync.h" "$(includedir)/Ice/Functional.h" "$(includedir)/IceUtil/Functional.h" "$(includedir)/Ice/ImplicitContext.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/Ice/Router.h" "$(includedir)/Ice/DispatchInterceptor.h" "$(includedir)/Ice/IconvStringConverter.h" ../../include/TestCommon.h Test.h
AllTests$(OBJEXT): AllTests.cpp "$(includedir)/Ice/Ice.h" "$(includedir)/Ice/Initialize.h" "$(includedir)/Ice/CommunicatorF.h" "$(includedir)/Ice/LocalObjectF.h" "$(includedir)/IceUtil/Shared.h" "$(includedir)/IceUtil/Config.h" "$(includedir)/Ice/Handle.h" "$(includedir)/IceUtil/Handle.h" "$(includedir)/IceUtil/Exception.h" "$(includedir)/Ice/Config.h" "$(includedir)/Ice/ProxyHandle.h" "$(includedir)/Ice/ProxyF.h" "$(includedir)/Ice/ObjectF.h" "$(includedir)/Ice/Exception.h" "$(includedir)/Ice/LocalObject.h" "$(includedir)/IceUtil/ScopedArray.h" "$(includedir)/Ice/UndefSysMacros.h" "$(includedir)/Ice/PropertiesF.h" "$(includedir)/Ice/Proxy.h" "$(includedir)/IceUtil/Mutex.h" "$(includedir)/IceUtil/Lock.h" "$(includedir)/IceUtil/ThreadException.h" "$(includedir)/IceUtil/Time.h" "$(includedir)/IceUtil/MutexProtocol.h" "$(includedir)/Ice/ProxyFactoryF.h" "$(includedir)/Ice/ConnectionIF.h" "$(includedir)/Ice/RequestHandlerF.h" "$(includedir)/Ice/EndpointIF.h" "$(includedir)/Ice/EndpointF.h" "$(includedir)/Ice/EndpointTypes.h" "$(includedir)/Ice/ObjectAdapterF.h" "$(includedir)/Ice/ReferenceF.h" "$(includedir)/Ice/OutgoingAsync.h" "$(includedir)/IceUtil/Monitor.h" "$(includedir)/IceUtil/Cond.h" "$(includedir)/IceUtil/Timer.h" "$(includedir)/IceUtil/Thread.h" "$(includedir)/Ice/OutgoingAsyncF.h" "$(includedir)/Ice/InstanceF.h" "$(includedir)/Ice/Current.h" "$(includedir)/Ice/ConnectionF.h" "$(includedir)/Ice/Identity.h" "$(includedir)/Ice/BasicStream.h" "$(includedir)/Ice/ObjectFactoryF.h" "$(includedir)/Ice/Buffer.h" "$(includedir)/Ice/Protocol.h" "$(includedir)/Ice/StreamF.h" "$(includedir)/Ice/Object.h" "$(includedir)/Ice/GCShared.h" "$(includedir)/Ice/GCCountMap.h" "$(includedir)/Ice/IncomingAsyncF.h" "$(includedir)/Ice/LoggerF.h" "$(includedir)/Ice/StatsF.h" "$(includedir)/Ice/Dispatcher.h" "$(includedir)/Ice/StringConverter.h" "$(includedir)/Ice/Plugin.h" "$(includedir)/Ice/BuiltinSequences.h" "$(includedir)/Ice/Stream.h" "$(includedir)/IceUtil/Unicode.h" "$(includedir)/Ice/LocalException.h" "$(includedir)/Ice/Properties.h" "$(includedir)/Ice/Outgoing.h" "$(includedir)/Ice/Incoming.h" "$(includedir)/Ice/ServantLocatorF.h" "$(includedir)/Ice/ServantManagerF.h" "$(includedir)/Ice/Direct.h" "$(includedir)/Ice/Logger.h" "$(includedir)/Ice/LoggerUtil.h" "$(includedir)/Ice/Stats.h" "$(includedir)/Ice/Communicator.h" "$(includedir)/Ice/RouterF.h" "$(includedir)/Ice/LocatorF.h" "$(includedir)/Ice/PluginF.h" "$(includedir)/Ice/ImplicitContextF.h" "$(includedir)/Ice/CommunicatorAsync.h" "$(includedir)/Ice/ObjectFactory.h" "$(includedir)/Ice/ObjectAdapter.h" "$(includedir)/Ice/FacetMap.h" "$(includedir)/Ice/Endpoint.h" "$(includedir)/Ice/ServantLocator.h" "$(includedir)/Ice/IncomingAsync.h" "$(includedir)/Ice/Process.h" "$(includedir)/Ice/Application.h" "$(includedir)/Ice/Connection.h" "$(includedir)/Ice/ConnectionAsync.h" "$(includedir)/Ice/Functional.h" "$(includedir)/IceUtil/Functional.h" "$(includedir)/Ice/ImplicitContext.h" "$(includedir)/Ice/Locator.h" "$(includedir)/Ice/FactoryTableInit.h" "$(includedir)/Ice/FactoryTable.h" "$(includedir)/Ice/UserExceptionFactory.h" "$(includedir)/Ice/ProcessF.h" "$(includedir)/Ice/Router.h" "$(includedir)/Ice/DispatchInterceptor.h" "$(includedir)/Ice/IconvStringConverter.h" ../../include/TestCommon.h Test.h
diff --git a/cpp/test/Ice/exceptions/AllTests.cpp b/cpp/test/Ice/exceptions/AllTests.cpp
index b89384a..7dc2726 100644
--- a/cpp/test/Ice/exceptions/AllTests.cpp
+++ b/cpp/test/Ice/exceptions/AllTests.cpp
@@ -1417,6 +1417,65 @@ allTests(const Ice::CommunicatorPtr& communicator, bool collocated)
{
test(false);
}
+
+
+ try
+ {
+ thrower->throwE();
+ }
+ catch(const E& ex)
+ {
+ ostringstream os;
+ ex.ice_print(os);
+ test(os.str() == "Test::E");
+ test(ex.data == "E");
+ }
+ catch(...)
+ {
+ test(false);
+ }
+
+ try
+ {
+ thrower->throwF();
+ }
+ catch(const F& ex)
+ {
+ ostringstream os;
+ ex.ice_print(os);
+ test(os.str() == "Test::F data:'F'");
+ test(ex.data == "F");
+ }
+ catch(...)
+ {
+ test(false);
+ }
+
+ try
+ {
+ thrower->throwG();
+ test(false);
+ }
+ catch(const Ice::UnknownLocalException&)
+ {
+ }
+ catch(...)
+ {
+ test(false);
+ }
+
+ try
+ {
+ thrower->throwH();
+ test(false);
+ }
+ catch(const Ice::UnknownLocalException&)
+ {
+ }
+ catch(...)
+ {
+ test(false);
+ }
cout << "ok" << endl;
diff --git a/cpp/test/Ice/exceptions/ExceptionsI.cpp b/cpp/test/Ice/exceptions/ExceptionsI.cpp
new file mode 100644
index 0000000..d5e20df
--- /dev/null
+++ b/cpp/test/Ice/exceptions/ExceptionsI.cpp
@@ -0,0 +1,32 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2010 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+#include <Test.h>
+
+using namespace std;
+
+void
+Test::F::ice_print(ostream& out) const
+{
+ Exception::ice_print(out);
+ if(!data.empty())
+ {
+ out << " data:'F'";
+ }
+}
+
+void
+Test::H::ice_print(ostream& out) const
+{
+ Exception::ice_print(out);
+ if(!data.empty())
+ {
+ out << " data:'H'";
+ }
+}
diff --git a/cpp/test/Ice/exceptions/Makefile b/cpp/test/Ice/exceptions/Makefile
index ad626f4..71dcbb9 100644
--- a/cpp/test/Ice/exceptions/Makefile
+++ b/cpp/test/Ice/exceptions/Makefile
@@ -16,6 +16,8 @@ COLLOCATED = collocated
TARGETS = $(CLIENT) $(SERVER) $(SERVERAMD) $(COLLOCATED)
+OBJS = ExceptionsI.o
+
COBJS = Test.o \
Client.o \
AllTests.o
@@ -33,7 +35,8 @@ COLOBJS = Test.o \
Collocated.o \
AllTests.o
-SRCS = $(COBJS:.o=.cpp) \
+SRCS = $(OBJS:.o=.cpp) \
+ $(COBJS:.o=.cpp) \
$(SOBJS:.o=.cpp) \
$(SAMDOBJS:.o=.cpp) \
$(COLOBJS:.o=.cpp)
@@ -44,20 +47,20 @@ include $(top_srcdir)/config/Make.rules
CPPFLAGS := -I. -I../../include $(CPPFLAGS)
-$(CLIENT): $(COBJS)
+$(CLIENT): $(COBJS) $(OBJS)
rm -f $@
- $(CXX) $(LDFLAGS) -o $@ $(COBJS) $(LIBS)
+ $(CXX) $(LDFLAGS) -o $@ $(COBJS) $(OBJS) $(LIBS)
-$(SERVER): $(SOBJS)
+$(SERVER): $(SOBJS) $(OBJS)
rm -f $@
- $(CXX) $(LDFLAGS) -o $@ $(SOBJS) $(LIBS)
+ $(CXX) $(LDFLAGS) -o $@ $(SOBJS) $(OBJS) $(LIBS)
-$(SERVERAMD): $(SAMDOBJS)
+$(SERVERAMD): $(SAMDOBJS) $(OBJS)
rm -f $@
- $(CXX) $(LDFLAGS) -o $@ $(SAMDOBJS) $(LIBS)
+ $(CXX) $(LDFLAGS) -o $@ $(SAMDOBJS) $(OBJS) $(LIBS)
-$(COLLOCATED): $(COLOBJS)
+$(COLLOCATED): $(COLOBJS) $(OBJS)
rm -f $@
- $(CXX) $(LDFLAGS) -o $@ $(COLOBJS) $(LIBS)
+ $(CXX) $(LDFLAGS) -o $@ $(COLOBJS) $(OBJS) $(LIBS)
include .depend
diff --git a/cpp/test/Ice/exceptions/Makefile.mak b/cpp/test/Ice/exceptions/Makefile.mak
index 41f0bcb..b0eb0b1 100644
--- a/cpp/test/Ice/exceptions/Makefile.mak
+++ b/cpp/test/Ice/exceptions/Makefile.mak
@@ -16,6 +16,8 @@ COLLOCATED = collocated.exe
TARGETS = $(CLIENT) $(SERVER) $(SERVERAMD) $(COLLOCATED)
+OBJS = ExceptionsI.obj
+
COBJS = Test.obj \
Client.obj \
AllTests.obj
@@ -33,7 +35,8 @@ COLOBJS = Test.obj \
Collocated.obj \
AllTests.obj
-SRCS = $(COBJS:.obj=.cpp) \
+SRCS = $(OBJS:.obj=.cpp) \
+ $(COBJS:.obj=.cpp) \
$(SOBJS:.obj=.cpp) \
$(SAMDOBJS:.obj=.cpp) \
$(COLOBJS:.obj=.cpp)
@@ -49,23 +52,23 @@ SAPDBFLAGS = /pdb:$(SERVERAMD:.exe=.pdb)
COPDBFLAGS = /pdb:$(COLLOCATED:.exe=.pdb)
!endif
-$(CLIENT): $(COBJS)
- $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
+$(CLIENT): $(COBJS) $(OBJS)
+ $(LINK) $(LD_EXEFLAGS) $(CPDBFLAGS) $(SETARGV) $(COBJS) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
-$(SERVER): $(SOBJS)
- $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
+$(SERVER): $(SOBJS) $(OBJS)
+ $(LINK) $(LD_EXEFLAGS) $(SPDBFLAGS) $(SETARGV) $(SOBJS) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
-$(SERVERAMD): $(SAMDOBJS)
- $(LINK) $(LD_EXEFLAGS) $(SAPDBFLAGS) $(SETARGV) $(SAMDOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
+$(SERVERAMD): $(SAMDOBJS) $(OBJS)
+ $(LINK) $(LD_EXEFLAGS) $(SAPDBFLAGS) $(SETARGV) $(SAMDOBJS) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
-$(COLLOCATED): $(COLOBJS)
- $(LINK) $(LD_EXEFLAGS) $(COPDBFLAGS) $(SETARGV) $(COLOBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
+$(COLLOCATED): $(COLOBJS) $(OBJS)
+ $(LINK) $(LD_EXEFLAGS) $(COPDBFLAGS) $(SETARGV) $(COLOBJS) $(OBJS) $(PREOUT)$@ $(PRELIBS)$(LIBS)
@if exist $@.manifest echo ^ ^ ^ Embedding manifest using $(MT) && \
$(MT) -nologo -manifest $@.manifest -outputresource:$@;#1 && del /q $@.manifest
diff --git a/cpp/test/Ice/exceptions/Test.ice b/cpp/test/Ice/exceptions/Test.ice
index d0887ac..03a72bc 100644
--- a/cpp/test/Ice/exceptions/Test.ice
+++ b/cpp/test/Ice/exceptions/Test.ice
@@ -39,6 +39,28 @@ exception D
int dMem;
};
+exception E
+{
+ string data;
+};
+
+["cpp:ice_print"]
+exception F
+{
+ string data;
+};
+
+local exception G
+{
+ string data;
+};
+
+["cpp:ice_print"]
+local exception H
+{
+ string data;
+};
+
module Mod
{
exception A extends ::Test::A
@@ -73,6 +95,11 @@ module Mod
void throwAfterResponse();
void throwAfterException() throws A;
+
+ void throwE() throws E;
+ void throwF() throws F;
+ void throwG();
+ void throwH();
};
["ami"] interface WrongOperation
diff --git a/cpp/test/Ice/exceptions/TestAMD.ice b/cpp/test/Ice/exceptions/TestAMD.ice
index 3e51d84..02a598a 100644
--- a/cpp/test/Ice/exceptions/TestAMD.ice
+++ b/cpp/test/Ice/exceptions/TestAMD.ice
@@ -35,6 +35,28 @@ exception D
int dMem;
};
+exception E
+{
+ string data;
+};
+
+["cpp:ice_print"]
+exception F
+{
+ string data;
+};
+
+local exception G
+{
+ string data;
+};
+
+["cpp:ice_print"]
+local exception H
+{
+ string data;
+};
+
module Mod
{
exception A extends ::Test::A
@@ -69,6 +91,11 @@ module Mod
void throwAfterResponse();
void throwAfterException() throws A;
+
+ void throwE() throws E;
+ void throwF() throws F;
+ void throwG();
+ void throwH();
};
["ami", "amd"] interface WrongOperation
diff --git a/cpp/test/Ice/exceptions/TestAMDI.cpp b/cpp/test/Ice/exceptions/TestAMDI.cpp
index 503e33f..361298d 100644
--- a/cpp/test/Ice/exceptions/TestAMDI.cpp
+++ b/cpp/test/Ice/exceptions/TestAMDI.cpp
@@ -9,8 +9,20 @@
#include <Ice/Ice.h>
#include <TestAMDI.h>
+#include <TestCommon.h>
using namespace Test;
+using namespace std;
+
+bool
+endsWith(const string& s, const string& findme)
+{
+ if(s.length() > findme.length())
+ {
+ return 0 == s.compare(s.length() - findme.length(), findme.length(), findme);
+ }
+ return false;
+}
ThrowerI::ThrowerI()
{
@@ -198,3 +210,49 @@ ThrowerI::throwAfterException_async(const AMD_Thrower_throwAfterExceptionPtr& cb
throw std::string();
}
+
+void
+ThrowerI::throwE_async(const Test::AMD_Thrower_throwEPtr& cb, const Ice::Current&)
+{
+ cb->ice_exception(E("E"));
+}
+
+void
+ThrowerI::throwF_async(const Test::AMD_Thrower_throwFPtr& cb, const Ice::Current&)
+{
+ cb->ice_exception(F("F"));
+}
+
+void
+ThrowerI::throwG_async(const Test::AMD_Thrower_throwGPtr& cb, const Ice::Current&)
+{
+ try
+ {
+ throw G(__FILE__, __LINE__, "G");
+ }
+ catch(const G& ex)
+ {
+ ostringstream os;
+ ex.ice_print(os);
+ test(endsWith(os.str(), "Test::G"));
+ test(ex.data == "G");
+ cb->ice_exception(ex);
+ }
+}
+
+void
+ThrowerI::throwH_async(const Test::AMD_Thrower_throwHPtr& cb, const Ice::Current&)
+{
+ try
+ {
+ throw H(__FILE__, __LINE__, "H");
+ }
+ catch(const H& ex)
+ {
+ ostringstream os;
+ ex.ice_print(os);
+ test(endsWith(os.str(), "Test::H data:'H'"));
+ test(ex.data == "H");
+ cb->ice_exception(ex);
+ }
+}
diff --git a/cpp/test/Ice/exceptions/TestAMDI.h b/cpp/test/Ice/exceptions/TestAMDI.h
index 0ebf66d..3c6a1c1 100644
--- a/cpp/test/Ice/exceptions/TestAMDI.h
+++ b/cpp/test/Ice/exceptions/TestAMDI.h
@@ -12,6 +12,9 @@
#include <TestAMD.h>
+bool
+endsWith(const std::string&, const std::string&);
+
class ThrowerI : public Test::Thrower
{
public:
@@ -58,6 +61,11 @@ public:
virtual void throwAfterResponse_async(const Test::AMD_Thrower_throwAfterResponsePtr&, const Ice::Current&);
virtual void throwAfterException_async(const Test::AMD_Thrower_throwAfterExceptionPtr&, const Ice::Current&);
+
+ virtual void throwE_async(const Test::AMD_Thrower_throwEPtr&, const Ice::Current&);
+ virtual void throwF_async(const Test::AMD_Thrower_throwFPtr&, const Ice::Current&);
+ virtual void throwG_async(const Test::AMD_Thrower_throwGPtr&, const Ice::Current&);
+ virtual void throwH_async(const Test::AMD_Thrower_throwHPtr&, const Ice::Current&);
};
#endif
diff --git a/cpp/test/Ice/exceptions/TestI.cpp b/cpp/test/Ice/exceptions/TestI.cpp
index 17a9297..96ee5ac 100644
--- a/cpp/test/Ice/exceptions/TestI.cpp
+++ b/cpp/test/Ice/exceptions/TestI.cpp
@@ -9,8 +9,20 @@
#include <Ice/Ice.h>
#include <TestI.h>
+#include <TestCommon.h>
using namespace Test;
+using namespace std;
+
+bool
+endsWith(const string& s, const string& findme)
+{
+ if(s.length() > findme.length())
+ {
+ return 0 == s.compare(s.length() - findme.length(), findme.length(), findme);
+ }
+ return false;
+}
ThrowerI::ThrowerI()
{
@@ -166,3 +178,49 @@ ThrowerI::throwAfterException(const Ice::Current&)
//
throw A();
}
+
+void
+ThrowerI::throwE(const Ice::Current&)
+{
+ throw E("E");
+}
+
+void
+ThrowerI::throwF(const Ice::Current&)
+{
+ throw F("F");
+}
+
+void
+ThrowerI::throwG(const Ice::Current&)
+{
+ try
+ {
+ throw G(__FILE__, __LINE__, "G");
+ }
+ catch(const G& ex)
+ {
+ ostringstream os;
+ ex.ice_print(os);
+ test(endsWith(os.str(), "Test::G"));
+ test(ex.data == "G");
+ throw ex;
+ }
+}
+
+void
+ThrowerI::throwH(const Ice::Current&)
+{
+ try
+ {
+ throw H(__FILE__, __LINE__, "H");
+ }
+ catch(const H& ex)
+ {
+ ostringstream os;
+ ex.ice_print(os);
+ test(endsWith(os.str(), "Test::H data:'H'"));
+ test(ex.data == "H");
+ throw ex;
+ }
+}
diff --git a/cpp/test/Ice/exceptions/TestI.h b/cpp/test/Ice/exceptions/TestI.h
index 825d2bd..3b13acc 100644
--- a/cpp/test/Ice/exceptions/TestI.h
+++ b/cpp/test/Ice/exceptions/TestI.h
@@ -12,6 +12,8 @@
#include <Test.h>
+bool endsWith(const std::string&, const std::string&);
+
class ThrowerI : public Test::Thrower
{
public:
@@ -41,6 +43,11 @@ public:
virtual void throwAfterResponse(const Ice::Current&);
virtual void throwAfterException(const Ice::Current&);
+
+ virtual void throwE(const Ice::Current&);
+ virtual void throwF(const Ice::Current&);
+ virtual void throwG(const Ice::Current&);
+ virtual void throwH(const Ice::Current&);
};
#endif
diff --git a/cpp/test/Ice/interceptor/Test.ice b/cpp/test/Ice/interceptor/Test.ice
index 511d093..6835a9e 100644
--- a/cpp/test/Ice/interceptor/Test.ice
+++ b/cpp/test/Ice/interceptor/Test.ice
@@ -18,6 +18,7 @@ exception InvalidInputException
string message;
};
+["cpp:ice_print"]
local exception RetryException
{
};
diff --git a/slice/Freeze/Connection.ice b/slice/Freeze/Connection.ice
index 0ab0a45..7b5e895 100644
--- a/slice/Freeze/Connection.ice
+++ b/slice/Freeze/Connection.ice
@@ -25,6 +25,7 @@ module Freeze
* committed or rolled back.
*
**/
+["cpp:ice_print"]
local exception TransactionAlreadyInProgressException
{
};
diff --git a/slice/Freeze/Evictor.ice b/slice/Freeze/Evictor.ice
index 21ec689..35f6851 100644
--- a/slice/Freeze/Evictor.ice
+++ b/slice/Freeze/Evictor.ice
@@ -60,6 +60,7 @@ local interface ServantInitializer
* This exception is raised if there are no further elements in the iteration.
*
**/
+["cpp:ice_print"]
local exception NoSuchElementException
{
};
@@ -109,6 +110,7 @@ local interface EvictorIterator
* This exception is raised if the evictor has been deactivated.
*
**/
+["cpp:ice_print"]
local exception EvictorDeactivatedException
{
};
diff --git a/slice/Freeze/Exception.ice b/slice/Freeze/Exception.ice
index 96459c5..cf09f6b 100644
--- a/slice/Freeze/Exception.ice
+++ b/slice/Freeze/Exception.ice
@@ -25,6 +25,7 @@ local interface Transaction;
* @see Connection
*
**/
+["cpp:ice_print"]
local exception DatabaseException
{
/**
@@ -41,6 +42,7 @@ local exception DatabaseException
* could not be found.
*
**/
+["cpp:ice_print"]
local exception NotFoundException extends DatabaseException
{
};
@@ -51,6 +53,7 @@ local exception NotFoundException extends DatabaseException
* this exception by aborting and trying the transaction again.
*
**/
+["cpp:ice_print"]
local exception DeadlockException extends DatabaseException
{
Transaction tx;
@@ -62,6 +65,7 @@ local exception DeadlockException extends DatabaseException
* this position has been erased.
*
**/
+["cpp:ice_print"]
local exception InvalidPositionException
{
};
@@ -71,6 +75,7 @@ local exception InvalidPositionException
* Exception raised when Freeze fails to locate an index
*
**/
+["cpp:ice_print"]
local exception IndexNotFoundException
{
string mapName;
diff --git a/slice/Ice/LocalException.ice b/slice/Ice/LocalException.ice
index 5216736..a0176ca 100644
--- a/slice/Ice/LocalException.ice
+++ b/slice/Ice/LocalException.ice
@@ -23,6 +23,7 @@ module Ice
* This exception is raised when a failure occurs during initialization.
*
**/
+["cpp:ice_print"]
local exception InitializationException
{
/**
@@ -39,6 +40,7 @@ local exception InitializationException
* a plug-in.
*
**/
+["cpp:ice_print"]
local exception PluginInitializationException
{
/**
@@ -55,6 +57,7 @@ local exception PluginInitializationException
* supported with collocation optimization.
*
**/
+["cpp:ice_print"]
local exception CollocationOptimizationException
{
};
@@ -70,6 +73,7 @@ local exception CollocationOptimizationException
* same ID.
*
**/
+["cpp:ice_print"]
local exception AlreadyRegisteredException
{
/**
@@ -103,6 +107,7 @@ local exception AlreadyRegisteredException
* is activated.
*
**/
+["cpp:ice_print"]
local exception NotRegisteredException
{
/**
@@ -132,6 +137,7 @@ local exception NotRegisteredException
* out-parameters, or an exception specification.
*
**/
+["cpp:ice_print"]
local exception TwowayOnlyException
{
/**
@@ -153,6 +159,7 @@ local exception TwowayOnlyException
* provide an implementation of the <tt>ice_clone</tt> operation (C++ only).
*
**/
+["cpp:ice_print"]
local exception CloneNotImplementedException
{
};
@@ -166,6 +173,7 @@ local exception CloneNotImplementedException
* <tt>Ice::UserException</tt>.
*
**/
+["cpp:ice_print"]
local exception UnknownException
{
/**
@@ -188,6 +196,7 @@ local exception UnknownException
* declared <tt>local</tt>.
*
**/
+["cpp:ice_print"]
local exception UnknownLocalException extends UnknownException
{
};
@@ -207,6 +216,7 @@ local exception UnknownLocalException extends UnknownException
* <tt>throws</tt> clause can be raised.
*
**/
+["cpp:ice_print"]
local exception UnknownUserException extends UnknownException
{
};
@@ -217,6 +227,7 @@ local exception UnknownUserException extends UnknownException
* the version in the Ice header files.
*
**/
+["cpp:ice_print"]
local exception VersionMismatchException
{
};
@@ -228,6 +239,7 @@ local exception VersionMismatchException
* @see Communicator#destroy
*
**/
+["cpp:ice_print"]
local exception CommunicatorDestroyedException
{
};
@@ -241,6 +253,7 @@ local exception CommunicatorDestroyedException
* @see Communicator#shutdown
*
**/
+["cpp:ice_print"]
local exception ObjectAdapterDeactivatedException
{
/**
@@ -259,6 +272,7 @@ local exception ObjectAdapterDeactivatedException
* the same adapter id.
*
**/
+["cpp:ice_print"]
local exception ObjectAdapterIdInUseException
{
/**
@@ -274,6 +288,7 @@ local exception ObjectAdapterIdInUseException
* This exception is raised if no suitable endpoint is available.
*
**/
+["cpp:ice_print"]
local exception NoEndpointException
{
/**
@@ -291,6 +306,7 @@ local exception NoEndpointException
* endpoint.
*
**/
+["cpp:ice_print"]
local exception EndpointParseException
{
/**
@@ -307,6 +323,7 @@ local exception EndpointParseException
* endpoint selection type.
*
**/
+["cpp:ice_print"]
local exception EndpointSelectionTypeParseException
{
/**
@@ -323,6 +340,7 @@ local exception EndpointSelectionTypeParseException
* stringified identity.
*
**/
+["cpp:ice_print"]
local exception IdentityParseException
{
/**
@@ -339,6 +357,7 @@ local exception IdentityParseException
* stringified proxy.
*
**/
+["cpp:ice_print"]
local exception ProxyParseException
{
/**
@@ -354,6 +373,7 @@ local exception ProxyParseException
* This exception is raised if an illegal identity is encountered.
*
**/
+["cpp:ice_print"]
local exception IllegalIdentityException
{
/**
@@ -372,6 +392,7 @@ local exception IllegalIdentityException
* <tt>local</tt>.
*
**/
+["cpp:ice_print"]
local exception RequestFailedException
{
/** The identity of the Ice Object to which the request was sent. */
@@ -390,6 +411,7 @@ local exception RequestFailedException
* that is, if no facets with the given identity exist.
*
**/
+["cpp:ice_print"]
local exception ObjectNotExistException extends RequestFailedException
{
};
@@ -400,6 +422,7 @@ local exception ObjectNotExistException extends RequestFailedException
* but at least one facet with the given identity exists.
*
**/
+["cpp:ice_print"]
local exception FacetNotExistException extends RequestFailedException
{
};
@@ -411,6 +434,7 @@ local exception FacetNotExistException extends RequestFailedException
* client or the server using an outdated Slice specification.
*
**/
+["cpp:ice_print"]
local exception OperationNotExistException extends RequestFailedException
{
};
@@ -423,6 +447,7 @@ local exception OperationNotExistException extends RequestFailedException
* should be inspected.
*
**/
+["cpp:ice_print"]
local exception SyscallException
{
/**
@@ -442,6 +467,7 @@ local exception SyscallException
* This exception indicates socket errors.
*
**/
+["cpp:ice_print"]
local exception SocketException extends SyscallException
{
};
@@ -451,6 +477,7 @@ local exception SocketException extends SyscallException
* This exception indicates file errors.
*
**/
+["cpp:ice_print"]
local exception FileException extends SyscallException
{
/** The path of the file responsible for the error. */
@@ -462,6 +489,7 @@ local exception FileException extends SyscallException
* This exception indicates connection failures.
*
**/
+["cpp:ice_print"]
local exception ConnectFailedException extends SocketException
{
};
@@ -472,6 +500,7 @@ local exception ConnectFailedException extends SocketException
* the server host actively refuses a connection.
*
**/
+["cpp:ice_print"]
local exception ConnectionRefusedException extends ConnectFailedException
{
};
@@ -481,6 +510,7 @@ local exception ConnectionRefusedException extends ConnectFailedException
* This exception indicates a lost connection.
*
**/
+["cpp:ice_print"]
local exception ConnectionLostException extends SocketException
{
};
@@ -491,6 +521,7 @@ local exception ConnectionLostException extends SocketException
* {@link DNSException#error} should be inspected.
*
**/
+["cpp:ice_print"]
local exception DNSException
{
/**
@@ -516,6 +547,7 @@ local exception DNSException
* This exception indicates a timeout condition.
*
**/
+["cpp:ice_print"]
local exception TimeoutException
{
};
@@ -525,6 +557,7 @@ local exception TimeoutException
* This exception indicates a connection establishment timeout condition.
*
**/
+["cpp:ice_print"]
local exception ConnectTimeoutException extends TimeoutException
{
};
@@ -534,6 +567,7 @@ local exception ConnectTimeoutException extends TimeoutException
* This exception indicates a connection closure timeout condition.
*
**/
+["cpp:ice_print"]
local exception CloseTimeoutException extends TimeoutException
{
};
@@ -544,6 +578,7 @@ local exception CloseTimeoutException extends TimeoutException
* idle for some time.
*
**/
+["cpp:ice_print"]
local exception ConnectionTimeoutException extends TimeoutException
{
};
@@ -554,6 +589,7 @@ local exception ConnectionTimeoutException extends TimeoutException
* conditions.
*
**/
+["cpp:ice_print"]
local exception ProtocolException
{
/**
@@ -570,6 +606,7 @@ local exception ProtocolException
* magic number ('I', 'c', 'e', 'P').
*
**/
+["cpp:ice_print"]
local exception BadMagicException extends ProtocolException
{
/**
@@ -585,6 +622,7 @@ local exception BadMagicException extends ProtocolException
* This exception indicates an unsupported protocol version.
*
**/
+["cpp:ice_print"]
local exception UnsupportedProtocolException extends ProtocolException
{
/**
@@ -621,6 +659,7 @@ local exception UnsupportedProtocolException extends ProtocolException
* This exception indicates an unsupported data encoding version.
*
**/
+["cpp:ice_print"]
local exception UnsupportedEncodingException extends ProtocolException
{
/**
@@ -657,6 +696,7 @@ local exception UnsupportedEncodingException extends ProtocolException
* This exception indicates that an unknown protocol message has been received.
*
**/
+["cpp:ice_print"]
local exception UnknownMessageException extends ProtocolException
{
};
@@ -667,6 +707,7 @@ local exception UnknownMessageException extends ProtocolException
* that is not yet validated.
*
**/
+["cpp:ice_print"]
local exception ConnectionNotValidatedException extends ProtocolException
{
};
@@ -677,6 +718,7 @@ local exception ConnectionNotValidatedException extends ProtocolException
* received.
*
**/
+["cpp:ice_print"]
local exception UnknownRequestIdException extends ProtocolException
{
};
@@ -686,6 +728,7 @@ local exception UnknownRequestIdException extends ProtocolException
* This exception indicates that an unknown reply status has been received.
*
**/
+["cpp:ice_print"]
local exception UnknownReplyStatusException extends ProtocolException
{
};
@@ -702,6 +745,7 @@ local exception UnknownReplyStatusException extends ProtocolException
* the application code.
*
**/
+["cpp:ice_print"]
local exception CloseConnectionException extends ProtocolException
{
};
@@ -714,6 +758,7 @@ local exception CloseConnectionException extends ProtocolException
* @see Connection#close
*
**/
+["cpp:ice_print"]
local exception ForcedCloseConnectionException extends ProtocolException
{
};
@@ -724,6 +769,7 @@ local exception ForcedCloseConnectionException extends ProtocolException
* than the minimum required size.
*
**/
+["cpp:ice_print"]
local exception IllegalMessageSizeException extends ProtocolException
{
};
@@ -733,6 +779,7 @@ local exception IllegalMessageSizeException extends ProtocolException
* This exception indicates a problem with compressing or uncompressing data.
*
**/
+["cpp:ice_print"]
local exception CompressionException extends ProtocolException
{
};
@@ -745,6 +792,7 @@ local exception CompressionException extends ProtocolException
* size, or exceeds the maximum payload size of a UDP packet (65507 bytes).
*
**/
+["cpp:ice_print"]
local exception DatagramLimitException extends ProtocolException
{
};
@@ -754,6 +802,7 @@ local exception DatagramLimitException extends ProtocolException
* This exception is raised for errors during marshaling or unmarshaling data.
*
**/
+["cpp:ice_print"]
local exception MarshalException extends ProtocolException
{
};
@@ -763,6 +812,7 @@ local exception MarshalException extends ProtocolException
* This exception is raised if inconsistent data is received while unmarshaling a proxy.
*
**/
+["cpp:ice_print"]
local exception ProxyUnmarshalException extends MarshalException
{
};
@@ -772,6 +822,7 @@ local exception ProxyUnmarshalException extends MarshalException
* This exception is raised if an out-of-bounds condition occurs during unmarshaling.
*
**/
+["cpp:ice_print"]
local exception UnmarshalOutOfBoundsException extends MarshalException
{
};
@@ -786,6 +837,7 @@ local exception UnmarshalOutOfBoundsException extends MarshalException
* @see Communicator#findObjectFactory
*
**/
+["cpp:ice_print"]
local exception NoObjectFactoryException extends MarshalException
{
/**
@@ -808,6 +860,7 @@ local exception NoObjectFactoryException extends MarshalException
* an operation is subscribed to the wrong topic.
*
**/
+["cpp:ice_print"]
local exception UnexpectedObjectException extends MarshalException
{
/**
@@ -830,6 +883,7 @@ local exception UnexpectedObjectException extends MarshalException
* This exception is raised if a request size exceeds the limit specified by the <tt>Ice.MessageSizeMax</tt> property.
*
**/
+["cpp:ice_print"]
local exception MemoryLimitException extends MarshalException
{
};
@@ -841,6 +895,7 @@ local exception MemoryLimitException extends MarshalException
* marshaling or unmarshaling.
*
**/
+["cpp:ice_print"]
local exception StringConversionException extends MarshalException
{
};
@@ -851,6 +906,7 @@ local exception StringConversionException extends MarshalException
* This exception indicates a malformed data encapsulation.
*
**/
+["cpp:ice_print"]
local exception EncapsulationException extends MarshalException
{
};
@@ -862,6 +918,7 @@ local exception EncapsulationException extends MarshalException
* feature
*
**/
+["cpp:ice_print"]
local exception FeatureNotSupportedException
{
/**
@@ -879,6 +936,7 @@ local exception FeatureNotSupportedException
* such as the IceSSL plug-in.
*
**/
+["cpp:ice_print"]
local exception SecurityException
{
/**
@@ -895,6 +953,7 @@ local exception SecurityException
* change the connection properties of a fixed proxy.
*
**/
+["cpp:ice_print"]
local exception FixedProxyException
{
};
@@ -905,6 +964,7 @@ local exception FixedProxyException
* re-dispatching such a request is not possible.
*
**/
+["cpp:ice_print"]
local exception ResponseSentException
{
};
diff --git a/slice/IceBox/IceBox.ice b/slice/IceBox/IceBox.ice
index eb6d044..9b7a142 100644
--- a/slice/IceBox/IceBox.ice
+++ b/slice/IceBox/IceBox.ice
@@ -36,6 +36,7 @@ module IceBox
* to load a service executable.
*
**/
+["cpp:ice_print"]
local exception FailureException
{
/**
-----------------------------------------------------------------------
--
asterisk-scf/integration/ice.git
More information about the asterisk-scf-commits
mailing list