KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jacorb > orb > giop > MessageInputStream


1 package org.jacorb.orb.giop;
2
3 /*
4  * JacORB - a free Java ORB
5  *
6  * Copyright (C) 1997-2004 Gerald Brose.
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Library General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Library General Public License for more details.
17  *
18  * You should have received a copy of the GNU Library General Public
19  * License along with this library; if not, write to the Free
20  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21  */

22
23 import org.jacorb.orb.CDRInputStream;
24 import org.omg.CORBA.MARSHAL JavaDoc;
25
26 /**
27  * MessageInputStream.java
28  *
29  *
30  * Created: Sat Aug 18 21:07:07 2002
31  *
32  * @author Nicolas Noffke
33  * @version $Id: MessageInputStream.java,v 1.8 2004/05/06 12:40:00 nicolas Exp $
34  */

35
36 public class MessageInputStream
37     extends CDRInputStream
38 {
39
40     public int msg_size = -1;
41
42     public MessageInputStream( org.omg.CORBA.ORB JavaDoc orb, byte[] buffer)
43     {
44         super( orb, buffer );
45
46         //check major version
47
if( Messages.getGIOPMajor( buffer ) != 1 )
48         {
49             throw new MARSHAL JavaDoc
50                 ("Unknown GIOP major version: " + Messages.getGIOPMajor(buffer));
51         }
52
53         //although the attribute is renamed, this should work for 1.0
54
//and 1.1/1.2
55
setLittleEndian( Messages.isLittleEndian( buffer ));
56
57         setGIOPMinor( Messages.getGIOPMinor( buffer ) );
58
59         msg_size = Messages.getMsgSize( buffer );
60
61         //skip the message header. Its attributes are read directly
62
skip( Messages.MSG_HEADER_SIZE );
63     }
64 }// MessageInputStream
65
Popular Tags