diff options
author | Marc Laukien <marc@zeroc.com> | 2002-12-30 16:42:31 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2002-12-30 16:42:31 +0000 |
commit | 3af891cf2040ea2acf623be26d6f09b9bd182752 (patch) | |
tree | 8e25efbee45f84e017ebdc201cbccc49dd4eba4a /java/src | |
parent | fixes (diff) | |
download | ice-3af891cf2040ea2acf623be26d6f09b9bd182752.tar.bz2 ice-3af891cf2040ea2acf623be26d6f09b9bd182752.tar.xz ice-3af891cf2040ea2acf623be26d6f09b9bd182752.zip |
more amd work
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/AMD_Object_ice_invoke.java | 21 | ||||
-rw-r--r-- | java/src/Ice/AMI_Object_ice_invoke.java | 1 | ||||
-rw-r--r-- | java/src/Ice/BlobjectAsync.java | 40 | ||||
-rw-r--r-- | java/src/Ice/_AMD_Object_ice_invoke.java | 46 |
4 files changed, 107 insertions, 1 deletions
diff --git a/java/src/Ice/AMD_Object_ice_invoke.java b/java/src/Ice/AMD_Object_ice_invoke.java new file mode 100644 index 00000000000..9e0cf14af44 --- /dev/null +++ b/java/src/Ice/AMD_Object_ice_invoke.java @@ -0,0 +1,21 @@ +// ********************************************************************** +// +// Copyright (c) 2002 +// ZeroC, Inc. +// Billerica, MA, USA +// +// All Rights Reserved. +// +// Ice is free software; you can redistribute it and/or modify it under +// the terms of the GNU General Public License version 2 as published by +// the Free Software Foundation. +// +// ********************************************************************** + +package Ice; + +interface AMD_Object_ice_invoke +{ + void ice_response(boolean ok, byte[] outParams); + void ice_exception(java.lang.Exception ex); +}; diff --git a/java/src/Ice/AMI_Object_ice_invoke.java b/java/src/Ice/AMI_Object_ice_invoke.java index 323a4946507..d4f63947e76 100644 --- a/java/src/Ice/AMI_Object_ice_invoke.java +++ b/java/src/Ice/AMI_Object_ice_invoke.java @@ -16,7 +16,6 @@ package Ice; public abstract class AMI_Object_ice_invoke extends IceInternal.OutgoingAsync { - public abstract void ice_response(boolean ok, byte[] outParams); public abstract void ice_exception(Ice.LocalException ex); diff --git a/java/src/Ice/BlobjectAsync.java b/java/src/Ice/BlobjectAsync.java new file mode 100644 index 00000000000..5ffbf787fba --- /dev/null +++ b/java/src/Ice/BlobjectAsync.java @@ -0,0 +1,40 @@ +// ********************************************************************** +// +// Copyright (c) 2002 +// ZeroC, Inc. +// Billerica, MA, USA +// +// All Rights Reserved. +// +// Ice is free software; you can redistribute it and/or modify it under +// the terms of the GNU General Public License version 2 as published by +// the Free Software Foundation. +// +// ********************************************************************** + +package Ice; + +public abstract class BlobjectAsync extends Ice.ObjectImpl +{ + // Returns true if ok, false if user exception. + public abstract boolean + ice_invoke_async(AMD_Object_ice_invoke cb, byte[] inParams, Current current); + + public IceInternal.DispatchStatus + __dispatch(IceInternal.Incoming in, Current current) + { + byte[] inParams; + int sz = in.is().getReadEncapsSize(); + inParams = in.is().readBlob(sz); + AMD_Object_ice_invoke cb = new _AMD_Object_ice_invoke(in); + try + { + ice_invoke_async(cb, inParams, current); + } + catch(java.lang.Exception ex) + { + cb.ice_exception(ex); + } + return IceInternal.DispatchStatus.DispatchOK; + } +} diff --git a/java/src/Ice/_AMD_Object_ice_invoke.java b/java/src/Ice/_AMD_Object_ice_invoke.java new file mode 100644 index 00000000000..6d486d0af09 --- /dev/null +++ b/java/src/Ice/_AMD_Object_ice_invoke.java @@ -0,0 +1,46 @@ +// ********************************************************************** +// +// Copyright (c) 2002 +// ZeroC, Inc. +// Billerica, MA, USA +// +// All Rights Reserved. +// +// Ice is free software; you can redistribute it and/or modify it under +// the terms of the GNU General Public License version 2 as published by +// the Free Software Foundation. +// +// ********************************************************************** + +package Ice; + +final class _AMD_Object_ice_invoke extends IceInternal.IncomingAsync implements AMD_Object_ice_invoke +{ + public + _AMD_Object_ice_invoke(IceInternal.Incoming in) + { + super(in); + } + + public void + ice_response(boolean ok, byte[] outParams) + { + try + { + __os().writeBlob(outParams); + } + catch(Ice.LocalException ex) + { + __exception(ex); + return; + } + + __response(ok); + } + + public void + ice_exception(java.lang.Exception ex) + { + __exception(ex); + } +}; |