Merge "Remove "response" from yang."
[packetcable.git] / protocol_plugins.packetcable / src / main / java / org / umu / cops / ospdp / COPSPdpOSDataProcess.java
1 package org.umu.cops.ospdp;\r
2 \r
3 import java.util.Vector;\r
4 \r
5 import org.umu.cops.stack.COPSError;\r
6 \r
7 /**\r
8  * Abstract class for implementing policy data processing classes for outsourcing PDPs.\r
9  */\r
10 abstract public class COPSPdpOSDataProcess {\r
11     /**\r
12      * Gets the policies to be uninstalled\r
13      * @param man   The associated request state manager\r
14      * @return A <tt>Vector</tt> holding the policies to be uninstalled\r
15      */\r
16     abstract public Vector getRemovePolicy(COPSPdpOSReqStateMan man);\r
17     /**\r
18      * Gets the policies to be installed\r
19      * @param man   The associated request state manager\r
20      * @return A <tt>Vector</tt> holding the policies to be uninstalled\r
21      */\r
22     abstract public Vector getInstallPolicy(COPSPdpOSReqStateMan man);\r
23     /**\r
24      * Makes a decision from the supplied request data\r
25      * @param man   The associated request state manager\r
26      * @param reqSIs    Client specific data suppplied in the COPS request\r
27      */\r
28     abstract public void setClientData(COPSPdpOSReqStateMan man, Vector reqSIs);\r
29     /**\r
30      * Builds a failure report\r
31      * @param man   The associated request state manager\r
32      * @param reportSIs Report data\r
33      */\r
34     abstract public void failReport (COPSPdpOSReqStateMan man, Vector reportSIs);\r
35     /**\r
36      * Builds a success report\r
37      * @param man   The associated request state manager\r
38      * @param reportSIs Report data\r
39      */\r
40     abstract public void successReport (COPSPdpOSReqStateMan man, Vector reportSIs);\r
41     /**\r
42      * Builds an accounting report\r
43      * @param man   The associated request state manager\r
44      * @param reportSIs Report data\r
45      */\r
46     abstract public void acctReport (COPSPdpOSReqStateMan man, Vector reportSIs);\r
47     /**\r
48      * Notifies that no accounting report has been received\r
49      * @param man   The associated request state manager\r
50      */\r
51     public abstract void notifyNoAcctReport (COPSPdpOSReqStateMan man);\r
52 \r
53     /**\r
54      * Notifies a keep-alive timeout\r
55      * @param man   The associated request state manager\r
56      */\r
57     public abstract void notifyNoKAliveReceived (COPSPdpOSReqStateMan man);\r
58 \r
59     /**\r
60       * Notifies that the connection has been closed\r
61       * @param man  The associated request state manager\r
62       * @param error Reason\r
63       */\r
64     public abstract void notifyClosedConnection (COPSPdpOSReqStateMan man, COPSError error);\r
65 \r
66     /**\r
67      * Notifies that a request state has been deleted\r
68      * @param man   The associated request state manager\r
69      */\r
70     public abstract void notifyDeleteRequestState (COPSPdpOSReqStateMan man);\r
71 \r
72     /**\r
73      * Notifies that a request state has been closed\r
74      * @param man   The associated request state manager\r
75      */\r
76     public abstract void closeRequestState(COPSPdpOSReqStateMan man);\r
77 \r
78 }\r