diff options
author | Bernard Normier <bernard@zeroc.com> | 2007-05-16 19:14:39 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2007-05-16 19:14:39 +0000 |
commit | 93349d8446a3847d38c8bed0cefb71cdecb0570a (patch) | |
tree | 1426813a2e221e92dc7ce56c36d4aba240ed0c96 /cpp/src/Ice/Direct.cpp | |
parent | Bug 1996 - multihomed hostnames (diff) | |
download | ice-93349d8446a3847d38c8bed0cefb71cdecb0570a.tar.bz2 ice-93349d8446a3847d38c8bed0cefb71cdecb0570a.tar.xz ice-93349d8446a3847d38c8bed0cefb71cdecb0570a.zip |
New Dispatch Interceptor (see bug #2126)
Diffstat (limited to 'cpp/src/Ice/Direct.cpp')
-rw-r--r-- | cpp/src/Ice/Direct.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/cpp/src/Ice/Direct.cpp b/cpp/src/Ice/Direct.cpp index b25c85fb9e1..a70078d1948 100644 --- a/cpp/src/Ice/Direct.cpp +++ b/cpp/src/Ice/Direct.cpp @@ -91,6 +91,35 @@ IceInternal::Direct::Direct(const Current& current) : } } +bool +IceInternal::Direct::isCollocated() +{ + return true; +} + +const Current& +IceInternal::Direct::getCurrent() +{ + return _current; +} + +void +IceInternal::Direct::throwUserException() +{ + if(_userException.get() == 0) + { + assert(0); // should never happen + throw Ice::UnknownUserException(__FILE__, __LINE__); + } + _userException->ice_throw(); +} + +void +IceInternal::Direct::setUserException(const Ice::UserException& ue) +{ + _userException.reset(dynamic_cast<Ice::UserException*>(ue.ice_clone())); +} + void IceInternal::Direct::destroy() { @@ -123,3 +152,4 @@ IceInternal::Direct::servant() { return _servant; } + |