package org.umu.cops.ospep; import java.util.Vector; import org.umu.cops.stack.COPSDecisionMsg; import org.umu.cops.stack.COPSError; /** * Abstract class for implementing policy data processing classes for outsourcing PEPs. */ public abstract class COPSPepOSDataProcess { /** * Applies the decisions from the PDP * @param man The request state manager * @param dMsg The decisions message * @return true if failed (reports indicate failure), false otherwise */ public abstract boolean setDecisions(COPSPepOSReqStateMan man, COPSDecisionMsg dMsg); /** * Gets the report data * @param man The request state manager * @return A Vector holding the report data */ public abstract Vector getReportData(COPSPepOSReqStateMan man); /** * Gets the supplied client data * @param man The request state manager * @return A Vector holding the client data */ public abstract Vector getClientData(COPSPepOSReqStateMan man); /** * Gets the account data * @param man The request state manager * @return A Vector holding the account data */ public abstract Vector getAcctData(COPSPepOSReqStateMan man); /** * Called when the connection is closed * @param man The request state manager * @param error Reason */ public abstract void notifyClosedConnection (COPSPepOSReqStateMan man, COPSError error); /** * Called when the keep-alive message is not received * @param man The request state manager */ public abstract void notifyNoKAliveReceived (COPSPepOSReqStateMan man); /** * Process a PDP request to close a Request State * @param man The request state manager */ public abstract void closeRequestState(COPSPepOSReqStateMan man); }