Merge "Remove "response" from yang."
[packetcable.git] / protocol_plugins.packetcable / src / main / java / org / umu / cops / stack / COPSIpv4Interface.java
1 /*\r
2  * Copyright (c) 2003 University of Murcia.  All rights reserved.\r
3  * --------------------------------------------------------------\r
4  * For more information, please see <http://www.umu.euro6ix.org/>.\r
5  */\r
6 \r
7 package org.umu.cops.stack;\r
8 \r
9 import java.net.UnknownHostException;\r
10 \r
11 /**\r
12  * COPS IPv4 Interface\r
13  *\r
14  * @version COPSIpv4Interface.java, v 1.00 2003\r
15  *\r
16  */\r
17 public abstract class COPSIpv4Interface extends COPSInterface {\r
18 \r
19     protected COPSObjHeader _objHdr;\r
20     private COPSIpv4Address _addr;\r
21     private int _ifindex;\r
22 \r
23 \r
24     /**\r
25      * Method isIpv4Address\r
26      *\r
27      * @return   a boolean\r
28      *\r
29      */\r
30     public boolean isIpv4Address() {\r
31         return true;\r
32     }\r
33 \r
34     /**\r
35      * Method setIpAddress\r
36      *\r
37      * @param    hostName            a  String\r
38      *\r
39      * @throws   UnknownHostException\r
40      *\r
41      */\r
42     public void setIpAddress(String hostName) throws UnknownHostException {\r
43         _addr.setIpAddress(hostName);\r
44     }\r
45 \r
46     /**\r
47      * Method getIpName\r
48      *\r
49      * @return   a String\r
50      *\r
51      * @throws   UnknownHostException\r
52      *\r
53      */\r
54     public String getIpName() throws UnknownHostException {\r
55         return (_addr.getIpName());\r
56     }\r
57 \r
58     /**\r
59      * Method getIpAddress\r
60      *\r
61      * @return   an int\r
62      *\r
63      */\r
64     public int getIpAddress() {\r
65         return (_addr.getIpAddress());\r
66     }\r
67 \r
68     /**\r
69      * Returns size in number of octects, including header\r
70      *\r
71      * @return   a short\r
72      *\r
73      */\r
74     public short getDataLength() {\r
75         //Add the size of the header also\r
76         return (_objHdr.getDataLength());\r
77     }\r
78 \r
79     protected COPSIpv4Interface() {\r
80         _objHdr = new COPSObjHeader();\r
81         _objHdr.setCType((byte) 1);\r
82         _objHdr.setDataLength((short) (_addr.getDataLength() + 4));\r
83     }\r
84 \r
85     protected COPSIpv4Interface(byte[] dataPtr) {\r
86         _objHdr = new COPSObjHeader();\r
87         _objHdr.parse(dataPtr);\r
88         // _objHdr.checkDataLength();\r
89 \r
90         byte[] buf = new byte[4];\r
91         System.arraycopy(dataPtr,4,buf,0,4);\r
92 \r
93         _addr.parse(buf);\r
94 \r
95         _ifindex |= ((int) dataPtr[8]) << 24;\r
96         _ifindex |= ((int) dataPtr[9]) << 16;\r
97         _ifindex |= ((int) dataPtr[10]) << 8;\r
98         _ifindex |= ((int) dataPtr[11]) & 0xFF;\r
99 \r
100         _objHdr.setDataLength((short) (_addr.getDataLength() + 4));\r
101     }\r
102 \r
103 }\r
104 \r
105 \r
106 \r
107 \r