1. /*
  2. * @(#)CorbaMessageMediator.java 1.32 04/06/21
  3. *
  4. * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package com.sun.corba.se.spi.protocol;
  8. import java.nio.ByteBuffer;
  9. import org.omg.CORBA.INTERNAL;
  10. import org.omg.CORBA.SystemException;
  11. import org.omg.CORBA.portable.ResponseHandler;
  12. import org.omg.CORBA.portable.UnknownException;
  13. import org.omg.CORBA_2_3.portable.InputStream;
  14. import org.omg.CORBA_2_3.portable.OutputStream;
  15. import com.sun.corba.se.pept.broker.Broker;
  16. import com.sun.corba.se.pept.protocol.MessageMediator;
  17. import com.sun.corba.se.pept.encoding.InputObject;
  18. import com.sun.corba.se.pept.encoding.OutputObject;
  19. import com.sun.corba.se.pept.protocol.ProtocolHandler;
  20. import com.sun.corba.se.pept.transport.Connection;
  21. import com.sun.corba.se.spi.ior.IOR;
  22. import com.sun.corba.se.spi.ior.ObjectKey;
  23. import com.sun.corba.se.spi.ior.iiop.GIOPVersion;
  24. import com.sun.corba.se.spi.protocol.CorbaProtocolHandler;
  25. import com.sun.corba.se.spi.servicecontext.ServiceContexts;
  26. import com.sun.corba.se.impl.protocol.giopmsgheaders.LocateReplyMessage;
  27. import com.sun.corba.se.impl.protocol.giopmsgheaders.LocateReplyOrReplyMessage;
  28. import com.sun.corba.se.impl.protocol.giopmsgheaders.Message;
  29. import com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase;
  30. import com.sun.corba.se.impl.protocol.giopmsgheaders.MessageHandler;
  31. import com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage;
  32. import com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage_1_0;
  33. import com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage;
  34. import com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_0;
  35. /**
  36. * @author Harold Carr
  37. */
  38. public interface CorbaMessageMediator
  39. extends
  40. MessageMediator,
  41. ResponseHandler
  42. {
  43. public void setReplyHeader(LocateReplyOrReplyMessage header);
  44. public LocateReplyMessage getLocateReplyHeader();
  45. public ReplyMessage getReplyHeader();
  46. public void setReplyExceptionDetailMessage(String message);
  47. public RequestMessage getRequestHeader();
  48. public GIOPVersion getGIOPVersion();
  49. public byte getEncodingVersion();
  50. public int getRequestId();
  51. public Integer getRequestIdInteger();
  52. public boolean isOneWay();
  53. public short getAddrDisposition();
  54. public String getOperationName();
  55. public ServiceContexts getRequestServiceContexts();
  56. public ServiceContexts getReplyServiceContexts();
  57. public Message getDispatchHeader();
  58. public void setDispatchHeader(Message msg);
  59. public ByteBuffer getDispatchBuffer();
  60. public void setDispatchBuffer(ByteBuffer byteBuffer);
  61. public int getThreadPoolToUse();
  62. public byte getStreamFormatVersion(); // REVIST name ForRequest?
  63. public byte getStreamFormatVersionForReply();
  64. // REVISIT - not sure if the final fragment and DII stuff should
  65. // go here.
  66. public void sendCancelRequestIfFinalFragmentNotSent();
  67. public void setDIIInfo(org.omg.CORBA.Request request);
  68. public boolean isDIIRequest();
  69. public Exception unmarshalDIIUserException(String repoId,
  70. InputStream inputStream);
  71. public void setDIIException(Exception exception);
  72. public void handleDIIReply(InputStream inputStream);
  73. public boolean isSystemExceptionReply();
  74. public boolean isUserExceptionReply();
  75. public boolean isLocationForwardReply();
  76. public boolean isDifferentAddrDispositionRequestedReply();
  77. public short getAddrDispositionReply();
  78. public IOR getForwardedIOR();
  79. public SystemException getSystemExceptionReply();
  80. ////////////////////////////////////////////////////
  81. //
  82. // Server side
  83. //
  84. public ObjectKey getObjectKey();
  85. public void setProtocolHandler(CorbaProtocolHandler protocolHandler);
  86. public CorbaProtocolHandler getProtocolHandler();
  87. ////////////////////////////////////////////////////
  88. //
  89. // ResponseHandler
  90. //
  91. public org.omg.CORBA.portable.OutputStream createReply();
  92. public org.omg.CORBA.portable.OutputStream createExceptionReply();
  93. ////////////////////////////////////////////////////
  94. //
  95. // from core.ServerRequest
  96. //
  97. public boolean executeReturnServantInResponseConstructor();
  98. public void setExecuteReturnServantInResponseConstructor(boolean b);
  99. public boolean executeRemoveThreadInfoInResponseConstructor();
  100. public void setExecuteRemoveThreadInfoInResponseConstructor(boolean b);
  101. public boolean executePIInResponseConstructor();
  102. public void setExecutePIInResponseConstructor( boolean b );
  103. }
  104. // End of file.