Completed COPS Message refactoring. Was planning on one additional patch starting...
[packetcable.git] / packetcable-driver / src / main / java / org / umu / cops / ospdp / COPSPdpOSDataProcess.java
index 4a5e438554b41adf81b579ff9f1ada42a69b9573..c45c7cbf75cb7decd04d6a556f59fa461e6df724 100644 (file)
@@ -1,78 +1,79 @@
-package org.umu.cops.ospdp;\r
-\r
-import java.util.Vector;\r
-\r
-import org.umu.cops.stack.COPSError;\r
-\r
-/**\r
- * Abstract class for implementing policy data processing classes for outsourcing PDPs.\r
- */\r
-abstract public class COPSPdpOSDataProcess {\r
-    /**\r
-     * Gets the policies to be uninstalled\r
-     * @param man   The associated request state manager\r
-     * @return A <tt>Vector</tt> holding the policies to be uninstalled\r
-     */\r
-    abstract public Vector getRemovePolicy(COPSPdpOSReqStateMan man);\r
-    /**\r
-     * Gets the policies to be installed\r
-     * @param man   The associated request state manager\r
-     * @return A <tt>Vector</tt> holding the policies to be uninstalled\r
-     */\r
-    abstract public Vector getInstallPolicy(COPSPdpOSReqStateMan man);\r
-    /**\r
-     * Makes a decision from the supplied request data\r
-     * @param man   The associated request state manager\r
-     * @param reqSIs    Client specific data suppplied in the COPS request\r
-     */\r
-    abstract public void setClientData(COPSPdpOSReqStateMan man, Vector reqSIs);\r
-    /**\r
-     * Builds a failure report\r
-     * @param man   The associated request state manager\r
-     * @param reportSIs Report data\r
-     */\r
-    abstract public void failReport (COPSPdpOSReqStateMan man, Vector reportSIs);\r
-    /**\r
-     * Builds a success report\r
-     * @param man   The associated request state manager\r
-     * @param reportSIs Report data\r
-     */\r
-    abstract public void successReport (COPSPdpOSReqStateMan man, Vector reportSIs);\r
-    /**\r
-     * Builds an accounting report\r
-     * @param man   The associated request state manager\r
-     * @param reportSIs Report data\r
-     */\r
-    abstract public void acctReport (COPSPdpOSReqStateMan man, Vector reportSIs);\r
-    /**\r
-     * Notifies that no accounting report has been received\r
-     * @param man   The associated request state manager\r
-     */\r
-    public abstract void notifyNoAcctReport (COPSPdpOSReqStateMan man);\r
-\r
-    /**\r
-     * Notifies a keep-alive timeout\r
-     * @param man   The associated request state manager\r
-     */\r
-    public abstract void notifyNoKAliveReceived (COPSPdpOSReqStateMan man);\r
-\r
-    /**\r
-      * Notifies that the connection has been closed\r
-      * @param man  The associated request state manager\r
-      * @param error Reason\r
-      */\r
-    public abstract void notifyClosedConnection (COPSPdpOSReqStateMan man, COPSError error);\r
-\r
-    /**\r
-     * Notifies that a request state has been deleted\r
-     * @param man   The associated request state manager\r
-     */\r
-    public abstract void notifyDeleteRequestState (COPSPdpOSReqStateMan man);\r
-\r
-    /**\r
-     * Notifies that a request state has been closed\r
-     * @param man   The associated request state manager\r
-     */\r
-    public abstract void closeRequestState(COPSPdpOSReqStateMan man);\r
-\r
-}\r
+package org.umu.cops.ospdp;
+
+import org.umu.cops.stack.COPSClientSI;
+import org.umu.cops.stack.COPSError;
+
+import java.util.Vector;
+
+/**
+ * Abstract class for implementing policy data processing classes for outsourcing PDPs.
+ */
+public interface COPSPdpOSDataProcess {
+    /**
+     * Gets the policies to be uninstalled
+     * @param man   The associated request state manager
+     * @return A <tt>Vector</tt> holding the policies to be uninstalled
+     */
+    public Vector getRemovePolicy(COPSPdpOSReqStateMan man);
+    /**
+     * Gets the policies to be installed
+     * @param man   The associated request state manager
+     * @return A <tt>Vector</tt> holding the policies to be uninstalled
+     */
+    public Vector getInstallPolicy(COPSPdpOSReqStateMan 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
+     */
+    public void setClientData(COPSPdpOSReqStateMan man, COPSClientSI... reqSIs);
+    /**
+     * Builds a failure report
+     * @param man   The associated request state manager
+     * @param reportSIs Report data
+     */
+    public void failReport (COPSPdpOSReqStateMan man, COPSClientSI... reportSIs);
+    /**
+     * Builds a success report
+     * @param man   The associated request state manager
+     * @param reportSIs Report data
+     */
+    public void successReport (COPSPdpOSReqStateMan man, COPSClientSI... reportSIs);
+    /**
+     * Builds an accounting report
+     * @param man   The associated request state manager
+     * @param reportSIs Report data
+     */
+    public void acctReport (COPSPdpOSReqStateMan man, COPSClientSI... reportSIs);
+    /**
+     * Notifies that no accounting report has been received
+     * @param man   The associated request state manager
+     */
+    abstract void notifyNoAcctReport (COPSPdpOSReqStateMan man);
+
+    /**
+     * Notifies a keep-alive timeout
+     * @param man   The associated request state manager
+     */
+    abstract void notifyNoKAliveReceived (COPSPdpOSReqStateMan man);
+
+    /**
+      * Notifies that the connection has been closed
+      * @param man  The associated request state manager
+      * @param error Reason
+      */
+    abstract void notifyClosedConnection (COPSPdpOSReqStateMan man, COPSError error);
+
+    /**
+     * Notifies that a request state has been deleted
+     * @param man   The associated request state manager
+     */
+    abstract void notifyDeleteRequestState (COPSPdpOSReqStateMan man);
+
+    /**
+     * Notifies that a request state has been closed
+     * @param man   The associated request state manager
+     */
+    abstract void closeRequestState(COPSPdpOSReqStateMan man);
+
+}