Merge "Remove "response" from yang."
[packetcable.git] / packetcable-driver / src / main / java / org / pcmm / gates / impl / GateSpec.java
1 /**
2  @header@
3  */
4 package org.pcmm.gates.impl;
5
6 import org.pcmm.base.impl.PCMMBaseObject;
7 import org.pcmm.gates.IGateSpec;
8 import org.pcmm.gates.ISessionClassID;
9
10 /**
11  *
12  */
13 public class GateSpec extends PCMMBaseObject implements IGateSpec {
14
15     // GateSpec flags are Direction (bit 0) and DSCPTOS overwrite enable (bit 1)
16     private byte flags = 0;
17
18     public GateSpec() {
19         super(LENGTH, STYPE, SNUM);
20     }
21
22     public GateSpec(byte[] data) {
23         super(data);
24     }
25
26     @Override
27     public ISessionClassID getSessionClassID() {
28         return new SessionClassID(getByte((short) 3));
29     }
30
31     @Override
32     public void setSessionClassID(ISessionClassID id) {
33         setByte(id.toSingleByte(), (short) 3);
34     }
35
36     @Override
37     public Direction getDirection() {
38         return Direction.valueOf(getByte((short) 0));
39     }
40
41     @Override
42     public void setDirection(Direction direction) {
43         // OR in the Direction flag with the DSCPTOS enable flag
44         flags |= direction.getValue();
45         setByte(flags, (short) 0);
46     }
47
48     @Override
49     public short getTimerT1() {
50         return getShort((short) 4);
51     }
52
53     @Override
54     public void setTimerT1(short authTimer) {
55         setShort(authTimer, (short) 4);
56     }
57
58     @Override
59     public short getTimerT2() {
60         return getShort((short) 6);
61     }
62
63     @Override
64     public void setTimerT2(short timer) {
65         setShort(timer, (short) 6);
66
67     }
68
69     @Override
70     public short getTimerT3() {
71         return getShort((short) 8);
72     }
73
74     @Override
75     public void setTimerT3(short t) {
76         setShort(t, (short) 8);
77
78     }
79
80     @Override
81     public short getTimerT4() {
82         return getShort((short) 10);
83     }
84
85     @Override
86     public void setTimerT4(short t) {
87         setShort(t, (short) 10);
88     }
89
90     @Override
91     public void setDSCP_TOSOverwrite(DSCPTOS dscpTos) {
92         // OR in the DSCPTOS enable flag with the Direction flag
93         setDSCP_TOSOverwrite(dscpTos.getValue());
94     }
95
96     @Override
97     public void setDSCP_TOSOverwrite(byte dscpTos) {
98         flags |= dscpTos;
99         setByte(flags, (short) 1);
100     }
101
102
103     @Override
104     public DSCPTOS getDSCP_TOSOverwrite() {
105         return DSCPTOS.valueOf(getByte((short) 1));
106     }
107
108     @Override
109     public byte getDSCP_TOSMask() {
110         return getByte((short) 2);
111     }
112
113     @Override
114     public void setDSCP_TOSMask(byte dscp_tos_mask) {
115         setByte(dscp_tos_mask, (short) 2);
116     }
117
118 }