1 package org.umu.cops.ospdp;
3 import org.umu.cops.stack.COPSClientSI;
4 import org.umu.cops.stack.COPSError;
6 import java.util.Vector;
9 * Abstract class for implementing policy data processing classes for outsourcing PDPs.
11 public interface COPSPdpOSDataProcess {
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
17 public Vector getRemovePolicy(COPSPdpOSReqStateMan man);
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
23 public Vector getInstallPolicy(COPSPdpOSReqStateMan man);
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
29 public void setClientData(COPSPdpOSReqStateMan man, COPSClientSI... reqSIs);
31 * Builds a failure report
32 * @param man The associated request state manager
33 * @param reportSIs Report data
35 public void failReport (COPSPdpOSReqStateMan man, COPSClientSI... reportSIs);
37 * Builds a success report
38 * @param man The associated request state manager
39 * @param reportSIs Report data
41 public void successReport (COPSPdpOSReqStateMan man, COPSClientSI... reportSIs);
43 * Builds an accounting report
44 * @param man The associated request state manager
45 * @param reportSIs Report data
47 public void acctReport (COPSPdpOSReqStateMan man, COPSClientSI... reportSIs);
49 * Notifies that no accounting report has been received
50 * @param man The associated request state manager
52 abstract void notifyNoAcctReport (COPSPdpOSReqStateMan man);
55 * Notifies a keep-alive timeout
56 * @param man The associated request state manager
58 abstract void notifyNoKAliveReceived (COPSPdpOSReqStateMan man);
61 * Notifies that the connection has been closed
62 * @param man The associated request state manager
65 abstract void notifyClosedConnection (COPSPdpOSReqStateMan man, COPSError error);
68 * Notifies that a request state has been deleted
69 * @param man The associated request state manager
71 abstract void notifyDeleteRequestState (COPSPdpOSReqStateMan man);
74 * Notifies that a request state has been closed
75 * @param man The associated request state manager
77 abstract void closeRequestState(COPSPdpOSReqStateMan man);