1 package org.umu.cops.ospdp;
\r
3 import java.util.Vector;
\r
5 import org.umu.cops.stack.COPSError;
\r
8 * Abstract class for implementing policy data processing classes for outsourcing PDPs.
\r
10 abstract public class COPSPdpOSDataProcess {
\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
16 abstract public Vector getRemovePolicy(COPSPdpOSReqStateMan man);
\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
22 abstract public Vector getInstallPolicy(COPSPdpOSReqStateMan man);
\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
28 abstract public void setClientData(COPSPdpOSReqStateMan man, Vector reqSIs);
\r
30 * Builds a failure report
\r
31 * @param man The associated request state manager
\r
32 * @param reportSIs Report data
\r
34 abstract public void failReport (COPSPdpOSReqStateMan man, Vector reportSIs);
\r
36 * Builds a success report
\r
37 * @param man The associated request state manager
\r
38 * @param reportSIs Report data
\r
40 abstract public void successReport (COPSPdpOSReqStateMan man, Vector reportSIs);
\r
42 * Builds an accounting report
\r
43 * @param man The associated request state manager
\r
44 * @param reportSIs Report data
\r
46 abstract public void acctReport (COPSPdpOSReqStateMan man, Vector reportSIs);
\r
48 * Notifies that no accounting report has been received
\r
49 * @param man The associated request state manager
\r
51 public abstract void notifyNoAcctReport (COPSPdpOSReqStateMan man);
\r
54 * Notifies a keep-alive timeout
\r
55 * @param man The associated request state manager
\r
57 public abstract void notifyNoKAliveReceived (COPSPdpOSReqStateMan man);
\r
60 * Notifies that the connection has been closed
\r
61 * @param man The associated request state manager
\r
62 * @param error Reason
\r
64 public abstract void notifyClosedConnection (COPSPdpOSReqStateMan man, COPSError error);
\r
67 * Notifies that a request state has been deleted
\r
68 * @param man The associated request state manager
\r
70 public abstract void notifyDeleteRequestState (COPSPdpOSReqStateMan man);
\r
73 * Notifies that a request state has been closed
\r
74 * @param man The associated request state manager
\r
76 public abstract void closeRequestState(COPSPdpOSReqStateMan man);
\r