/* * Copyright (c) 2004 University of Murcia. All rights reserved. * -------------------------------------------------------------- * For more information, please see . */ package org.umu.cops.prpdp; import java.util.Hashtable; import org.umu.cops.stack.COPSError; /** * Abstract class for implementing policy data processing classes for provisioning PDPs. */ abstract public class COPSPdpDataProcess { /** * Gets the policies to be uninstalled * @param man The associated request state manager * @return A Vector holding the policies to be uninstalled */ abstract public Hashtable getRemovePolicy(COPSPdpReqStateMan man); /** * Gets the policies to be installed * @param man The associated request state manager * @return A Vector holding the policies to be uninstalled */ abstract public Hashtable getInstallPolicy(COPSPdpReqStateMan man); /** * Makes a decision from the supplied request data * @param man The associated request state manager * @param reqSIs Client specific data suppplied in the COPS request */ abstract public void setClientData(COPSPdpReqStateMan man, Hashtable reqSIs); /** * Builds a failure report * @param man The associated request state manager * @param reportSIs Report data */ abstract public void failReport (COPSPdpReqStateMan man, Hashtable reportSIs); /** * Builds a success report * @param man The associated request state manager * @param reportSIs Report data */ abstract public void successReport (COPSPdpReqStateMan man, Hashtable reportSIs); /** * Builds an accounting report * @param man The associated request state manager * @param reportSIs Report data */ abstract public void acctReport (COPSPdpReqStateMan man, Hashtable reportSIs); /** * Notifies that no accounting report has been received * @param man The associated request state manager */ public abstract void notifyNoAcctReport (COPSPdpReqStateMan man); /** * Notifies a keep-alive timeout * @param man The associated request state manager */ public abstract void notifyNoKAliveReceived (COPSPdpReqStateMan man); /** * Notifies that the connection has been closed * @param man The associated request state manager * @param error Reason */ public abstract void notifyClosedConnection (COPSPdpReqStateMan man, COPSError error); /** * Notifies that a request state has been deleted * @param man The associated request state manager */ public abstract void notifyDeleteRequestState (COPSPdpReqStateMan man); /** * Notifies that a request state has been closed * @param man The associated request state manager */ public abstract void closeRequestState(COPSPdpReqStateMan man); }