1   package com.mccrory.scott.spumoni;
2   
3   ////////////////////////////////////////////////////////////////////////////////
4   // This library is free software; you can redistribute it and/or
5   // modify it under the terms of the GNU Lesser General Public
6   // License as published by the Free Software Foundation; either
7   // version 2.1 of the License, or (at your option) any later version.
8   //
9   // (Also available online at http://www.fsf.org/copyleft/lesser.html)
10  //
11  // This library is distributed in the hope that it will be useful,
12  // but WITHOUT ANY WARRANTY; without even the implied warranty of
13  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  // Lesser General Public License for more details.
15  //
16  // You should have received a copy of the GNU Lesser General Public
17  // License along with this library; if not, write to the Free Software
18  // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  ////////////////////////////////////////////////////////////////////////////////
20  
21  import org.opennms.protocols.snmp.SnmpVarBind;
22  
23  /**
24   * <P><code>OidHandler</code> defines standards for handling SNMP requests.
25   * Concrete implementations are typically registered with an SnmpAgentHandler
26   * so that the handler can know which OidHandlers are responsible for which
27   * oid subtrees.</P>
28   *
29   * @author <a href="mailto:smccrory@users.sourceforge.net">Scott McCrory</a>
30   * @version CVS $Id: OidHandler.java,v 1.4 2002/08/04 22:04:53 smccrory Exp $
31   */
32  public interface OidHandler {
33  
34      /**
35       * Handles SNMP GET PDUs.
36       *
37       * @param varBind The request SnmpVarBind
38       * @return The response SnmpVarBind.
39       *
40       */
41      public SnmpVarBind handleGet(
42          SnmpVarBind varBind);
43  
44      /**
45       * Handles SNMP GETBULK PDUs.
46       *
47       * @param varBind The request SnmpVarBind
48       * @return The response SnmpVarBind.
49       *
50       */
51      public SnmpVarBind handleGetbulk(
52          SnmpVarBind varBind);
53  
54      /**
55       * Handles SNMP GETNEXT PDUs.
56       *
57       * @param varBind The request SnmpVarBind
58       * @return The response SnmpVarBind.
59       *
60       */
61      public SnmpVarBind handleGetnext(
62          SnmpVarBind varBind);
63  
64      /**
65       * Handles SNMP INFORM PDUs.
66       *
67       * @param varBind The request SnmpVarBind
68       * @return The response SnmpVarBind.
69       *
70       */
71      public SnmpVarBind handleInform(
72          SnmpVarBind varBind);
73  
74      /**
75       * Handles SNMP REPORT PDUs.
76       *
77       * @param varBind The request SnmpVarBind
78       * @return The response SnmpVarBind.
79       *
80       */
81      public SnmpVarBind handleReport(
82          SnmpVarBind varBind);
83  
84      /**
85       * Handles SNMP RESPONSE PDUs.
86       *
87       * @param varBind The request SnmpVarBind
88       * @return The response SnmpVarBind.
89       *
90       */
91      public SnmpVarBind handleResponse(
92          SnmpVarBind varBind);
93  
94      /**
95       * Handles SNMP SET PDUs.
96       *
97       * @param varBind The request SnmpVarBind
98       * @return The response SnmpVarBind.
99       *
100      */
101     public SnmpVarBind handleSet(
102         SnmpVarBind varBind);
103 
104     /**
105      * Handles SNMP TRAP PDUs.
106      *
107      * @param varBind The request SnmpVarBind
108      * @return The response SnmpVarBind.
109      *
110      */
111     public SnmpVarBind handleTrap(
112         SnmpVarBind varBind);
113 
114     /**
115      * Handles SNMP V2TRAP PDUs.
116      *
117      * @param varBind The request SnmpVarBind
118      * @return The response SnmpVarBind.
119      */
120     public SnmpVarBind handleV2Trap(
121         SnmpVarBind varBind);
122 
123 }