2 * Copyright (c) 2004 University of Murcia. All rights reserved.
3 * --------------------------------------------------------------
4 * For more information, please see <http://www.umu.euro6ix.org/>.
7 package org.umu.cops.prpdp;
9 import org.umu.cops.stack.COPSError;
11 import java.util.Hashtable;
15 * Abstract class for implementing policy data processing classes for provisioning PDPs.
17 public interface COPSPdpDataProcess {
19 * Gets the policies to be uninstalled
20 * @param man The associated request state manager
21 * @return A <tt>Vector</tt> holding the policies to be uninstalled
23 public Hashtable getRemovePolicy(COPSPdpReqStateMan man);
25 * Gets the policies to be installed
26 * @param man The associated request state manager
27 * @return A <tt>Vector</tt> holding the policies to be uninstalled
29 public Hashtable getInstallPolicy(COPSPdpReqStateMan man);
31 * Makes a decision from the supplied request data
32 * @param man The associated request state manager
33 * @param reqSIs Client specific data suppplied in the COPS request
35 public void setClientData(COPSPdpReqStateMan man, Map<String, String> reqSIs);
37 * Builds a failure report
38 * @param man The associated request state manager
39 * @param reportSIs Report data
41 public void failReport(COPSPdpReqStateMan man, Map<String, String> reportSIs);
43 * Builds a success report
44 * @param man The associated request state manager
45 * @param reportSIs Report data
47 public void successReport(COPSPdpReqStateMan man, Map<String, String> reportSIs);
49 * Builds an accounting report
50 * @param man The associated request state manager
51 * @param reportSIs Report data
53 public void acctReport(COPSPdpReqStateMan man, Map<String, String> reportSIs);
55 * Notifies that no accounting report has been received
56 * @param man The associated request state manager
58 public void notifyNoAcctReport (COPSPdpReqStateMan man);
61 * Notifies a keep-alive timeout
62 * @param man The associated request state manager
64 public void notifyNoKAliveReceived (COPSPdpReqStateMan man);
67 * Notifies that the connection has been closed
68 * @param man The associated request state manager
71 public void notifyClosedConnection (COPSPdpReqStateMan man, COPSError error);
74 * Notifies that a request state has been deleted
75 * @param man The associated request state manager
77 public void notifyDeleteRequestState (COPSPdpReqStateMan man);
80 * Notifies that a request state has been closed
81 * @param man The associated request state manager
83 public void closeRequestState(COPSPdpReqStateMan man);