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