2 * Copyright (c) 2004 University of Murcia. All rights reserved.
\r
3 * --------------------------------------------------------------
\r
4 * For more information, please see <http://www.umu.euro6ix.org/>.
\r
7 package org.umu.cops.prpdp;
\r
9 import java.util.Hashtable;
\r
11 import org.umu.cops.stack.COPSError;
\r
14 * Abstract class for implementing policy data processing classes for provisioning PDPs.
\r
16 abstract public class COPSPdpDataProcess {
\r
18 * Gets the policies to be uninstalled
\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 Hashtable getRemovePolicy(COPSPdpReqStateMan man);
\r
24 * Gets the policies to be installed
\r
25 * @param man The associated request state manager
\r
26 * @return A <tt>Vector</tt> holding the policies to be uninstalled
\r
28 abstract public Hashtable getInstallPolicy(COPSPdpReqStateMan man);
\r
30 * Makes a decision from the supplied request data
\r
31 * @param man The associated request state manager
\r
32 * @param reqSIs Client specific data suppplied in the COPS request
\r
34 abstract public void setClientData(COPSPdpReqStateMan man, Hashtable reqSIs);
\r
36 * Builds a failure report
\r
37 * @param man The associated request state manager
\r
38 * @param reportSIs Report data
\r
40 abstract public void failReport (COPSPdpReqStateMan man, Hashtable reportSIs);
\r
42 * Builds a success report
\r
43 * @param man The associated request state manager
\r
44 * @param reportSIs Report data
\r
46 abstract public void successReport (COPSPdpReqStateMan man, Hashtable reportSIs);
\r
48 * Builds an accounting report
\r
49 * @param man The associated request state manager
\r
50 * @param reportSIs Report data
\r
52 abstract public void acctReport (COPSPdpReqStateMan man, Hashtable reportSIs);
\r
54 * Notifies that no accounting report has been received
\r
55 * @param man The associated request state manager
\r
57 public abstract void notifyNoAcctReport (COPSPdpReqStateMan man);
\r
60 * Notifies a keep-alive timeout
\r
61 * @param man The associated request state manager
\r
63 public abstract void notifyNoKAliveReceived (COPSPdpReqStateMan man);
\r
66 * Notifies that the connection has been closed
\r
67 * @param man The associated request state manager
\r
68 * @param error Reason
\r
70 public abstract void notifyClosedConnection (COPSPdpReqStateMan man, COPSError error);
\r
73 * Notifies that a request state has been deleted
\r
74 * @param man The associated request state manager
\r
76 public abstract void notifyDeleteRequestState (COPSPdpReqStateMan man);
\r
79 * Notifies that a request state has been closed
\r
80 * @param man The associated request state manager
\r
82 public abstract void closeRequestState(COPSPdpReqStateMan man);
\r