Merge "The second patch of an estimated 4 to complete the COPS message refactoring...
[packetcable.git] / packetcable-driver / src / main / java / org / umu / cops / prpep / COPSPepDataProcess.java
1 /*
2  * Copyright (c) 2004 University of Murcia.  All rights reserved.
3  * --------------------------------------------------------------
4  * For more information, please see <http://www.umu.euro6ix.org/>.
5  */
6
7 package org.umu.cops.prpep;
8
9 import java.util.Hashtable;
10
11 import org.umu.cops.stack.COPSError;
12
13 /**
14  * COPSPepDataProcess process policy data and events.
15  *
16  * @version COPSPepDataProcess.java, v 2.00 2004
17  *
18  */
19 public abstract class COPSPepDataProcess {
20
21     /**
22      * Establish PDP decisions
23      *
24      * @param removeDecs
25      * @param installDecs
26      * @param errorDecs
27      */
28
29         public abstract void setDecisions(COPSPepReqStateMan man, Hashtable removeDecs, Hashtable installDecs, Hashtable errorDecs);
30
31     /**
32      *  If the report is fail, return true
33      *
34      * @return
35      */
36     public abstract boolean isFailReport(COPSPepReqStateMan man);
37
38     /**
39      * Return Report Data
40      *
41      * @return
42      */
43     public abstract Hashtable getReportData(COPSPepReqStateMan man);
44
45     /**
46      * Return Client Data
47      *
48      * @return
49      */
50     public abstract Hashtable getClientData(COPSPepReqStateMan man);
51
52     /**
53      * Return Accouting Data
54      *
55      * @return
56      */
57     public abstract Hashtable getAcctData(COPSPepReqStateMan man);
58
59     /**
60      * Notify the connection closed
61      *
62      * @param error
63      */
64     public abstract void notifyClosedConnection (COPSPepReqStateMan man, COPSError error);
65
66     /**
67      * Notify the KAlive timeout
68      */
69     public abstract void notifyNoKAliveReceived (COPSPepReqStateMan man);
70
71     /**
72      * Process a PDP request to close a Request State
73      *
74      * @param man       Request State Manager
75      */
76     public abstract void closeRequestState(COPSPepReqStateMan man);
77
78     /**
79      * Process a PDP request to open a new Request State
80      *
81      * @param man
82      */
83     public abstract void newRequestState(COPSPepReqStateMan man);
84 }
85