/* * @(#)CorbaMessageMediator.java 1.32 04/06/21 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package com.sun.corba.se.spi.protocol; import java.nio.ByteBuffer; import org.omg.CORBA.INTERNAL; import org.omg.CORBA.SystemException; import org.omg.CORBA.portable.ResponseHandler; import org.omg.CORBA.portable.UnknownException; import org.omg.CORBA_2_3.portable.InputStream; import org.omg.CORBA_2_3.portable.OutputStream; import com.sun.corba.se.pept.broker.Broker; import com.sun.corba.se.pept.protocol.MessageMediator; import com.sun.corba.se.pept.encoding.InputObject; import com.sun.corba.se.pept.encoding.OutputObject; import com.sun.corba.se.pept.protocol.ProtocolHandler; import com.sun.corba.se.pept.transport.Connection; import com.sun.corba.se.spi.ior.IOR; import com.sun.corba.se.spi.ior.ObjectKey; import com.sun.corba.se.spi.ior.iiop.GIOPVersion; import com.sun.corba.se.spi.protocol.CorbaProtocolHandler; import com.sun.corba.se.spi.servicecontext.ServiceContexts; import com.sun.corba.se.impl.protocol.giopmsgheaders.LocateReplyMessage; import com.sun.corba.se.impl.protocol.giopmsgheaders.LocateReplyOrReplyMessage; import com.sun.corba.se.impl.protocol.giopmsgheaders.Message; import com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase; import com.sun.corba.se.impl.protocol.giopmsgheaders.MessageHandler; import com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage; import com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage_1_0; import com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage; import com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_0; /** * @author Harold Carr */ public interface CorbaMessageMediator extends MessageMediator, ResponseHandler { public void setReplyHeader(LocateReplyOrReplyMessage header); public LocateReplyMessage getLocateReplyHeader(); public ReplyMessage getReplyHeader(); public void setReplyExceptionDetailMessage(String message); public RequestMessage getRequestHeader(); public GIOPVersion getGIOPVersion(); public byte getEncodingVersion(); public int getRequestId(); public Integer getRequestIdInteger(); public boolean isOneWay(); public short getAddrDisposition(); public String getOperationName(); public ServiceContexts getRequestServiceContexts(); public ServiceContexts getReplyServiceContexts(); public Message getDispatchHeader(); public void setDispatchHeader(Message msg); public ByteBuffer getDispatchBuffer(); public void setDispatchBuffer(ByteBuffer byteBuffer); public int getThreadPoolToUse(); public byte getStreamFormatVersion(); // REVIST name ForRequest? public byte getStreamFormatVersionForReply(); // REVISIT - not sure if the final fragment and DII stuff should // go here. public void sendCancelRequestIfFinalFragmentNotSent(); public void setDIIInfo(org.omg.CORBA.Request request); public boolean isDIIRequest(); public Exception unmarshalDIIUserException(String repoId, InputStream inputStream); public void setDIIException(Exception exception); public void handleDIIReply(InputStream inputStream); public boolean isSystemExceptionReply(); public boolean isUserExceptionReply(); public boolean isLocationForwardReply(); public boolean isDifferentAddrDispositionRequestedReply(); public short getAddrDispositionReply(); public IOR getForwardedIOR(); public SystemException getSystemExceptionReply(); //////////////////////////////////////////////////// // // Server side // public ObjectKey getObjectKey(); public void setProtocolHandler(CorbaProtocolHandler protocolHandler); public CorbaProtocolHandler getProtocolHandler(); //////////////////////////////////////////////////// // // ResponseHandler // public org.omg.CORBA.portable.OutputStream createReply(); public org.omg.CORBA.portable.OutputStream createExceptionReply(); //////////////////////////////////////////////////// // // from core.ServerRequest // public boolean executeReturnServantInResponseConstructor(); public void setExecuteReturnServantInResponseConstructor(boolean b); public boolean executeRemoveThreadInfoInResponseConstructor(); public void setExecuteRemoveThreadInfoInResponseConstructor(boolean b); public boolean executePIInResponseConstructor(); public void setExecutePIInResponseConstructor( boolean b ); } // End of file.