KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > ch > ethz > ssh2 > packets > PacketServiceRequest


1 package ch.ethz.ssh2.packets;
2
3 import java.io.IOException JavaDoc;
4
5 /**
6  * PacketServiceRequest.
7  *
8  * @author Christian Plattner, plattner@inf.ethz.ch
9  * @version $Id: PacketServiceRequest.java,v 1.2 2005/08/24 17:54:09 cplattne Exp $
10  */

11 public class PacketServiceRequest
12 {
13     byte[] payload;
14
15     String JavaDoc serviceName;
16
17     public PacketServiceRequest(String JavaDoc serviceName)
18     {
19         this.serviceName = serviceName;
20     }
21
22     public PacketServiceRequest(byte payload[], int off, int len) throws IOException JavaDoc
23     {
24         this.payload = new byte[len];
25         System.arraycopy(payload, off, this.payload, 0, len);
26
27         TypesReader tr = new TypesReader(payload, off, len);
28
29         int packet_type = tr.readByte();
30
31         if (packet_type != Packets.SSH_MSG_SERVICE_REQUEST)
32             throw new IOException JavaDoc("This is not a SSH_MSG_SERVICE_REQUEST! ("
33                     + packet_type + ")");
34
35         serviceName = tr.readString();
36
37         if (tr.remain() != 0)
38             throw new IOException JavaDoc("Padding in SSH_MSG_SERVICE_REQUEST packet!");
39     }
40
41     public byte[] getPayload()
42     {
43         if (payload == null)
44         {
45             TypesWriter tw = new TypesWriter();
46             tw.writeByte(Packets.SSH_MSG_SERVICE_REQUEST);
47             tw.writeString(serviceName);
48             payload = tw.getBytes();
49         }
50         return payload;
51     }
52 }
53
Popular Tags