1. /*
  2. * @(#)MarshalOutputStream.java 1.25 03/01/23
  3. *
  4. * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package com.sun.corba.se.internal.core;
  8. import java.io.IOException;
  9. import org.omg.CORBA.TypeCode;
  10. import org.omg.CORBA.Principal;
  11. import org.omg.CORBA.Any;
  12. import org.omg.CORBA.portable.InputStream;
  13. public interface MarshalOutputStream {
  14. public InputStream create_input_stream();
  15. public void write_boolean(boolean value);
  16. public void write_char(char value);
  17. public void write_wchar(char value);
  18. public void write_octet(byte value);
  19. public void write_short(short value);
  20. public void write_ushort(short value);
  21. public void write_long(int value);
  22. public void write_ulong(int value);
  23. public void write_longlong(long value);
  24. public void write_ulonglong(long value);
  25. public void write_float(float value);
  26. public void write_double(double value);
  27. public void write_string(String value);
  28. public void write_wstring(String value);
  29. public void write_boolean_array(boolean[] value, int offset, int length);
  30. public void write_char_array(char[] value, int offset, int length);
  31. public void write_wchar_array(char[] value, int offset, int length);
  32. public void write_octet_array(byte[] value, int offset, int length);
  33. public void write_short_array(short[] value, int offset, int length);
  34. public void write_ushort_array(short[] value, int offset, int length);
  35. public void write_long_array(int[] value, int offset, int length);
  36. public void write_ulong_array(int[] value, int offset, int length);
  37. public void write_longlong_array(long[] value, int offset, int length);
  38. public void write_ulonglong_array(long[] value, int offset, int length);
  39. public void write_float_array(float[] value, int offset, int length);
  40. public void write_double_array(double[] value, int offset, int length);
  41. public void write_Object(org.omg.CORBA.Object value);
  42. public void write_TypeCode(TypeCode value);
  43. public void write_any(Any value);
  44. public void write_Principal(Principal value);
  45. /*
  46. * The methods necessary to support RMI
  47. */
  48. public void write_value(java.io.Serializable value);
  49. public void start_block();
  50. public void end_block();
  51. /*
  52. * Additional Methods
  53. */
  54. public void putEndian();
  55. public void writeTo(java.io.OutputStream stream)
  56. throws IOException;
  57. public byte[] toByteArray();
  58. }